Diff for /elwix/build_base.sh between versions 1.1.2.2 and 1.4.2.5

version 1.1.2.2, 2013/07/31 14:57:01 version 1.4.2.5, 2017/06/15 23:09:44
Line 1 Line 1
 #!/bin/sh  #!/bin/sh
 #  #
# ELWIX Build script for ELWIX raw base firmware# ELWIX Build script for ELWIX raw BaseFS firmware
 #  #
 # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>  # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
 #    by Michael Pounov <misho@elwix.org>  #    by Michael Pounov <misho@elwix.org>
Line 25  fi Line 25  fi
   
 if [ "${USER}" != "root" ]; then  if [ "${USER}" != "root" ]; then
         echo          echo
        echo "ELWIX project is not configured - base must build under root !?!"        echo "ELWIX project is not configured - BaseFS must build under root !?!"
         echo          echo
         exit 1          exit 1
 fi  fi
   
 clean_basefs()  clean_basefs()
 {  {
        echo "+++ Clean ELWIX base firmware ..."        echo "+++ Clean ELWIX BaseFS firmware ... $BASEFS"
        chflags -Rf noschg $BASEFS        chflags -Rf noschg,nosunlink $BASEFS $BASE_FS
        rm -rf $BASEFS        rm -rf $BASEFS $BASE_FS ${REL}/${BASE_OS} ${REL}/kernel.gz
 }  }
   
 build_basefs()  build_basefs()
 {  {
        echo "+++ Build ELWIX base directory ..."        echo "+++ Build ELWIX BaseFS directory ... $BASEFS"
         mkdir -p $BASEFS          mkdir -p $BASEFS
   
         cd $BASEFS          cd $BASEFS
Line 56  build_basefs() Line 56  build_basefs()
         install -d elwix/altroot;          install -d elwix/altroot;
         install -d elwix/altroot/var;          install -d elwix/altroot/var;
         install -d elwix/cf;          install -d elwix/cf;
           case ${TARGET} in
                   i386)
                           ln -fs /dev/ada0g elwix/cf/map.cfg
                           ;;
                   mips)
                           ln -fs /dev/map/cfg elwix/cf/map.cfg
                           ;;
           esac
         install -d elwix/etc;          install -d elwix/etc;
         install -d -o 883 -g 883 elwix/etc/mqtt;          install -d -o 883 -g 883 elwix/etc/mqtt;
         install -d elwix/exports;          install -d elwix/exports;
         install -d elwix/home;          install -d elwix/home;
         install -d -m 0750 elwix/root;          install -d -m 0750 elwix/root;
         install -d -m 0750 elwix/root/.ssh;          install -d -m 0750 elwix/root/.ssh;
         install -d elwix/system;  
         install -d elwix/tftpboot;          install -d elwix/tftpboot;
         install -d elwix/pkg;          install -d elwix/pkg;
        install -d elwix/pkg/bin;        install -d elwix/local;
        install -d elwix/pkg/lib; 
        install -d elwix/pkg/libexec; 
        install -d elwix/pkg/libdata; 
        install -d elwix/pkg/sbin; 
         ln -fs /elwix/etc etc;          ln -fs /elwix/etc etc;
         ln -fs /elwix/exports exports;          ln -fs /elwix/exports exports;
         ln -fs /elwix/home home;          ln -fs /elwix/home home;
         ln -fs /elwix/root root;          ln -fs /elwix/root root;
         ln -fs /elwix/system system;  
         ln -fs /elwix/tftpboot tftpboot;          ln -fs /elwix/tftpboot tftpboot;
         install -d mnt;          install -d mnt;
         install -d -m 0555 proc;          install -d -m 0555 proc;
Line 86  build_basefs() Line 88  build_basefs()
         ln -fs /usr/lib lib;          ln -fs /usr/lib lib;
         install -d usr/lib/engines;          install -d usr/lib/engines;
         install -d usr/lib/geom;          install -d usr/lib/geom;
        install -d usr/lib32;        case ${TARGET} in
                 amd64)
                         install -d usr/lib32;
                         ;;
                 *)
                         ;;
         esac
         install -d usr/libdata;          install -d usr/libdata;
         install -d usr/libexec;          install -d usr/libexec;
         ln -fs /usr/libexec libexec;          ln -fs /usr/libexec libexec;
        install -d usr/local;        ln -fs /elwix/local usr/local;
        install -d usr/local/bin;        ln -fs /elwix/pkg usr/pkg;
        install -d usr/local/lib; 
        install -d usr/local/libexec; 
        install -d usr/local/libdata; 
        install -d usr/local/sbin; 
         install -d usr/sbin;          install -d usr/sbin;
         install -d usr/share;          install -d usr/share;
         install -d usr/share/misc;          install -d usr/share/misc;
Line 120  install_basefs() Line 124  install_basefs()
         SKEL="${SHARE}/skel"          SKEL="${SHARE}/skel"
         MISC="${SHARE}/misc"          MISC="${SHARE}/misc"
   
        echo "+++ Install ELWIX base software ..."        echo "+++ Install ELWIX BaseFS software ... $BASEFS"
         if [ -r ${BSDSRC}/release/picobsd/mfs_tree/etc/termcap ]; then          if [ -r ${BSDSRC}/release/picobsd/mfs_tree/etc/termcap ]; then
                 install -v -m 644 ${BSDSRC}/release/picobsd/mfs_tree/etc/termcap $MISC;                  install -v -m 644 ${BSDSRC}/release/picobsd/mfs_tree/etc/termcap $MISC;
                 install -v -m 644 ${BSDSRC}/release/picobsd/mfs_tree/etc/services $MISC;                  install -v -m 644 ${BSDSRC}/release/picobsd/mfs_tree/etc/services $MISC;
Line 137  install_basefs() Line 141  install_basefs()
   
         find ${WORLD}/libexec -type f -name ld-elf.so\* -exec install {} $LIBEXEC \;          find ${WORLD}/libexec -type f -name ld-elf.so\* -exec install {} $LIBEXEC \;
   
        find ${WORLD}/lib -type f -name \*.so.\* -exec install {} $LIBS \;        find ${WORLD}/lib -type f -name \*.so.\* ! -name \*.debug -exec install {} $LIBS \;
         find ${WORLD}/lib -type f -name libalias_\*.so -exec install {} $LIBS \;          find ${WORLD}/lib -type f -name libalias_\*.so -exec install {} $LIBS \;
         find ${WORLD}/lib/geom -type f -name \*.so -exec install {} $LIBS/geom \;          find ${WORLD}/lib/geom -type f -name \*.so -exec install {} $LIBS/geom \;
        find ${WORLD}/usr/lib -type f -name \*.so.\* -exec install {} $LIBS \;        find ${WORLD}/usr/lib -type f -name \*.so.\* ! -name \*.debug -exec install {} $LIBS \;
         find ${WORLD}/usr/lib/engines -type f -name \*.so -exec install {} $LIBS/engines \;          find ${WORLD}/usr/lib/engines -type f -name \*.so -exec install {} $LIBS/engines \;
   
         InstallList ${ELWIX_BASEFS} ${WORLD} ${BASEFS}          InstallList ${ELWIX_BASEFS} ${WORLD} ${BASEFS}
Line 153  install_basefs() Line 157  install_basefs()
         InstallDir ${WORLD}/usr/local/libdata $LIBDATA          InstallDir ${WORLD}/usr/local/libdata $LIBDATA
   
         chown -R root:wheel $SBIN $BIN $USBIN $UBIN $LIBDATA $LIBEXEC $LIBS          chown -R root:wheel $SBIN $BIN $USBIN $UBIN $LIBDATA $LIBEXEC $LIBS
   
           echo "+++ Completed ELWIX BaseFS software ... $BASEFS"
 }  }
   
build_image2()prepare_fs()
 {  {
        echo "+++ Build ELWIX Firmware secondary image ..."        echo "+++ Prepare ELWIX fs ... $BASEFS --> $1"
         mkdir -p $1
   
        cd ${BASEFS_USR2}        if [ -d ${BASEFS} ]; then
        pax -w -z -v -f${REL}/${BASEFS_IMG2} .                cd ${BASEFS}
        cd -                pax -rw -pe -X . $1
                 cd -
         fi
 }
   
# Stop using uzip fscreate_etc_fstab()
#       makefs -ominfree=0,bsize=8192,fsize=1024,optimization=space -s${BASEFS_SIZE2} \{
#               ${REL}/${BASEFS_IMG2} ${BASEFS_USR2}        cat >$1/etc/fstab <<_EOF
 # Automatic generated fstab for ELWIX $2 at ${BUILD_DATE}
 #
 /dev/ufs/elwix          /       ufs     ro                      0       1
 tmpfs                   /tmp    tmpfs   rw                      0       0
 md2                     /var    mfs     rw,-s16m,-S,-n          0       0
 _EOF
 }
   
#       MDDEV=$(mdconfig -a -t vnode -f ${REL}/${BASEFS_IMG2});update_etc_cfexec()
#       tunefs -L elwixFirmware2 /dev/$MDDEV;{
#       mdconfig -d -u $MDDEV;        echo "mount = \"/\"" >> $1/etc/cfexec.conf
 
#       mkuzip -s 8192 -o ${REL}/${BASEFS_IMG2}.uzip ${REL}/${BASEFS_IMG2}; 
#       mv ${REL}/${BASEFS_IMG2}.uzip ${REL}/${BASEFS_IMG2} 
 }  }
   
install_romfs2()install_fs()
 {  {
        LIBS="${BASEFS_USR2}/lib"        echo "+++ Install ELWIX BaseFS $1 in bundle OS install file ..."
        LIBEXEC="${BASEFS_USR2}/libexec"        OSZ=""
        LIBDATA="${BASEFS_USR2}/libdata" 
        BIN="${BASEFS_USR2}/bin" 
        SBIN="${BASEFS_USR2}/sbin" 
   
        echo "+++ Install ELWIX base secondary software ..."        install -v ${KERNEL} $1/boot/kernel;
         cd $1/boot/kernel;
         gzip -9 kernel;
         cp kernel.gz ${REL}
         cd -;
         echo "+++ Released native ELWIX kernel ... ${REL}/kernel.gz"
   
        install -d ${PKGDIR}/bin        case "$2" in
#       InstallDir ${PKGDIR}/bin $BIN                *)
        install -d ${PKGDIR}/sbin                        OSZ=${REL}/${BASE_OS}
        InstallDir ${PKGDIR}/sbin $SBIN                        ;;
         esac
   
        StripFiles \*.so\* ${PKG}/lib        cd $1
        InstallFiles \*.so\* ${PKG}/lib $LIBS        tar -czvf $OSZ .
        StripFiles \* ${PKG}/libexec        echo "+++ Completed ELWIX BaseFS $1 --> $OSZ"
        InstallFiles \* ${PKG}/libexec $LIBEXEC 
        StripFiles \* ${PKG}/libdata 
        InstallFiles \* ${PKG}/libdata $LIBDATA 
        StripFiles \* ${PKG}/bin 
        InstallFiles \* ${PKG}/bin $BIN 
        StripFiles \* ${PKG}/sbin 
        InstallFiles \* ${PKG}/sbin $SBIN 
 
        chown -R root:wheel $SBIN $BIN $LIBDATA $LIBEXEC $LIBS 
 }  }
   
 ### main()  ### main()
Line 210  build_basefs Line 218  build_basefs
   
 install_basefs  install_basefs
   
#install_romfs2# build fs
#build_image2prepare_fs ${BASE_FS}
 MakeFS_home ${BASE_FS}/elwix
 MakeFS_var ${BASE_FS}/elwix ${BASE_ETC}
 MakeFS_etc ${BASE_FS}/elwix ${BASE_ETC} base
 create_etc_fstab ${BASE_FS}/elwix base
 update_etc_cfexec ${BASE_FS}/elwix
 MakeFS_backup ${BASE_FS}/elwix
 MakeFS_boot ${BASE_FS}
 install_fs ${BASE_FS}
   
echo "+++ Complete build ELWIX base"echo "+++ Complete build ELWIX BaseFS system"
 echo "ELWIX BaseFS finish version ${VERSION}, Good luck!"

Removed from v.1.1.2.2  
changed lines
  Added in v.1.4.2.5


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