微型linux系统的裁剪过程
编辑init程序: 将mkrootdev改为hda2,并且将没有意义的模块注释掉,这里只注释掉与dm有关的模块 删除test/lib/modules下的dm模块,并将test目录下的文件归档压缩至/mnt/boot/initrd.gz 3、安装grub # grub-install --root-directory=/mnt /dev/hda # ls /mnt/boot 查看是否生成grub文件 提供grub.conf主配置文件 default=0 timeout=3 title My Linux (2.6.18) root (hd0,0) kernel /vmlinuz initrd /initrd.gz 三、提供真正的根文件系统 1、创建我们所需要的目录 2、为init进程提供配置文件(在/mnt/sysroot下) etc/inittab id:3:initdefault: si::sysinit:/etc/rc.d/rc.sysinit 提供系统初始化脚本文件 #!/bin/bash # echo -e "Welcome to 33[34mMy 33[0m Linux" /bin/bash
#!/bin/bash # read -t 30 -p "Target System Directory[/mnt/sysroot]: " DEST DEST=${DEST:-/mnt/sysroot} libcp() { LIBPATH=${1%/*} [ ! -d $DEST$LIBPATH ] && mkdir -p $DEST$LIBPATH [ ! -e $DEST${1} ] && cp $1 $DEST$LIBPATH && echo "copy lib $1 finished." } bincp() { CMDPATH=${1%/*} [ ! -d $DEST$CMDPATH ] && mkdir -p $DEST$CMDPATH [ ! -e $DEST${1} ] && cp $1 $DEST$CMDPATH for LIB in `ldd $1 | grep -o "/.*lib(64){0,1}/[^[:space:]]{1,}"`; do libcp $LIB done } read -p "Your command: " CMD until [ $CMD == 'q' ]; do ! which $CMD && echo "Wrong command" && read -p "Input again:" CMD && continue COMMAND=` which $CMD | grep -v "^alias" | grep -o "[^[:space:]]{1,}"` bincp $COMMAND echo "copy $COMMAND finished." read -p "Continue: " CMD done (编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |