你好,游客 登录 注册 搜索
背景:
阅读新闻

bash自动化 定制Linux属于自己的CentOS 系统

[日期:2014-03-30] 来源:Linux社区  作者:zhangxiaocen [字体: ]

bash自动化 定制Linux属于自己的CentOS 系统,直接上图

1、首先在宿主机创建目录,/mnt/boot /mnt/sysroot,格式化磁盘将其挂载

bash自动化 定制Linux属于自己的CentOS 系统

1、相对应的函数:

mkdevice () {

    dd if=/dev/zero of=$1 bs=512 count=1 &> /dev/null

    [ $? -ne 0 ] && return 67

    echo '

        n

        p

        1

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

        +500M

        n

        p

        2

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

        +9G

        w' | fdisk $1 &> /dev/null

    [ $? -ne 0 ] && return 68

    sync

    sleep 2

    mkfs.ext4 ${1}1 &> /dev/null

    PAPT1=$?

    mkfs.ext4 ${1}2 &> /dev/null

    PAPT2=$?

    [ $PAPT1 -ne 0 -o $PAPT2 -ne 0 ] && return 69

}

 

 


umountall () {

    for PAPT in `fdisk -l $1 | grep -o "${1}[0-9]\{1,\}"`; do

        fuser -km $PAPT &> /dev/null

        umount $PAPT &> /dev/null

    done

}

 


mountall () {

    [ -d $BOOT ] || mkdir -p $BOOT

    [ -d $SYSROOT ] || mkdir -p $SYSROOT

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         

    mount  ${1}1 $BOOT

    mount  ${1}2 $SYSROOT

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         

}


2、安装grub程序,我们这里是安装到/mnt/boot

bash自动化 定制Linux属于自己的CentOS 系统

2、相对应的函数:

instgrub () {

    GRUBROOT=`dirname $BOOT`

    grub-install --root-directory=$GRUBROOT $1

}


3、创建系统所需的目录

bash自动化 定制Linux属于自己的CentOS 系统

3与其对应的函数

mkrootfs () {

mkdir -p $SYSROOT/{proc,boot,sys,dev,tmp,lib,lib64,bin,sbin,root,home,opt,mnt,media,misc} &> /dev/null

mkdir -p $SYSROOT/usr{share/{man,doc},bin,sbin,local,src,lib,lib64} &> /dev/null

mkdir -p $SYSROOT/var/{log,run,lock,spool,tmp} &> /dev/null

mkdir -p $SYSROOT/lib/{modules,module} &> /dev/null

mkdir -p $SYSROOT/lib64/{modues,module} &> /dev/null

cp /lib/modules/2.6.32-431.el6.x86_64/kernel/drivers/net/e1000/e1000.ko  $SYSROOT/lib/modules/

cp  /boot/vmlinuz-2.6.32-431.el6.x86_64  $BOOT/vmlinuz

cp /boot/initramfs-2.6.32-431.el6.x86_64.img $BOOT/initramfs.img

echo -e  "default=0 \ntimeout=5 \ntitle MyCentos root (hd0,0) \nkernel /vmlinuz ro  root=/dev/sda2 quiet selinux=0 init=/sbin/init

initrd /initramfs.img " > $BOOT/grub/grub.conf

touch $SYSROOT/sbin/init && cat /root/init > $SYSROOT/sbin/init && chmod +x $SYSROOT/sbin/init

}


4复制kernel 到目标主机

4、与其对应的函数

mkrootfs () {

mkdir -p $SYSROOT/{proc,boot,sys,dev,tmp,lib,lib64,bin,sbin,root,home,opt,mnt,media,misc} &> /dev/null

mkdir -p $SYSROOT/usr{share/{man,doc},bin,sbin,local,src,lib,lib64} &> /dev/null

mkdir -p $SYSROOT/var/{log,run,lock,spool,tmp} &> /dev/null

mkdir -p $SYSROOT/lib/{modules,module} &> /dev/null

mkdir -p $SYSROOT/lib64/{modues,module} &> /dev/null

cp /lib/modules/2.6.32-431.el6.x86_64/kernel/drivers/net/e1000/e1000.ko  $SYSROOT/lib/modules/

cp  /boot/vmlinuz-2.6.32-431.el6.x86_64  $BOOT/vmlinuz

cp /boot/initramfs-2.6.32-431.el6.x86_64.img $BOOT/initramfs.img

echo -e  "default=0 \ntimeout=5 \ntitle MyCentos root (hd0,0) \nkernel /vmlinuz ro  root=/dev/sda2 quiet selinux=0 init=/sbin/init

initrd /initramfs.img " > $BOOT/grub/grub.conf

touch $SYSROOT/sbin/init && cat /root/init > $SYSROOT/sbin/init && chmod +x $SYSROOT/sbin/init

}

linux
相关资讯       定制Linux  定制CentOS 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款