不支持Flash

经典技巧:制作Linux操作系统闪存启动盘

http://www.sina.com.cn 2008年03月17日 08:49  赛迪网

  作者:sixth

在U盘上建立Linux启动盘,对于系统维护人员具有更加实用的意义,你可以使用Linux建立小巧的内核,建立网络环境,快速地判断和排除网络故障与传送文件。

下载相关软件:e3,bvi,Liuux内核。

一、编译内核

首先计算机的主板必须要支持USB硬盘的启动方式,并且所使用的优盘是启动型优盘。

以Linux-2.4.20为例说明。编译时一定要注意不要编译不必要的模块,如声卡驱动等驱动模块,使编译的内核尽可能小一些。由于要支持优盘启动,必须将SCSI设备、usbcore、usb-storage、Loopback device support、RAM disk support和initrd等编译到内核中。

许多人会问,usb-storage模块已经包括在内核了为什么还要建立initrd.img文件?这是由于优盘的初始化过程比执行/sbin/init慢,导致内核已经启动完成了,优盘还没有完成初始化工作,因此根文件系统没有加载,这时执行/sbin/init命令肯定不成功。通过建立initrd.img文件,在启动内核时加载initrd.img文件到内存中,等待3秒使优盘完成初始化工作,再执行/sbin/init指令。具体操作步骤如下。

1.建立initrd.img文件

# mkdir -p /mnt/initrd  
# cd /tmp  
# mkinitrd /tmp/initrd.gz 2.4.20-usb

2.解压initrd.img文件,修改启动脚本linuxrc

# gunzip initrd.gz
# mount -o loop /tmp/initrd /mnt/initrd
# cp /sbin/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/initrdusb
# cd /tmp
# dd if =/dev/zero of= /tmp/initrdusb bs=1M count=1
# mke2fs -m 0 initrdusb 
# mount -o loop /tmp/initrdusb /mnt/initrdusb 
# cp -a /mnt/initrd/* /mnt/initrdusb  
# umount /mnt/initrd 
# umount /mnt/initrdusb 
# cd /tmp  
# gzip -9 initrdusb  
# cp initrdusb.gz /boot/initrd-2.4.20-usb.img

4.测试编译的内核是否正常启动

测试编译的内核是否正常启动,以及在启动过程中是否可看见优盘的相关信息。

 [1] [2] [3] [下一页]

本文导航:
·编译内核
·建立闪存启动盘
·应用举例

发表评论 _COUNT_条
Powered By Google
·《对话城市》直播中国 ·新浪特许频道免责公告 ·诚招合作伙伴 ·企业邮箱畅通无阻
不支持Flash