/mnt/sysroot目录下文件准备
创建所需目录
mkdir mkdir bin sbin dev mnt media etc/rc.d/init.d boot root sys proc var/{log,lock/subsys,run,tmp} usr/{bin,sbin,src,local} lib/modules opt home -pv
编辑inittab配置文件
vim /mnt/sysroot/etc/inittab 内容如下:
id:3:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit
编辑rc.sysinit脚本配置文件
vim /mnt/sysrootetc/rc.d/rc.sysinit 内容如下:
#!/bin/bash
#
echo -e "\tMy\033[34mMageTeam\033[0mLinux"
/bin/bash
chmod +x /mnt/sysrootetc/rc.d/rc.sysinit(添加执行权限)
到这里小linux的简单配置就完成了下面我们用脚本复制命令及所依赖的库文件,脚本内容如下:
#!/bin/bash
#
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
启动裁剪的系统复制init bash这两个就能启动,其他的命令可在后用到后再进行添加(例如,touch,vim,chmod,chown,mkdir,rm,mv,cp,cat,mount,umount,ping,ifconfig,insmod,modprobe,rmmod,route,reboot,shutdown,hostname等)虚拟机完成的一定要多多sync哦,这个是很重要滴!!!