Diff for /elwix/build_fs.sh between versions 1.1.2.1 and 1.7.2.5

version 1.1.2.1, 2011/07/21 13:05:09 version 1.7.2.5, 2013/07/31 13:50:00
Line 30  if [ "${USER}" != "root" ]; then Line 30  if [ "${USER}" != "root" ]; then
         exit 1          exit 1
 fi  fi
   
clean_fsdir()clean_rel()
 {  {
        echo "+++ Clean ELWIX FS ..."        echo "+++ Clean ELWIX OS release ..."
        rm -rf ${FS}        rm -rf $1 $2
   
        echo "+++ Clean ELWIX FS release ..."        mkdir -p $1
        rm -rf ${REL}/${OS}
         cd ${ROMFS}
         pax -rw -pe -X . $1
         cd -
 }  }
   
build_fsdir()build_vardir()
 {  {
        echo "+++ Build ELWIX FS directory ..."        echo "+++ Build ELWIX altroot directory ..."
        mkdir -p ${FS} 
   
        cd ${FS}        cd $1
 
 # altroot  # altroot
         install -d altroot;          install -d altroot;
         # altroot/var          # altroot/var
Line 54  build_fsdir() Line 55  build_fsdir()
         install -d altroot/var/at;          install -d altroot/var/at;
         install -d altroot/var/at/jobs;          install -d altroot/var/at/jobs;
         install -d altroot/var/at/spool;          install -d altroot/var/at/spool;
        install -d -g authpf -m 0770 altroot/var/authpf;        install -d -g 63 -m 0770 altroot/var/authpf;
         install -d -m 0750 altroot/var/cron;          install -d -m 0750 altroot/var/cron;
         install -d -m 0700 altroot/var/cron/tabs;          install -d -m 0700 altroot/var/cron/tabs;
         install -d altroot/var/db;          install -d altroot/var/db;
         install -d -m 0555 altroot/var/empty;          install -d -m 0555 altroot/var/empty;
         install -d altroot/var/log;          install -d altroot/var/log;
        install -d -o www -g www altroot/var/log/lighttpd;        install -d -o 101 -g 101 altroot/var/log/quagga;
        install -d -o quagga -g quagga altroot/var/log/quagga;        install -d -o 883 -g 883 altroot/var/mqtt;
         install -d altroot/var/named;          install -d altroot/var/named;
         install -d altroot/var/run;          install -d altroot/var/run;
        install -d -o www -g www altroot/var/run/lighttpd;        install -d altroot/var/sys;
        install -d -o bind -g bind altroot/var/run/named;        install -d -o 53 -g 53 altroot/var/run/named;
        install -d -o quagga -g quagga altroot/var/run/quagga;        install -d -o 101 -g 101 altroot/var/run/quagga;
         install -d altroot/var/spool;          install -d altroot/var/spool;
        install -d -o uucp -g dialer -m 0775 altroot/var/spool/lock;        install -d -o 66 -g 68 -m 0775 altroot/var/spool/lock;
        install -d -g daemon altroot/var/spool/lpd;        install -d -g 1 altroot/var/spool/lpd;
        install -d -g daemon altroot/var/spool/output;        install -d -g 1 altroot/var/spool/output;
        install -d -g daemon altroot/var/spool/output/lpd;        install -d -g 1 altroot/var/spool/output/lpd;
# boot 
        install -d boot; 
        install -d boot/defaults; 
        install -d boot/firmware; 
        install -d boot/kernel; 
        install -d boot/modules; 
        install -d boot/zfs; 
# cf 
        install -d cf; 
# etc 
        install -d etc; 
# exports 
        install -d exports; 
# home 
        install -d home; 
# root 
        install -d -m 0700 root; 
# local 
        install -d local; 
# tftpboot 
        install -d tftpboot; 
   
           ln -fs /tmp altroot/var/tmp;
   
         chown -hR root:wheel .          chown -hR root:wheel .
         cd -          cd -
 }  }
   
 mkboot()  mkboot()
 {  {
        echo "+++ Build ELWIX FS boot directory ..."        echo "+++ Build ELWIX OS boot directory ..."
         InstallDir ${WORLD}/boot $1/boot          InstallDir ${WORLD}/boot $1/boot
   
         install -m 644 ${CFGDIR}/boot/boot.config $1;          install -m 644 ${CFGDIR}/boot/boot.config $1;
         install -m 644 ${CFGDIR}/boot/beastie.4th $1/boot;  
   
           install -m 444 ${CFGDIR}/boot/beastie.4th $1/boot;
           install -m 444 ${CFGDIR}/boot/brand.4th $1/boot;
           install -m 444 ${CFGDIR}/boot/menu.4th $1/boot;
   
           install -m 444 ${KERNDEVHINTS} $1/boot/device.hints;
   
         if [ -r ${CFGDIR}/boot/loader_${TARGET_ARCH}.conf ]; then          if [ -r ${CFGDIR}/boot/loader_${TARGET_ARCH}.conf ]; then
                 install -m 644 ${CFGDIR}/boot/loader_${TARGET_ARCH}.conf $1/boot/loader.conf;                  install -m 644 ${CFGDIR}/boot/loader_${TARGET_ARCH}.conf $1/boot/loader.conf;
         else          else
Line 117  mkboot() Line 104  mkboot()
   
 mkvar()  mkvar()
 {  {
        echo "+++ Build ELWIX FS var directory ..."        echo "+++ Build ELWIX OS var directory ..."
        ln -s /tmp $1/altroot/var/tmp        touch $1/altroot/var/run/utmp
   
           touch $1/altroot/var/account/acct
   
         touch $1/altroot/var/log/elwix          touch $1/altroot/var/log/elwix
         touch $1/altroot/var/log/lastlog          touch $1/altroot/var/log/lastlog
         touch $1/altroot/var/log/wifi.log          touch $1/altroot/var/log/wifi.log
        touch $1/altroot/var/log/wtmp        touch $1/altroot/var/log/utx.log
        touch $1/altroot/var/run/utmp 
        touch $1/altroot/var/account/acct 
   
         touch $1/altroot/var/log/auth.log          touch $1/altroot/var/log/auth.log
         touch $1/altroot/var/log/cron          touch $1/altroot/var/log/cron
         touch $1/altroot/var/log/console.log          touch $1/altroot/var/log/console.log
         touch $1/altroot/var/log/debug.log          touch $1/altroot/var/log/debug.log
           touch $1/altroot/var/log/init.log
         touch $1/altroot/var/log/lpd-errs          touch $1/altroot/var/log/lpd-errs
         touch $1/altroot/var/log/maillog          touch $1/altroot/var/log/maillog
         touch $1/altroot/var/log/messages          touch $1/altroot/var/log/messages
Line 146  mkvar() Line 134  mkvar()
   
 create_etc_motd()  create_etc_motd()
 {  {
        ELWIX_VER="ELWIX-${VERSION}_${TARGET_ARCH}";        ELWIX_VER="ELWIX$2-${VERSION}_${TARGET_ARCH}";
         ELWIX_HDR_MOTD="${ELWIX_VER} :: Build date ${BUILD_DATE}";          ELWIX_HDR_MOTD="${ELWIX_VER} :: Build date ${BUILD_DATE}";
   
         awk -v fo="${1:-motd}" 'BEGIN { print "'"${ELWIX_HDR_MOTD}"'" > fo; } { print $0 >> fo; }' \          awk -v fo="${1:-motd}" 'BEGIN { print "'"${ELWIX_HDR_MOTD}"'" > fo; } { print $0 >> fo; }' \
Line 156  create_etc_motd() Line 144  create_etc_motd()
 create_etc_fstab()  create_etc_fstab()
 {  {
         cat >$1 <<_EOF          cat >$1 <<_EOF
# Automatic generated fstab for ELWIX at ${BUILD_DATE}# Automatic generated fstab for ELWIX$2 at ${BUILD_DATE}
 #  #
/dev/ufs/elwix          /elwix        ufs     ro                      0       1/dev/ufs/elwix          /       ufs     ro                      0       1
md3                        /tmp    mfs     rw,-s8m,-oasync,-S      0       0md2                        /tmp    mfs     rw,-s8m,-oasync,-S      0       0
md4                        /var    mfs     rw,-s16m,-S             0       0md3                        /var    mfs     rw,-s16m,-S             0       0
 _EOF  _EOF
 }  }
   
 mketc()  mketc()
 {  {
        echo "+++ Build ELWIX FS etc directory ..."        echo "+++ Build ELWIX OS etc directory ..."
         InstallDir ${FS_ETC} $1/etc          InstallDir ${FS_ETC} $1/etc
   
         chown -R root:wheel $1/etc;          chown -R root:wheel $1/etc;
Line 179  mketc() Line 167  mketc()
         chmod 0600 $1/etc/ssh/ssh_host_dsa_key;          chmod 0600 $1/etc/ssh/ssh_host_dsa_key;
         chmod 0600 $1/etc/ssh/ssh_host_key;          chmod 0600 $1/etc/ssh/ssh_host_key;
         chmod 0600 $1/etc/ssh/ssh_host_rsa_key;          chmod 0600 $1/etc/ssh/ssh_host_rsa_key;
           chmod 0600 $1/etc/ssh/ssh_host_ecdsa_key;
   
         chmod 0440 $1/etc/sudoers;          chmod 0440 $1/etc/sudoers;
   
        chgrp www $1/etc/config.xml;        chgrp 80 $1/etc/config.xml;
         chmod 0660 $1/etc/config.xml;          chmod 0660 $1/etc/config.xml;
   
           mkdir -p $1/etc/mqtt;
           chgrp -R 883 $1/etc/mqtt;
           chown -R 883 $1/etc/mqtt;
   
         ln -sf /etc/rc.s $1/etc/rc.S          ln -sf /etc/rc.s $1/etc/rc.S
   
         ln -sf /usr/share/zoneinfo/${TIMEZONE} $1/etc/localtime;          ln -sf /usr/share/zoneinfo/${TIMEZONE} $1/etc/localtime;
Line 193  mketc() Line 186  mketc()
         ln -sf /var/named/etc/namedb $1/etc/namedb;          ln -sf /var/named/etc/namedb $1/etc/namedb;
         ln -sf /var/run/resolv.conf $1/etc/resolv.conf;          ln -sf /var/run/resolv.conf $1/etc/resolv.conf;
   
           ln -sf /elwix/pkg/etc/mk.conf $1/etc/mk.conf;
   
         echo ${TARGET_ARCH} >$1/etc/platform;          echo ${TARGET_ARCH} >$1/etc/platform;
   
        create_etc_motd $1/etc/motd;        create_etc_motd $1/etc/motd $2;
        create_etc_fstab $1/etc/fstab;        create_etc_fstab $1/etc/fstab $2;
 
         echo "+++ ELWIX clean CVS tags ..."
         CleanCVS $1
         CleanCVS $1/etc
 }  }
   
 mkbackup()  mkbackup()
 {  {
        echo "+++ Build elwix fs backup factory default directory ..."        echo "+++ Build ELWIX OS backup factory default directory ..."
         mkdir -p $1/altroot/backup          mkdir -p $1/altroot/backup
   
         cd $1          cd $1
         tar -czf altroot/backup/.etc.tgz etc  
         cp -p etc/config.xml altroot/backup          cp -p etc/config.xml altroot/backup
        cd altroot#       tar -czf altroot/backup/.etc.tgz etc
        tar -czf backup/.var.tgz var
        cd $TOPDIR#        cd altroot
 #        tar -czf backup/.var.tgz var
 }  }
   
 mkhome()  mkhome()
 {  {
        echo "+++ Build ELWIX FS root home directory ..."        echo "+++ Build ELWIX OS root home directory ..."
         install -d $1/root/.ssh          install -d $1/root/.ssh
         [ -r ${CFGDIR}/root.skel/ssh/authorized_keys2 ] && \          [ -r ${CFGDIR}/root.skel/ssh/authorized_keys2 ] && \
                 install -v ${CFGDIR}/root.skel/ssh/authorized_keys2 $1/root/.ssh;                  install -v ${CFGDIR}/root.skel/ssh/authorized_keys2 $1/root/.ssh;
Line 226  mkhome() Line 225  mkhome()
         install -v ${CFGDIR}/root.skel/vimrc $1/root/.vimrc;          install -v ${CFGDIR}/root.skel/vimrc $1/root/.vimrc;
 }  }
   
install_fsdir()install_rel()
 {  {
        echo "+++ Install elwix fs in bundle OS install file ..."        echo "+++ Install ELWIX OS $1 in bundle OS install file ..."
         OSZ=""
   
        sed -nE -e 's/^ *([^ #]+) */\1/p' < $ELWIX_FS | tr ':' '\n' |         install -v ${KERNEL} $1/boot/kernel;
                tar -C / -cvf - -T - | tar -C $FS -x -f -        cd $1/boot/kernel;
         gzip -9 kernel;
         cd -;
   
        install -v $REL/$ROOTFS_KERN $FS/boot/kernel        case "$2" in
                 _128)
                         install -d $1/usr/local
                         cd $1/usr/local
                         pax -r -z -pe -f ${REL}/${ROMFS_IMG2}
                         cd -
   
        install -v $REL/$FW_IMG $FS/elwix-firmware_$VERSION                        OSZ=${REL}/${OS_128}
        ln -s /elwix/elwix-firmware_$VERSION $FS/$FW_IMG                        ;;
                 *)
                         OSZ=${REL}/${OS}
                         ;;
         esac
   
        cd $FS        cd $1
        tar -czvf $REL/$OS .        tar -czvf $OSZ .
        cd $TOPDIR 
 }  }
   
 ### main()  ### main()
Line 253  if [ ! -r ${REL}/${ROOTFS_KERN} -o ! -r ${REL}/${ROMFS Line 263  if [ ! -r ${REL}/${ROOTFS_KERN} -o ! -r ${REL}/${ROMFS
         exit 1          exit 1
 fi  fi
   
clean_fsdirclean_rel ${FS} ${REL}/${OS}
build_fsdirbuild_vardir ${FS}/elwix
mkhome ${FS}/elwix
 mkvar ${FS}/elwix
 mketc ${FS}/elwix
 mkbackup ${FS}/elwix
 mkboot ${FS}  mkboot ${FS}
mkhome ${FS}install_rel ${FS}
mkvar ${FS} 
mketc ${FS} 
#mkbackup $FS 
   
#install_fsdirecho "+++ Complete build ELWIX OS"
 
echo "+++ Complete build ELWIX FS" 
 echo "ELWIX finish version ${VERSION}, Good luck!"  echo "ELWIX finish version ${VERSION}, Good luck!"

Removed from v.1.1.2.1  
changed lines
  Added in v.1.7.2.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>