Diff for /elwix/build_rootfs.sh between versions 1.9 and 1.10

version 1.9, 2014/09/15 19:06:42 version 1.10, 2017/02/13 16:52:46
Line 40  X_TARGET_CPUTYPE="TARGET_CPUTYPE=${TARGET_CPUTYPE}" Line 40  X_TARGET_CPUTYPE="TARGET_CPUTYPE=${TARGET_CPUTYPE}"
   
 clean_elwix()  clean_elwix()
 {  {
        echo "+++ Clean elwix binary from ELWIX World ..."        echo "+++ Clean elwix binary from ELWIX World ... $BSDOBJ/elwix"
         rm -rf $BSDOBJ/elwix          rm -rf $BSDOBJ/elwix
   
        echo "+++ Clean ELWIX RootFS firmware ..."        echo "+++ Clean ELWIX RootFS firmware ... $ROOTFS_MKDIR"
         rm -rf $ROOTFS_MKDIR          rm -rf $ROOTFS_MKDIR
         mkdir $ROOTFS_MKDIR          mkdir $ROOTFS_MKDIR
   
        echo "+++ Clean RootFS directory ..."        echo "+++ Clean RootFS directory ... $ROOTFS"
         chflags -R noschg $ROOTFS          chflags -R noschg $ROOTFS
         rm -rf $ROOTFS          rm -rf $ROOTFS
         mkdir $ROOTFS          mkdir $ROOTFS
Line 58  clean_elwix() Line 58  clean_elwix()
   
 prepare_elwix()  prepare_elwix()
 {  {
        echo "+++ Prepair ELWIX RootFS firmware ..."        echo "+++ Prepair ELWIX RootFS firmware ... $ROOTFS_MKDIR"
         cd $ROOTFS_MKDIR          cd $ROOTFS_MKDIR
         cat >$MKH <<_EOF          cat >$MKH <<_EOF
 # Auto-generated Makefile include for crungegen  # Auto-generated Makefile include for crungegen
Line 79  buildopts -DNO_PAM -DNO_KERBEROS WITHOUT_PAM_SUPPORT=y Line 79  buildopts -DNO_PAM -DNO_KERBEROS WITHOUT_PAM_SUPPORT=y
 buildopts -DMK_CASPER=no WITHOUT_CASPER=yes  buildopts -DMK_CASPER=no WITHOUT_CASPER=yes
 _EOF  _EOF
         cat $CFGDIR/$ROOTFS_CONF >>$ROOTFS_CONF          cat $CFGDIR/$ROOTFS_CONF >>$ROOTFS_CONF
           echo "+++ Prepared RootFS config ... $CFGDIR/$ROOTFS_CONF"
   
         install -d ${BSDOBJ}/elwix          install -d ${BSDOBJ}/elwix
        env MAKEOBJDIRPREFIX=${BSDOBJ}/elwix crunchgen -f \        env MAKEOBJDIRPREFIX=${BSDOBJ}/elwix ${CEXEC} crunchgen -f \
                 -h $ROOTFS_MKDIR/$MKH -m $MKF \                  -h $ROOTFS_MKDIR/$MKH -m $MKF \
                 -c elwix.c -e elwix $ROOTFS_CONF                  -c elwix.c -e elwix $ROOTFS_CONF
         if [ $? -ne 0 ]; then          if [ $? -ne 0 ]; then
Line 92  _EOF Line 93  _EOF
   
 build_elwix()  build_elwix()
 {  {
        echo "+++ Build ELWIX RootFS firmware ..."        echo "+++ Build ELWIX RootFS firmware ... $ROOTFS_MKDIR"
         cd $ROOTFS_MKDIR          cd $ROOTFS_MKDIR
        env MAKEOBJDIRPREFIX=${BSDOBJ}/elwix make -f $MKF \        ${CBUILD} -f $MKF \
                 TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \                  TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                 ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} clean                  ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} clean
        env MAKEOBJDIRPREFIX=${BSDOBJ}/elwix make -f $MKF \        ${CBUILD} -f $MKF \
                 TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \                  TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                   ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} objs
           ${CBUILD} -f $MKF \
                   TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                 ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF}                  ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF}
         if [ $? -ne 0 ]; then          if [ $? -ne 0 ]; then
                 exit 1                  exit 1
Line 108  build_elwix() Line 112  build_elwix()
   
 build_rootdir()  build_rootdir()
 {  {
        echo "+++ Build RootFS directory ..."        echo "+++ Build RootFS directory ... $ROOTFS"
         cd $ROOTFS          cd $ROOTFS
   
         install -d bin;          install -d bin;
Line 150  install_rootfs() Line 154  install_rootfs()
         PRG="/sbin/elwix"          PRG="/sbin/elwix"
         LNPRG="${SBIN}/elwix"          LNPRG="${SBIN}/elwix"
   
        echo "+++ Install ELWIX into RootFS directory ..."        echo "+++ Install ELWIX into RootFS directory ... $ROOTFS"
         install $ROOTFS_MKDIR/elwix $SBIN          install $ROOTFS_MKDIR/elwix $SBIN
   
         InstallList ${ELWIX_ROOTFS} ${WORLD} ${ROOTFS}          InstallList ${ELWIX_ROOTFS} ${WORLD} ${ROOTFS}
Line 195  install_rootfs() Line 199  install_rootfs()
         ln -s $PRG $BIN/realpath          ln -s $PRG $BIN/realpath
         ln -s $PRG $BIN/rm          ln -s $PRG $BIN/rm
         ln -s $PRG $BIN/unlink          ln -s $PRG $BIN/unlink
        ln -s $PRG $BIN/rmdir#        ln -s $PRG $BIN/rmdir
         ln -s $PRG $BIN/sleep          ln -s $PRG $BIN/sleep
         ln -s $PRG $BIN/stty          ln -s $PRG $BIN/stty
         ln -s $PRG $BIN/sync          ln -s $PRG $BIN/sync
        ln -s $PRG $BIN/uuidgen#        ln -s $PRG $BIN/uuidgen
   
         ln -s $PRG $BIN/true          ln -s $PRG $BIN/true
         ln -s $PRG $BIN/false          ln -s $PRG $BIN/false
Line 252  install_rootfs() Line 256  install_rootfs()
   
         ln -s $PRG $SBIN/bsdlabel          ln -s $PRG $SBIN/bsdlabel
         ln -s $PRG $SBIN/disklabel          ln -s $PRG $SBIN/disklabel
        ln -s $PRG $SBIN/camcontrol#        ln -s $PRG $SBIN/camcontrol
        ln -s $PRG $SBIN/comcontrol#        ln -s $PRG $SBIN/comcontrol
        ln -s $PRG $SBIN/conscontrol#        ln -s $PRG $SBIN/conscontrol
         ln -s $PRG $SBIN/devfs          ln -s $PRG $SBIN/devfs
         ln -s $PRG $SBIN/dhclient          ln -s $PRG $SBIN/dhclient
         ln -s $PRG $SBIN/dmesg          ln -s $PRG $SBIN/dmesg
Line 268  install_rootfs() Line 272  install_rootfs()
         ln -s $PRG $SBIN/fsck_4.2bsd          ln -s $PRG $SBIN/fsck_4.2bsd
         ln -s $PRG $SBIN/fsck_msdosfs          ln -s $PRG $SBIN/fsck_msdosfs
         ln -s $PRG $SBIN/etherswitchcfg          ln -s $PRG $SBIN/etherswitchcfg
        ln -s $PRG $SBIN/-geom#        ln -s $PRG $SBIN/-geom
        ln -s $PRG $SBIN/glabel#        ln -s $PRG $SBIN/glabel
        ln -s $PRG $SBIN/gpart#        ln -s $PRG $SBIN/gpart
        ln -s $PRG $SBIN/graid#        ln -s $PRG $SBIN/graid
        ln -s $PRG $SBIN/growfs#        ln -s $PRG $SBIN/growfs
        ln -s $PRG $SBIN/hastctl#        ln -s $PRG $SBIN/hastctl
        ln -s $PRG $SBIN/hastd#        ln -s $PRG $SBIN/hastd
         ln -s $PRG $SBIN/ifconfig          ln -s $PRG $SBIN/ifconfig
         ln -s $PRG $SBIN/init          ln -s $PRG $SBIN/init
         ln -s $PRG $SBIN/ipfw          ln -s $PRG $SBIN/ipfw
Line 292  install_rootfs() Line 296  install_rootfs()
         ln -s $PRG $SBIN/mdmfs          ln -s $PRG $SBIN/mdmfs
         ln -s $PRG $SBIN/mount_mfs          ln -s $PRG $SBIN/mount_mfs
         ln -s $PRG $SBIN/mknod          ln -s $PRG $SBIN/mknod
        ln -s $PRG $SBIN/mksnap_ffs#        ln -s $PRG $SBIN/mksnap_ffs
         ln -s $PRG $SBIN/mount          ln -s $PRG $SBIN/mount
        ln -s $PRG $SBIN/mount_cd9660#        ln -s $PRG $SBIN/mount_cd9660
         ln -s $PRG $SBIN/mount_msdosfs          ln -s $PRG $SBIN/mount_msdosfs
         ln -s $PRG $SBIN/mount_nfs          ln -s $PRG $SBIN/mount_nfs
 #       ln -s $PRG $SBIN/mount_ntfs  #       ln -s $PRG $SBIN/mount_ntfs
         ln -s $PRG $SBIN/mount_nullfs          ln -s $PRG $SBIN/mount_nullfs
        ln -s $PRG $SBIN/mount_udf#        ln -s $PRG $SBIN/mount_udf
         ln -s $PRG $SBIN/mount_unionfs          ln -s $PRG $SBIN/mount_unionfs
         ln -s $PRG $SBIN/newfs          ln -s $PRG $SBIN/newfs
         ln -s $PRG $SBIN/newfs_msdos          ln -s $PRG $SBIN/newfs_msdos
        ln -s $PRG $SBIN/nfsiod#        ln -s $PRG $SBIN/nfsiod
        ln -s $PRG $SBIN/nos-tun#        ln -s $PRG $SBIN/nos-tun
        ln -s $PRG $SBIN/nvmecontrol#        ln -s $PRG $SBIN/nvmecontrol
         ln -s $PRG $SBIN/pfctl          ln -s $PRG $SBIN/pfctl
         ln -s $PRG $SBIN/pflogd          ln -s $PRG $SBIN/pflogd
         ln -s $PRG $SBIN/quotacheck          ln -s $PRG $SBIN/quotacheck
Line 313  install_rootfs() Line 317  install_rootfs()
         ln -s $PRG $SBIN/halt          ln -s $PRG $SBIN/halt
         ln -s $PRG $SBIN/fastboot          ln -s $PRG $SBIN/fastboot
         ln -s $PRG $SBIN/fasthalt          ln -s $PRG $SBIN/fasthalt
        ln -s $PRG $SBIN/recoverdisk#        ln -s $PRG $SBIN/recoverdisk
         ln -s $PRG $SBIN/restore          ln -s $PRG $SBIN/restore
         ln -s $PRG $SBIN/rrestore          ln -s $PRG $SBIN/rrestore
         ln -s $PRG $SBIN/route          ln -s $PRG $SBIN/route
         ln -s $PRG $SBIN/rtsol          ln -s $PRG $SBIN/rtsol
         ln -s $PRG $SBIN/shutdown          ln -s $PRG $SBIN/shutdown
        ln -s $PRG $SBIN/savecore#        ln -s $PRG $SBIN/savecore
        ln -s $PRG $SBIN/swapon#        ln -s $PRG $SBIN/swapon
        ln -s $PRG $SBIN/swapoff#        ln -s $PRG $SBIN/swapoff
        ln -s $PRG $SBIN/swapctl#        ln -s $PRG $SBIN/swapctl
         ln -s $PRG $SBIN/sysctl          ln -s $PRG $SBIN/sysctl
         ln -s $PRG $SBIN/tunefs          ln -s $PRG $SBIN/tunefs
         ln -s $PRG $SBIN/umount          ln -s $PRG $SBIN/umount
Line 346  install_rootfs() Line 350  install_rootfs()
         ln -s $PRG $SBIN/wake          ln -s $PRG $SBIN/wake
         ln -s $PRG $SBIN/watchdog          ln -s $PRG $SBIN/watchdog
         ln -s $PRG $SBIN/watchdogd          ln -s $PRG $SBIN/watchdogd
        ln -s $PRG $SBIN/inetd#        ln -s $PRG $SBIN/inetd
         ln -s $PRG $SBIN/wlandebug          ln -s $PRG $SBIN/wlandebug
         ln -s $PRG $SBIN/chroot          ln -s $PRG $SBIN/chroot
         ln -s $PRG $SBIN/i2c          ln -s $PRG $SBIN/i2c
         ln -s $PRG $SBIN/iostat          ln -s $PRG $SBIN/iostat
        ln -s $PRG $SBIN/jail#        ln -s $PRG $SBIN/jail
        ln -s $PRG $SBIN/jexec#        ln -s $PRG $SBIN/jexec
        ln -s $PRG $SBIN/jls#        ln -s $PRG $SBIN/jls
         ln -s $PRG $SBIN/ndp          ln -s $PRG $SBIN/ndp
         ln -s $PRG $SBIN/newsyslog          ln -s $PRG $SBIN/newsyslog
         ln -s $PRG $SBIN/nologin          ln -s $PRG $SBIN/nologin
Line 370  install_rootfs() Line 374  install_rootfs()
         ln -s $PRG $UBIN/passwd          ln -s $PRG $UBIN/passwd
   
         ln -s $PRG $LIBEXEC/getty          ln -s $PRG $LIBEXEC/getty
        ln -s $PRG $LIBEXEC/tftpd#        ln -s $PRG $LIBEXEC/tftpd
   
         strip -s $LNPRG          strip -s $LNPRG
   
Line 384  install_rootfs() Line 388  install_rootfs()
   
 build_image()  build_image()
 {  {
        echo "+++ Build ELWIX RootFS image ..."        echo "+++ Build ELWIX RootFS image ... $ROOTFS --> $REL/$ROOTFS_IMG"
         makefs -s ${ROOTFS_SIZE} -o minfree=0 $REL/$ROOTFS_IMG $ROOTFS          makefs -s ${ROOTFS_SIZE} -o minfree=0 $REL/$ROOTFS_IMG $ROOTFS
           echo "+++ Completed ELWIX RootFS image ... $ROOTFS --> $REL/$ROOTFS_IMG"
 }  }
   
 install_image()  install_image()
 {  {
        echo "+++ Install ELWIX RootFS Image into kernel ..."        echo "+++ Install ELWIX RootFS Image into kernel ... $REL/$ROOTFS_IMG"
        START=`strings -td $KERNEL_ROOTFS | grep "MFS Filesystem" | cut -d ' ' -f 1 | head -1`        mfs_size=`stat -f '%z' $REL/$ROOTFS_IMG 2>/dev/null`
        STOP=`strings -td $KERNEL_ROOTFS | grep "MFS Filesystem" | cut -d ' ' -f 1 | tail -1`        [ -z ${mfs_size} ] && echo "Can't determine MFS image size" && exit 1
        STOP=$(($STOP + 1)) 
   
        head -c $START $KERNEL_ROOTFS >$NEWKERN        sec_info=`${CROSSTOOLDIR}/usr/bin/objdump -h $KERNEL_ROOTFS 2> /dev/null | grep " oldmfs "`
        cat $REL/$ROOTFS_IMG >>$NEWKERN        [ -z "${sec_info}" ] && echo "Can't locate mfs section within kernel" && exit 1
        tail -c +$STOP $KERNEL_ROOTFS >>$NEWKERN        echo "'-> Object dump { ${sec_info} }"
   
           sec_size=`echo ${sec_info} | awk '{printf("%d", "0x" $3)}' 2> /dev/null`
           sec_start=`echo ${sec_info} | awk '{printf("%d", "0x" $6)}' 2> /dev/null`
           echo "'-> Start offset from $sec_start and rootfs size $sec_size byte"
           [ ${sec_size} -lt ${mfs_size} ] && echo "MFS image too large" && exit 1
   
           cp $KERNEL_ROOTFS $NEWKERN
           dd if=$REL/$ROOTFS_IMG ibs=8192 of=$NEWKERN obs=${sec_start} oseek=1 conv=notrunc \
                   2>/dev/null && echo "'-> Completed MFS image embedded into kernel"
   
   #       START=`strings -td $KERNEL_ROOTFS | grep "MFS Filesystem" | cut -d ' ' -f 1 | head -1`
   #       STOP=`strings -td $KERNEL_ROOTFS | grep "MFS Filesystem" | cut -d ' ' -f 1 | tail -1`
   #       STOP=$(($STOP + 1))
   #       echo "'-> Start offset from $START to $STOP byte"
   
   #       head -c $START $KERNEL_ROOTFS >$NEWKERN
   #       cat $REL/$ROOTFS_IMG >>$NEWKERN
   #       tail -c +$STOP $KERNEL_ROOTFS >>$NEWKERN
   
           echo "'-> Compress kernel"
         cd $REL          cd $REL
         gzip -9 $KRNNAME          gzip -9 $KRNNAME
         cd -          cd -
   
           echo "+++ Completed ELWIX RootFS kernel ... $NEWKERN.gz"
 }  }
   
 ### main()  ### main()

Removed from v.1.9  
changed lines
  Added in v.1.10


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