<二>系统硬盘借宿
(1)首先新添加一块硬盘,这里硬盘的存储格式为2.vmdk(这里我们找个容易发现的位置)
(2)对新硬盘进行问分区,格式化,并实现挂载
[root@localhost ~]# fdisk /dev/sdb
这里我们设置分俩区 /dev/sdb1 100M /dev/sdb2 200M大小可以添,我们设置的够用就行了
然后执行 partprobe
/dev/sdb 让内核重新读sdb的分区表
接着对分区格式化[root@localhost ~]# mkfs -t ext3 /dev/sdb1
[root@localhost ~]# mkfs -t ext3 /dev/sdb2
下面建立挂载点。我们习惯挂载/mnt目录先 先在/mnt/目录下建立/boot与/sysroot俩文件
其中sdb1 挂在 /mnt/boot 下
sdb2 挂在/mnt/sysroot下
mount /dev/sdb1
/mnt/boot/ mount /dev/sdb2 /mnt/sysroot/
[root@localhost ~]# mount
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/hdc on /media/RHEL_5.5 i386 DVD type iso9660 (ro,noexec,nosuid,nodev,uid=0)
/dev/sdb1 on /mnt/boot type ext3 (rw)
/dev/sdb2 on /mnt/sysroot type ext3 (rw)
(3)在第一个分区上产生mbr
[root@localhost ~]# grub-install --root-directory=/mnt /dev/sdb
(4)把内核拷到/mnt/boot/目录下
[root@localhost ~]# cp /boot/vmlinuz-2.6.18-194.el5 /mnt/boot/
注:此时如果是用逻辑卷直接安装的则需进行如下设置:
1. mkdir /tmp/initrd
cd /tmp/initrd
2.zcat /boot/vmlinuz-2.6.18-194.el5 /cpio -id 拆开内核包
3.vim init 在大概88或者89行 改为:
mkrootdev -t ext3 -o defaults,ro sda2
所有的工作都是为了上一步
所以我们在安装的尽量不要偷懒哦,省的后面带来更多的工作
4.下面我们重新打包 在/tmp/initrd目录下执行
find . |cpio --quiet -H newc –o |gzip -9 –n >/mnt/boot/initrd.gz
注意喽 find 后面有一个“
.”表示所有的 后面我参数什么意思百度一下就知道了 嘿嘿
(5)我们要把init与bash以及ls的链接库拷到硬盘里面
查看链接库路径: ldd `which *`
[root@localhost ~]# ldd `which init`
linux-gate.so.1 => (0x00d52000)
libsepol.so.1 => /lib/libsepol.so.1 (0x00110000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00eb1000)
libc.so.6 => /lib/libc.so.6 (0x007a4000)
libdl.so.2 => /lib/libdl.so.2 (0x00156000)
/lib/ld-linux.so.2 (0x00536000)
[root@localhost ~]# ldd `which bash`
linux-gate.so.1 => (0x00e57000)
libtermcap.so.2 => /lib/libtermcap.so.2 (0x003ca000)
libdl.so.2 => /lib/libdl.so.2 (0x00394000)
libc.so.6 => /lib/libc.so.6 (0x009b6000)
/lib/ld-linux.so.2 (0x006c6000)
[root@localhost ~]# ldd `which ls`
linux-gate.so.1 => (0x00a28000)
librt.so.1 => /lib/librt.so.1 (0x00e7c000)
libacl.so.1 => /lib/libacl.so.1 (0x00c50000)
libselinux.so.1 => /lib/libselinux.so.1 (0x0051c000)
libc.so.6 => /lib/libc.so.6 (0x00e8e000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00110000)
/lib/ld-linux.so.2 (0x00391000)
libattr.so.1 => /lib/libattr.so.1 (0x00c16000)
libdl.so.2 => /lib/libdl.so.2 (0x00ce2000)
libsepol.so.1 => /lib/libsepol.so.1 (0x0031e000)
下面开始把列出的所有链接库都拷入/mnt/sysroot/lib/目录下
在/mnt/sysroot/下
mkdir dev home tmp sys proc etc bin sbin lib mnt
1.cp /sbin/init sbin/
cp /bin/bash bin/
2.cp /lib/libsepol.so.1
lib/ 把上面列出的所有文件全部拷入/mnt/sysroot/lib/目录下
3.cp /etc/inittab
etc/ 将inittab 表格拷入
(6)[root@localhost sysroot]# vim /mnt/sysroot/etc/inittab
将文件删除的只剩
id:3:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit
(7)在/mnt/sysroot/etc目录下创建rc.d 再在里面建vim rc.sysinit
在里面#!/bin/bash
echo "hello!!!!!!!"
/bin/bash
[root@localhost rc.d]# chmod a+x rc.sysinit
更改rc.sysinit权限
(8)[root@localhost rc.d]# cd /mnt/boot/grub/
[root@localhost grub]# vim grub.conf
default=0
timeout=8
splashimage=(hd0,0)/grub/1.xpm.gz
title rhel linux 5
root (hd0,0)
kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/sda2
initrd /initrd-2.6.18-194.el5.img
其中1.xpm.gz 是linux内的图片文件
结束后使用sync刷新同步
(9)将图片拷到/mnt/boot/grub/1. xpm.gz
将普通图片转换成.xpm格式的方法为:
convert 源图片 -geometry 640x480 -colors 14 目标文件 .xpm
或者使用gimp工具在图形界面进行转换,其效果可能好些