Diff for /elwix/build_base.sh between versions 1.1.2.1 and 1.4.2.2

version 1.1.2.1, 2013/07/31 14:44:48 version 1.4.2.2, 2017/06/14 23:16:12
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_romfs()clean_basefs()
 {  {
        echo "+++ Clean ELWIX base firmware ..."        echo "+++ Clean ELWIX BaseFS firmware ... $BASEFS"
        chflags -Rf noschg $ROMFS        chflags -Rf noschg,nosunlink $BASEFS $BASE_FS
        rm -rf $ROMFS        rm -rf $BASEFS $BASE_FS ${REL}/${BASE_OS} ${REL}/kernel.gz
 
        echo "+++ Clean ELWIX base image ..." 
        rm -f $REL/$ROMFS_IMG 
 }  }
   
build_romfs()build_basefs()
 {  {
        echo "+++ Build ELWIX base directory ..."        echo "+++ Build ELWIX BaseFS directory ... $BASEFS"
        mkdir -p $ROMFS        mkdir -p $BASEFS
   
        cd $ROMFS        cd $BASEFS
   
         install -d bin;          install -d bin;
         install -d boot;          install -d boot;
Line 59  build_romfs() Line 56  build_romfs()
         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/pkg/bin;
Line 77  build_romfs() Line 81  build_romfs()
         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 110  build_romfs() Line 113  build_romfs()
         cd -          cd -
 }  }
   
install_romfs()install_basefs()
 {  {
        LIBS="${ROMFS}/usr/lib"        LIBS="${BASEFS}/usr/lib"
        LIBEXEC="${ROMFS}/usr/libexec"        LIBEXEC="${BASEFS}/usr/libexec"
        LIBDATA="${ROMFS}/usr/libdata"        LIBDATA="${BASEFS}/usr/libdata"
        BIN="${ROMFS}/bin"        BIN="${BASEFS}/bin"
        UBIN="${ROMFS}/usr/bin"        UBIN="${BASEFS}/usr/bin"
        SBIN="${ROMFS}/sbin"        SBIN="${BASEFS}/sbin"
        USBIN="${ROMFS}/usr/sbin"        USBIN="${BASEFS}/usr/sbin"
        SHARE="${ROMFS}/usr/share"        SHARE="${BASEFS}/usr/share"
         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 140  install_romfs() Line 143  install_romfs()
   
         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_ROMFS} ${WORLD} ${ROMFS}        InstallList ${ELWIX_BASEFS} ${WORLD} ${BASEFS}
   
         ln ${BIN}/tcsh ${UBIN}/tcsh          ln ${BIN}/tcsh ${UBIN}/tcsh
   
Line 156  install_romfs() Line 159  install_romfs()
         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 ${ROMFS_USR2}        if [ -d ${BASEFS} ]; then
        pax -w -z -v -f${REL}/${ROMFS_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${ROMFS_SIZE2} \{
#               ${REL}/${ROMFS_IMG2} ${ROMFS_USR2}        cat >$1/etc/fstab <<_EOF
 # Automatic generated fstab for ELWIX $2 at ${BUILD_DATE}
 #
 /dev/ufs/elwix          /       ufs     ro                      0       1
 md1                     /tmp    mfs     rw,-s8m,-oasync,-S,-n   0       0
 md2                     /var    mfs     rw,-s16m,-S,-n          0       0
 _EOF
 }
   
#       MDDEV=$(mdconfig -a -t vnode -f ${REL}/${ROMFS_IMG2});update_etc_cfexec()
#       tunefs -L elwixFirmware2 /dev/$MDDEV;{
#       mdconfig -d -u $MDDEV;        echo "mount = \"/\"" >> $1/etc/cfexec.conf
 
#       mkuzip -s 8192 -o ${REL}/${ROMFS_IMG2}.uzip ${REL}/${ROMFS_IMG2}; 
#       mv ${REL}/${ROMFS_IMG2}.uzip ${REL}/${ROMFS_IMG2} 
 }  }
   
install_romfs2()install_fs()
 {  {
        LIBS="${ROMFS_USR2}/lib"        echo "+++ Install ELWIX BaseFS $1 in bundle OS install file ..."
        LIBEXEC="${ROMFS_USR2}/libexec"        OSZ=""
        LIBDATA="${ROMFS_USR2}/libdata" 
        BIN="${ROMFS_USR2}/bin" 
        SBIN="${ROMFS_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()
clean_romfsclean_basefs
build_romfsbuild_basefs
   
install_romfsinstall_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.1  
changed lines
  Added in v.1.4.2.2


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