免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3848 | 回复: 0
打印 上一主题 下一主题

create x86 and SPARC OpenSolaris boot CD [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-19 15:58 |只看该作者 |倒序浏览

                                                本文对OpenSolaris Text Installer CD做了一些小的修改,修改的过程其实就是定制的过程。
function clear-lofi
{
    typeset lofi lofis
    lofis=$(lofiadm | awk '/\/dev\/lofi/{print $1}')
    for lofi in $lofis; do
        lofiadm -d $lofi
    done
}
function set-kbd-lang
{
    gsed -i -e 's/kbd -s/& US-English/'    \
        -e 's/set_lang/& default/'    \
        $1/lib/svc/method/media-fs-root
}
function create-x86-iso
{
    set -x
    typeset iso_file=/export/home/mishuang/software/iso/text-install-2010-02-15-02:43:11.iso
    typeset iso_new_file=$(dirname $iso_file)/new-$(basename $iso_file)
    typeset iso_mnt_dir=/mnt/osol
    typeset iso_tmp_dir=/var/tmp/osol
    typeset ba_mnt_dir=/mnt/boot_archive
    typeset ba_file=/var/tmp/boot_archive
    typeset CP='/usr/bin/cp -f'
    typeset RM='/usr/bin/rm -rf'
    typeset iso_lofi ba_lofi dir
    umount $iso_mnt_dir
    umount $ba_mnt_dir
    clear-lofi
    $RM $iso_tmp_dir $ba_file
    mkdir -p $iso_mnt_dir $iso_tmp_dir $ba_mnt_dir
    iso_lofi=$(lofiadm -a $iso_file)
    mount -F hsfs $iso_lofi $iso_mnt_dir
    cd $iso_mnt_dir
    find . -depth -print | cpio -pdum $iso_tmp_dir
    cd -
    for dir in "" "amd64"; do
        gzip -cd $iso_tmp_dir/platform/i86pc/$dir/boot_archive > $ba_file
        ba_lofi=$(lofiadm -a $ba_file)
        sleep 5
        mount $ba_lofi $ba_mnt_dir
        $CP /export/home/mishuang/bin/opensolaris.sh $ba_mnt_dir/root
        set-kbd-lang $ba_mnt_dir
        sleep 5
        umount $ba_mnt_dir
        gzip -c $ba_file > $iso_tmp_dir/platform/i86pc/$dir/boot_archive
        sleep 5
        lofiadm -d $ba_lofi
    done
    mkisofs -o $iso_new_file        \
        -b boot/grub/stage2_eltorito    \
        -c .catalog            \
        -no-emul-boot            \
        -boot-load-size 4        \
        -boot-info-table        \
        -N -l -R -U -allow-multidot    \
        -no-iso-translate        \
        -cache-inodes -d -D        \
        -V "OpenSolaris"        \
        $iso_tmp_dir
    umount $iso_mnt_dir
    lofiadm -d $iso_lofi
    $RM $iso_tmp_dir $ba_file
    set +x
}
function create-sparc-iso
{
        set -x
        typeset iso_file=/ldom/iso/text-install-2010-02-07-22:29:13.iso
        typeset iso_new_file=$(dirname $iso_file)/new-$(basename $iso_file)
        typeset iso_mnt_dir=/mnt/osol
        typeset iso_tmp_dir=/var/tmp/osol
        typeset ba_mnt_dir=/mnt/boot_archive
        typeset ba_file=/var/tmp/boot_archive
        typeset CP='/usr/bin/cp -f'
        typeset RM='/usr/bin/rm -rf'
        typeset iso_lofi ba_lofi
        umount $iso_mnt_dir
        umount $ba_mnt_dir
        clear-lofi
        $RM $iso_tmp_dir $ba_file
        mkdir -p $iso_mnt_dir $iso_tmp_dir $ba_mnt_dir
        iso_lofi=$(lofiadm -a $iso_file)
        mount -F hsfs $iso_lofi $iso_mnt_dir
        cd $iso_mnt_dir
        find . -depth -print | cpio -pdum $iso_tmp_dir
        cd -
        $CP $iso_tmp_dir/platform/sun4u/$dir/boot_archive $ba_file
        ba_lofi=$(lofiadm -a $ba_file)
        sleep 5
        mount $ba_lofi $ba_mnt_dir
        $CP /export/home/mishuang/bin/opensolaris.sh $ba_mnt_dir/root
        set-kbd-lang $ba_mnt_dir
        sleep 5
        umount $ba_mnt_dir
        sleep 5
        lofiadm -d $ba_lofi
        $CP $ba_file $iso_tmp_dir/platform/sun4u/boot_archive
        /usr/bin/mkisofs -N -D -R -d -l -J              \
                -G $iso_tmp_dir/boot/hsfs.bootblock     \
                -B ...                                  \
                -graft-points                           \
                -relaxed-filenames                      \
                -V "OpenSolaris"                        \
                -o $iso_new_file                        \
                $iso_tmp_dir
        umount $iso_mnt_dir
        lofiadm -d $iso_lofi
        set +x
}
/export/home/mishuang/bin/opensolaris.sh文件内容如下:
#!/bin/bash
NIC=${1:-e1000g0}
IP=${2:-10.13.26.129}
function enable-rsh
{
    echo "+ +" > /root/.rhosts
    svcadm enable login
    gsed -i '/CONSOLE/d' /etc/default/login
}
function enable-nic
{
    svcadm disable nwam
    svcadm enable physical:default
    ifconfig $NIC $IP/24 up
    sleep 2
}
function enable-nis
{
    echo "10.13.32.48 bounty" >> /etc/hosts
    domainname opg.PRC.Sun.COM
    /bin/cp -f /etc/nsswitch.nis /etc/nsswitch.conf
    ypinit -c << EOF
bounty
y
EOF
    /usr/lib/netsvc/yp/ypstart
    svcadm enable nis/client
    svcadm enable autofs
}
enable-rsh
enable-nic
enable-nis
export TET_ROOT=/net/springboat/opt/SUNWstc-tetlite
export CTI_ROOT=$TET_ROOT/contrib/ctitools
export PATH=$PATH:$CTI_ROOT/bin
export TET_SUITE_ROOT=/net/springboat/export/home/sm207740/textui-ws/usr/closed/suites/install
参考资料:
http://blogs.sun.com/naveen/entry/how_to_change_grub_login
http://blogs.sun.com/jcecere/entry/creating_a_customized_boot_dvd
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/23177/showart_2182517.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP