科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道经典技巧:制作Linux操作系统闪存启动盘

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

作者:sixth 来源:赛迪网 2008年6月16日

关键字: Linux 命令行 技巧

  • 评论
  • 分享微博
  • 分享邮件

在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.将优盘分成两个分区

留给Linux分区容量大小完全取决于安装哪些系统维护工具,结果如下:

  # modprobe usb-storage  
  # fdisk -l /dev/sda  
  Disk /dev/sda: 16 heads, 63 sectors, 126 cylinders  
  Units = cylinders of 1008 * 512 bytes  
  Device Boot Start End Blocks Id System  
  /dev/sda1 1 102 51376+ 6 FAT16  
  /dev/sda2 103 126 12096 83 Linux

注意:如果需要使用优盘引导Windows 98,扇区大小必须设置为63个扇区,可以通过fdisk的x命令扩展修改heads、sectors和cylinders参数。

2.建立与生成ext2分区

  # mke2fs -m 0 /dev/sda2  
  # mkdir -p /mnt/sda2  
  # mount /dev/sda2 /mnt/sda2  
  # cd /mnt/sda2

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章