RHEL 光盘镜像下载地址:

内核下载地址:

其他零部件地址另附

 

 

   注意 : 下面有些长命令要直接拷贝到终端运行的话注意核对,以免命令错误。

 

 

准备:安装 develop 环境(用 yum grouplinst ),加一块新硬盘,分区,格式化,挂载如下;

mount /dev/hda1 /mnt/boot/

mount /den/hda1 /mnt/sysroot/

此作为新的 Linux 的生产目录。

 

把内核拷贝到 /usr/src , 解压 tar –jxf linux-2.6. …… .tar.bz2 ( 若后缀是 tar.gz, 则命令为 tar –zxf linux2.6 …… .tar.gz) ,再创建软连接 linux:------ à

ln –sv linux-2.6.34.1 linux

 

cd linux    进行 make    , 为减少麻烦可以把 准备好的 kernel-kernel-2.6.20-i486.cfg 拷贝到 linux 目录下,命令为

 

cp …… /usr/src/linux/      此时要处在 linux 目录下,然后再 make menuconfig , 在这个的基础上编辑内核。

 

make SUBDIR=arch   表示只编译内核相关的目录。

 

把编译好的内核复制到 /mnt/boot/

cp arch/x86/boot/bzImage /mnt/boot/      ( 把内核放到 boot 里,启动时用 )

 

然后改轮到 busybox 了。

cd ..  回到上一目录,即 src, busybox 放到这里,解压(方法同解压内核一样),然后 cd busybox-1.16.1   ( 进入到 busybox ) 然后 make menuconfig

 

选中 Busybox Settings –> Build Options –> Build Busybox as a static binary

(按空格键,出现 * 就是选中)

  Busybox Settings –>Installation Options - à /_install) BusyBox installation prefix

回车,把里面的默认路径 ./_install  改成   /mnt/sysroot  . 这就行了,退出、保存。然后 make make install (也可以单独 make install . 生成的文件就自动放到新硬盘上了。( make 是把带 M 的也编上了, 单独   make install 仅把带 * 的编上 , 不编带 M 的)

 

# cd /mnt/sysroot

# mv linuxrc init

# mkdir proc sys etc/init.d var/log dev tmp –pv   ( 创建系统文件夹 )

# vim etc/init.d/rcS     (系统初始化脚本)

写入内容如下:

#!/bin/sh

echo -e "            Welcome to  \033[31m^-^ Linux ^-^\033[0m            "

 

echo -e "Mounting the filesystem .................[  \033[32mOK\033[0m  ]"

mount -t proc proc /proc

mount -t sysfs sysfs /sys

 

#echo -e "Creating the files of device ............[  \033[32mOK\033[0m  ]"

#mdev -s

 

 

#echo -e "Starting the log daemon .................[  \033[32mOK\033[0m  ]"

#syslogd

#klogd

 

echo -e "Configuring loopback interface ..........[  \033[32mOK\033[0m  ]"

ifconfig  lo  127.0.0.1/24

 

echo -e "Configuring eth0 interface ..............[  \033[32mOK\033[0m  ]"

 

#echo -e "Remounting the root filesystem ..........[  \033[32mOK\033[0m  ]"

#mount  -o  remount,rw  /

 

结束。前面带 # 的是暂时不用的。

 

 

# chmod +x etc/init.d/rcS      (加入执行权限)

 

#vim etc/inittab               init 进程启动的时候必读的文件,以此定义后面做什么)

写入内容如下:

::sysinit:/etc/init.d/rcS      (引导载入 init.d/rcS 脚本,初始化系统)

console::respawn:-/bin/sh   (启动控制台,打印控制符,让人能执行命令)

::ctrlaltdel:/sbin/reboot

::shutdown:/bin/umount -a –r

 

结束。注意,复制上面的命令到终端时时不要把括号中的文字一同复制了。  

 

 

#grub-install --root-directory=/mnt /dev/hda   ( 创建 grub)

#ls /mnt/boot    应该显示有 grub

 

#vim ../boot/grub/grub.conf        ( 创建 grub 配置文件 )

写入内容如下:

default      0

timeout     3

coler     light-green/black light-magenta/black

title      Oranix (2.6.34.1-^0^Linux^0^)

          root (hd0,0)

          kernel /bzImage ro root=/dev/ram0 quiet

          initrd /initrd.gz

 

结束。

#find . | cpio --quiet –H newc –o | gzip -9 > ../boot/initrd.gz

( 查找   当前目录下所有文件    归档    静默模式   编码模式   通过 gzip 压缩比为 9 输出到 /boot/initrd.gz   . 简单的说把当前目录( /mnt/sysroot )打包起来 做成 initrd.gz )

 

#sync     ( 同步一下 )

 


结束了。