制作Linux的U盘(usb)启动盘

2020-01-30 12:08:30于海丽

  # 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



  3.建立boot目录

  将编译好的内核与initrd-2.4.20-usb.img文件拷贝到boot目录、编译好的模块拷贝到lib/modules目录,以及将/boot/grub的文件拷贝到boot目录,编辑boot/grub/menu.lst文件,内容如下:


  timeout 10
  color 0x17 0x70
  default 0
  title Windows 98
  rootnoverify (hd0,0)
  makeactive
  chainloader +1
  title GNU/Linux Redhat 8.0 (2.4.20-usb)
root (hd0,1)
  kernel /boot/vmlinuz-2.4.20-usb ro root=/dev/sda2
  initrd /boot/initrd-2.4.20-usb.img



  安装grub,具体操作如下:


  grub> root (hd1,1)
  grub> setup (hd1)




  4.建立bin目录

  根据自工作的需要拷贝系统维护工具,如insmod、fsck和mkdosfs等实用程序。一定要注意使用ldd命令检查那些共享库文件,这些文件需要按照原来的路径拷贝到lib目录。 由于受到磁盘空间的限制,使用busybox命令代替一些常见的Linux命令,主要原因就是busybox 文件非常小,并且是静态链接的,包括许多常见的Linux命令(如cat、init、ifconig、route)用ln -s busybox建立这些文件的符号联接。可以根据个人需要重新编译busybox,包括vi等命令,也可以使用小巧的e3代替vi。

  另外,如果使用bash,还必须编辑与裁减/etc/termcap及如下文件:


  /bin/bash
  /etc/termcap
  /usr/share/terminfo/l/linux
  /usr/share/terminfo/k/klone+acs
  /usr/share/terminfo/k/klone+color