bash自動化 定製Linux屬於自己的CentOS 系統

來源:互聯網
上載者:User

bash自動化 定製Linux屬於自己的CentOS 系統,直接

1、首先在宿主機建立目錄,/mnt/boot /mnt/sysroot,格式化磁碟將其掛載

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

2、相對應的函數:

instgrub () {

    GRUBROOT=`dirname $BOOT`

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

}


3、建立系統所需的目錄

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

}

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.