怎样制作LINUX启动U盘分类:电脑/网络操作系统/系统故障
问题描述:
我有一个U盘,256M的,如和制作一个LINUX启动U盘??
解析:
U盘做Linux的启动盘
摘要
本文描述了如何在USB存储设备上建立Linux启动系统的过程 。
首先让我们先了解一下LINUX下USB设备, Linux USB 驱动程序有三种不同的 USB 主控制器选项,这是因为在主板和 PCI 卡上有三种不同类型的 USB 芯片 。"EHCI"驱动程序设计成为实现新的高速 USB 2.0 协议的芯片提供支持 。"OHCI"驱动程序用来为非 PC 系统上的(以及带有 SiS 和 ALi 芯片组的 PC 主板上的)USB 芯片提供支持 。"UHCI"驱动程序用来为大多数其它 PC 主板(包括 Intel 和 Via)上的 USB 实现提供支持 。只需选择与希望启用的 USB 支持的类型对应的"?HCI"驱动程序即可 。
启用了"USB support"和适当的"?HCI"USB 主控制器驱动程序后,使 USB 启动并运行只需再进行几个步骤 。应该启用"Preliminary USB device filesystem",SCSI计算机标准接口,因为通常我们的USB存储设备,模拟为SCSI硬盘而进行访问
一、关于内核
u *** -storage模块包括在内核但是由于U盘的初始化过程比执行/ *** in/init慢,导致内核已经启动完成了,优盘还没有完成初始化工作,因此根文件系统没有加载 , 这时执行/ *** in/init命令肯定不成功 。所以要对系统内核初始化代码作修改如下:
/init/do_mounts.c
……
* Allow the user to distinguish beeen failed open
* and bad superblock on root device.
*/
- printk ("VFS: Cannot open root device "%s" or %s",
+ printk ("VFS: Cannot open root device "%s" or %s,
retrying in 1 second.", root_device_name, kdevname (ROOT_DEV));
- printk ("Please append a correct "root=" boot option");
- panic("VFS: Unable to mount root fs on %s",
- kdevname(ROOT_DEV));
+ printk ("You may need to append a correct "root=" boot option");
+ printk ("or wait for the root device to bee ready.");
+
+ /* wait 1 second and try again,
+ * allowing time for hubs/devices to bee ready */
+ set_current_state(TASK_INTERRUPTIBLE);
+ schedule_timeout(HZ);
+ goto retry;
}
panic("VFS: Unable to mount root fs on %s", kdevname(ROOT_DEV));
out:
……
按照需要重新编译内核 。
您也可以在启动内核时加载initrd.img文件到内存中,等待3秒使优盘完成初始化工作,再执行/ *** in/init指令 。
1、建立initrd.img文件
# mkdir -p /mnt/initrd
# cd /tmp
# mkinitrd /tmp/initrd.gz 2.4.20-u ***
2、解压initrd.img文件,修改启动脚本linuxrc
# gunzip initrd.gz
# mount -o loop /tmp/initrd /mnt/initrd
# cp / *** in/busybox /mnt/initrd/bin
# cd /mnt/initrd/bin
# ln -s busybox sleep
# vi /mnt/initrd/linuxrc
加入如下内容:
echo wait 3 seconds.....
/bin/sleep 3
3、重新生成initrd.img文件
由于缺省建立的initrd文件比较大(为4MB),为了加快优盘的启动,必须减小它 。具体操作如下:
# mkdir -p /mnt/initrdu ***
# cd /tmp
# dd if =/dev/zero of= /tmp/initrdu *** bs=1M count=1
# mke2fs -m 0 initrdu ***
# mount -o loop /tmp/initrdu *** /mnt/initrdu ***
# cp -a /mnt/initrd/* /mnt/initrdu ***
# umount /mnt/initrd
# umount /mnt/initrdu ***
# cd /tmp
# gzip -9 initrdu ***
# cp initrdu *** .gz /boot/initrd-2.4.20-u *** .img
二、建立优盘启动配置与目录结构
(/dev, /proc, /bin, /etc, /lib, /usr, /tmp, /var)
1、将优盘分成两个分区
留给Linux分区容量大小完全取决于安装哪些系统维护工具,结果如下:
# fdisk -l /dev/sda
Disk /dev/sda: 16 heads, 63 sectors, 126 cylinders
推荐阅读
- 模仿游戏动作违法吗,模仿其他游戏功能算不算侵权
- 包含海底捞微信公众号运营模式的词条
- 怎么把苹果电脑格式化,怎样将苹果电脑格式化
- 虚拟主机ftp密码,ftp虚拟主机建站步骤
- php连接数据库三种方式 php连接数据库的函数
- redis设置过期时间函数,redis设置过期时间
- 射击游戏延长射击按键,射击游戏设置
- mysql怎么查询表中的空值,mysql如何查询空值
- 小程序商城创建失败,如何创建自己的小程序商城