Linux系统裁剪
在虚拟机上完成的1,新增虚拟磁盘,对磁盘分区格式化,并挂载 fdisk /dev/sddmkfs.ext4 /dev/sdd1mkfs.ext4 /dev/sdd2mkdir /mnt/{boot,sysroot}mount /dev/sdd1 /mnt/bootmount /dev/sdd2 /mnt/sysroot2,创建根文件系统,移植需要的命令,函数库,内核模块
cd /mnt/sysrootmkdir -pv etc boot usr/{bin,lib,lib64} lib/modules lib64 proc sys bin sbin var dev移植命令脚本,移植命令就要移植相应的函数库
#!/bin/bash
while true;doread -p "Enter a command: " comm[ $comm == quit ]&&exitcommd=`which --skip-alias $comm`dircommd=`dirname $commd`if ! [ -e /mnt/sysroot$dircommd ];then mkdir -p /mnt/sysroot$dircommd cp $commd /mnt/sysroot$dircommd else cp $commd /mnt/sysroot$dircommdfifor i in `ldd $commd|egrep -o "/[^[:space:]]+"`;do if ! [ -e /mnt/sysroot`dirname $i` ];then mkdir -p /mnt/sysroot`dirname $i` cp $i /mnt/sysroot`dirname $i` else cp $i /mnt/sysroot`dirname $i` fidonedone~ 移植需要的内核模块 cp /lib/modules/2.6.32-431.el6.x86_64/kernel/drivers/net/e1000/e1000.ko /mnt/sysroot/lib/modules/3,安装grub
grub-install --root-directory=/mnt/ /dev/sdd4,准备内核和initrd文件
cp /boot/vmlinuz-2.6.32-431.el6.x86_64 /mnt/boot/vmlinuzcp /boot/initramfs-2.6.32-431.el6.x86_64.img /mnt/boot/initramfs.img 5,创建grub配置文件 vim /mnt/boot/grub/grub.conf6,创建sbin/init
vim /mnt/sysroot/sbin/initchmod a+x /mnt/sysroot/sbin/init;sync;sync然后把磁盘(/dev/sdd)放到一个新的虚拟机上
然后就可以跑起来了