wiki:freesbiehowtowork

Wiki: FreeSBIE how to work

2006/2/24

制作ISO的脚本

LiveCD运行脚本

freesbie_1st

freesbie_1st搁在 /etc/rc.d 下边,是freesbie第一个运行的脚本

/rescue/ 下边的程序?是静态编译的程序?用ldd查看之后,发觉/bin/下边的ln程序依赖 /lib/libc.so.5,而/rescue/ 下边的程序提示不是一个动态链接的程序。

    • 首先mount_cd9660到/FreeSBIE

for i in /dev/acd* /dev/cd*

    • 要是上边mount失败,则寻找ata硬盘,mount到/FreeSBIE

for i in `ls /dev/da?s?? /dev/ad?s??`

    • 链接目录

      • /rescue/ln -s /FreeSBIE/scripts /scripts

      • /rescue/ln -s /FreeSBIE/boot /boot

      • /rescue/ln -s /FreeSBIE/libexec /libexec

      • /rescue/ln -s /FreeSBIE/lib /lib

    • 把压缩文件 /var /usr 等也mount上

      • MD_LOCAL=`mdconfig -a -t vnode -f /FreeSBIE/uzip/usr.uzip`

      • MD_LOCAL=`mdconfig -a -f /FreeSBIE/uzip/var.uzip`

    • 创建内存设备,到 /var

      • MDDEVICE=`/sbin/mdconfig -a -t malloc -o compress -s 16m`

      • /sbin/newfs /dev/${MDDEVICE} > /dev/null 2>&1

      • /sbin/mount -o noatime /dev/${MDDEVICE} /.var >/dev/null 2>&1

      • mtree -PUdr -p /.var < /FreeSBIE/dist/FreeSBIE.var.dirs > /dev/null 2>&1

      • /sbin/mount_unionfs /.var /var >/dev/null 2>&1

.tcshrc

Earth v3的root用户采用的shell是tcsh,所以.tcshrc是root登陆后执行的第一个脚本

configure