天天看点

小linux的制作

   先创建一个sdb磁盘。创建二个分区 # echo '

> n

>p

>1与2

>

>+512M

>w ' | fdisk /dev/sdb &> /dev/null

1、先格式化 /dev/sdb1 与 /dev/sdb2

使用mke2fs 命令;

2、挂载;mount  /dev/sdb1 /mnt/boot /、

               mount  /dev/sdb2  /mnt/sysroot/

3、安装grub; grub-install   --root-direatory=/mnt   /dev/sdb

4、复制内核; cp /boot/vmlinuz-2.6.18-164.el5  ./vmlinuz

5、initrd ; mkdir  akon   创建新目录

       zcat  /boot/initrd-2.6.18-164.el5.img | cpio -id

然后在vim init 中找到  mkrootdev -t ext3 -o default  把最后改成 /dev/sda2

在封装;find  .  | cpio -o -H newc --quit  | gzip -9 > /mnt/boot/initrd.gz

6、 创建sysroot文件系统; mkdir var home proc sys dev srv mnt media tmp usr opt misc...

7、复制文件; 写个脚本vim.wc.sh

#!/bin/bash

#

function BCP {

 TARGET=/mnt/sysroot

 COMMAND=`which $1 | grep -o "/.*"`

CMDPATH=${COMMAND%/*}

 [ -d $TARGET$CMDPATH ] || mkdir -p $TARGET$CMDPATH

 [ -e $TARGET$COMMAND ] || cp $COMMAND $TARGET$CMDPATH

for LIBFILE in `ldd $COMMAND | grep -o "/.*lib[^[:space:]]*"`; do

LIBPATH=${LIBFILE%/*}

[ -d $TARGET$LIBPATH ] || mkdir -p $TARGET$LIBPATH

[

sys dev srv mnt media tmp usr opt misc

e $TARGET$LIBFILE ] || cp $LIBFILE $TARGET$LIBPATH

done

}

 while true;do

read -p "A Command:" MYCMD

case $MYCMD in

q|Q)

echo "quit.."

exit 0

;;

*)

! which $MYCMD &> /dev/null && echo "Wrong command.." && continue

BCP $MYCMD

esac

然后执行脚本、输入 ls 、hostname、init、bash、sync、mount、vim、insmod、rmmod、ifconfig、ping、halt

8、编辑配置文件;cd  /mnt/boot  切换至目录

    vim grub/grub.conf

 default=0

timeout=5

tile linux

root(hd0,0)

kernel/vmlinuz ro root=/dev/sda2

initrd /initrd.gz

9、切换至 、cd  /mnt/sysroot    需要rc.sysinit 脚本

 切换 cd   /etc  下 编写 vim  initab

id:3:initdefault:

si::sysinit:etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc.sysdone

 vim etc/rc.d/rc.sysinit

#! /bin/bash

echo -e "\tWelcome to linux"

/bin/bash

未完待续。。。。

继续阅读