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

version 1.2, 2013/08/05 13:10:16 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 $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 62  build_basefs() Line 63  build_basefs()
         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/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;
         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 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;
         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 120  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 137  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 153  install_basefs() Line 152  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"
 }  }
   
 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 173  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
 _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 188  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 197  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 209  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.2  
changed lines
  Added in v.1.6


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