linux命令u盘启动 linux u盘启动器( 三 )


由于缺省建立的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
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参数 。最好还是利用U盘相应工具建立.
2、建立与生成ext2分区
# mke2fs -m 0 /dev/sda2
# mkdir -p /mnt/sda2
# mount /dev/sda2 /mnt/sda2
# cd /mnt/sda2
3、建立boot目录
将编译好的内核与initrd.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-u *** )
root (hd0,1)
kernel /boot/bzImage ro root=/dev/sda2
initrd /boot/ initrd.img 如果没有initrd.img,这句就不要了
安装grub,具体操作如下:
grub; root (hd1,1)
grub; setup (hd1)
4、建立bin目录
根据自工作的需要拷贝系统维护工具,如in *** od、fsck和mkdosfs等实用程序 。
对于常用的工具,建议使用tinylogin tinylogin.busybox 或者busybox busybox,它们可以认您节约不省的空间.
另外,如果使用bash,还必须编辑与裁减/etc/termcap及如下文件:
/bin/bash
/etc/termcap
/usr/share/terminfo/l/linux
/usr/share/terminfo/k/klone+acs
/usr/share/terminfo/k/klone+color
/usr/share/terminfo/k/klone+sgr
5、建立dev proc usr *** in目录
使用cp -a命令拷贝常用的设备文件,包括console、tty1、tty2、tty3sda、sda1、sda2、hda、hdb和hda1等设备文件 。如果您的内核使用Devfs, 只要建立这个目录即可.
建立proc usr *** in目录,linux命令u盘启动你了可以ln –s bin *** in建立 *** in的连接.
6、建立lib目录
一定要注意使用ldd命令检查那些共享库文件,这些文件需要按照原来的路径拷贝到lib目录 。
一般应有如下文件:
/lib:
–rwxr–xr–x 1 root root 45415 Nov 1 15:39 ld–2.0.7.so
lrwxrwxrwx 1 root root 11 Nov 1 15:39 ld–linux.so.2 –;
ld–2.0.7.so
–rwxr–xr–x 1 root root 731548 Nov 1 15:39 libc–2.0.7.so
lrwxrwxrwx 1 root root 13 Nov 1 15:39 libc.so.6 –;
libc–2.0.7.so
lrwxrwxrwx 1 root root 17 Nov 1 15:39 lib_err.so.2 –;
lib_err.so.2.0
–rwxr–xr–x 1 root root 6209 Nov 1 15:39 lib_err.so.2.0
–rwxr–xr–x 1 root root 153881 Nov 1 15:39 libcrypt–2.0.7.so
lrwxrwxrwx 1 root root 17 Nov 1 15:39 libcrypt.so.1 –;
libcrypt–2.0.7.so
–rwxr–xr–x 1 root root 12962 Nov 1 15:39 libdl–2.0.7.so
lrwxrwxrwx 1 root root 14 Nov 1 15:39 libdl.so.2 –;
libdl–2.0.7.so
lrwxrwxrwx 1 root root 14 Nov 1 15:39 libpam.so.0 –;
libpam.so.0.64

推荐阅读