分类: LINUX
2010-04-29 00:15:19
今天学习了u盘系统的制作,便记录了下来,过程如下:
由于没有u盘,采用系统中的一个分区来带替u盘,但制作步骤是一样的。
制作步骤:文件系统-->目录结构-->grub-->内核(kernel,initrd)-->安装工具-->login(/etc/passwd shadow pam)
1 文件系统
fdisk /dev/sdb mkfs.ext5 /dev/sdb1 mount /dev/sdb1 /mnt
e2label /dev/sdb1 usb
2 创建目录结构
rpm -ivh --root=/mnt setup*.rpm filesystem*.rpm
#--root 指定安装位置
3 安装grub
rpm -ivh --root=/mnt grup*.rpm --nodeps
检查sbin下是否有grub grub-install
4 内核文件
cp /boot/vmlinuz-2.6.-128.el5 /mnt/boot
usb 驱动位置 /lib/modules/2.6.18-\
128.el5/kernel/drivers/usb/storage/usr-storage.ko
创建initrd.img
mkinitrd --with=usb-storage /mnt/boot/initrd-usb.img \
$(uname -r)
u盘 需要修改 cp /boot/grup/device.map /mnt/boot/grub
(hd0) /dev/sdb
创建grub.conf文件
default=0
timeout=3
title usb-linux(2.6.18-128.el5)
root (hd1,0)
kernel /boot/vmlinuz-2.6.18-128.el5 ro root=LABEL=usb
initrd /boot/initrd-usb.img
5 安装工具(yum安装) init mount bash cmp vim (ls mv cp rm mkdir
touch)一个包coreutils
查看init mount rpm包
rpm -qf `which init` rpm -qf `which mount`
rpm -qf `which bash` rpm -qf `which cmp`
yum install --installroot=/mnt SysVinit bash util-linux
coreutils diffutils (共60个包)
6 安装grub loader
若安装在u盘,在安装过程中可能会出现一些错误提示,下边几步可避免报错
创建设备
mknod /dev/sdb b 8 16
mknod /dev/sdb1 b 8 17
复制文件
cp /etc/fstab /mnt/etc/
LABEL=usr / ext3 defaults 1 1
cp /etc/mtab /mnt/etc/
/dev/sdb1 / ext3 rw 0 0 安装grub grub-install /dev/sdb
若在硬盘分区上安装 无需执行 grub-install ,但fstab mtab文件最好有
7 登录 login 安装passwd 拷贝shadow文件并修改
rpm -qf `which passwd`
yum install --installroot=/mnt passwd
sed '/root/,s/*/x/' /mnt/etc/passwd
删除/mnt/etc/shadow 文件中root 密码
8 reboot 设置密码