Diff for /elwix/build_base.sh between versions 1.3 and 1.6

version 1.3, 2014/09/15 19:06:42 version 1.6, 2021/07/16 18:35:50
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,nosunlink $BASEFS $BASE_FS          chflags -Rf noschg,nosunlink $BASEFS $BASE_FS
         rm -rf $BASEFS $BASE_FS ${REL}/${BASE_OS} ${REL}/kernel.gz          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 49  build_basefs() Line 49  build_basefs()
         install -d boot/defaults;          install -d boot/defaults;
         install -d boot/firmware;          install -d boot/firmware;
         install -d boot/kernel;          install -d boot/kernel;
           install -d boot/lua;
         install -d boot/modules;          install -d boot/modules;
         install -d boot/zfs;          install -d boot/zfs;
         install -d dev;          install -d dev;
Line 56  build_basefs() Line 57  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;
Line 72  build_basefs() Line 65  build_basefs()
         install -d -m 0750 elwix/root/.ssh;          install -d -m 0750 elwix/root/.ssh;
         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/local/lib;
        install -d elwix/pkg/libexec;        install -d etc;
        install -d elwix/pkg/libdata; 
        install -d elwix/pkg/sbin; 
        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;
Line 92  build_basefs() Line 82  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;
         install -d usr/libexec/casper  
         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;
           ln -fs /usr/pkg/sbin/mini_sendmail usr/sbin/sendmail
         install -d usr/share;          install -d usr/share;
         install -d usr/share/misc;          install -d usr/share/misc;
         install -d usr/share/skel;          install -d usr/share/skel;
Line 127  install_basefs() Line 119  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 files/etc/termcap ]; then
                install -v -m 644 ${BSDSRC}/release/picobsd/mfs_tree/etc/termcap $MISC;                install -v -m 644 files/etc/termcap $MISC;
                install -v -m 644 ${BSDSRC}/release/picobsd/mfs_tree/etc/services $MISC;                install -v -m 644 files/etc/services $MISC;
         else          else
                 install -v -m 644 ${BSDSRC}/etc/termcap.small $MISC/termcap;                  install -v -m 644 ${BSDSRC}/etc/termcap.small $MISC/termcap;
                 install -v -m 644 ${BSDSRC}/etc/services $MISC;                  install -v -m 644 ${BSDSRC}/etc/services $MISC;
Line 144  install_basefs() Line 136  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 158  install_basefs() Line 150  install_basefs()
         InstallDir ${WORLD}/usr/local/sbin $USBIN          InstallDir ${WORLD}/usr/local/sbin $USBIN
         InstallFiles \*.so\* ${WORLD}/usr/local/lib $LIBS          InstallFiles \*.so\* ${WORLD}/usr/local/lib $LIBS
         InstallDir ${WORLD}/usr/local/libdata $LIBDATA          InstallDir ${WORLD}/usr/local/libdata $LIBDATA
         InstallDir ${WORLD}/libexec/casper $LIBEXEC/casper  
   
         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"
 }  }
   
 prepare_fs()  prepare_fs()
 {  {
        echo "+++ Prepare ELWIX fs ..."        echo "+++ Prepare ELWIX fs ... $BASEFS --> $1"
         mkdir -p $1          mkdir -p $1
   
         if [ -d ${BASEFS} ]; then          if [ -d ${BASEFS} ]; then
Line 181  create_etc_fstab() Line 174  create_etc_fstab()
 # Automatic generated fstab for ELWIX $2 at ${BUILD_DATE}  # Automatic generated fstab for ELWIX $2 at ${BUILD_DATE}
 #  #
 /dev/ufs/elwix          /       ufs     ro                      0       1  /dev/ufs/elwix          /       ufs     ro                      0       1
md0                        /tmp    mfs      rw,-s8m,-oasync,-S        0       0tmpfs                        /tmp    tmpfs      rw                      0       0
md1                        /var    mfs     rw,-s16m,-S             0       0md2                        /var    mfs     rw,-s16m,-S,-n                0       0
/var/db                 /elwix/etc      unionfs rw,noauto,-onoatime     0       0 
 _EOF  _EOF
 }  }
   
   update_etc_cfexec()
   {
           echo "mount = \"/\"" >> $1/etc/cfexec.conf
   }
   
 install_fs()  install_fs()
 {  {
        echo "+++ Install ELWIX base $1 in bundle OS install file ..."        echo "+++ Install ELWIX BaseFS $1 in bundle OS install file ..."
         OSZ=""          OSZ=""
   
         install -v ${KERNEL} $1/boot/kernel;          install -v ${KERNEL} $1/boot/kernel;
Line 197  install_fs() Line 194  install_fs()
         gzip -9 kernel;          gzip -9 kernel;
         cp kernel.gz ${REL}          cp kernel.gz ${REL}
         cd -;          cd -;
           echo "+++ Released native ELWIX kernel ... ${REL}/kernel.gz"
   
         case "$2" in          case "$2" in
                 *)                  *)
Line 206  install_fs() Line 204  install_fs()
   
         cd $1          cd $1
         tar -czvf $OSZ .          tar -czvf $OSZ .
           echo "+++ Completed ELWIX BaseFS $1 --> $OSZ"
 }  }
   
 ### main()  ### main()
Line 218  install_basefs Line 217  install_basefs
 prepare_fs ${BASE_FS}  prepare_fs ${BASE_FS}
 MakeFS_home ${BASE_FS}/elwix  MakeFS_home ${BASE_FS}/elwix
 MakeFS_var ${BASE_FS}/elwix ${BASE_ETC}  MakeFS_var ${BASE_FS}/elwix ${BASE_ETC}
MakeFS_etc ${BASE_FS}/elwix ${BASE_ETC} baseMakeFS_etc ${BASE_FS} ${BASE_ETC} base
create_etc_fstab ${BASE_FS}/elwix basecreate_etc_fstab ${BASE_FS} base
MakeFS_backup ${BASE_FS}/elwixupdate_etc_cfexec ${BASE_FS}
 MakeFS_boot ${BASE_FS}  MakeFS_boot ${BASE_FS}
 install_fs ${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.3  
changed lines
  Added in v.1.6


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