Diff for /elwix/build_rootfs.sh between versions 1.1 and 1.11

version 1.1, 2011/07/05 23:43:00 version 1.11, 2021/03/11 13:59:50
Line 30  if [ "${USER}" != "root" ]; then Line 30  if [ "${USER}" != "root" ]; then
         exit 1          exit 1
 fi  fi
   
NEWKERN="${REL}/kernel"KRNNAME="kernel_rootfs"
 NEWKERN="${REL}/${KRNNAME}"
 MKF="Makefile.elwix"
 MKH="Makefile.inc"
   
   # Set TARGET_CPUTYPE only for world compiling. Don't use this in kernel build!
   X_TARGET_CPUTYPE="TARGET_CPUTYPE=${TARGET_CPUTYPE}"
   
 clean_elwix()  clean_elwix()
 {  {
        echo "+++ Clean csh from ELWIX World ..."        echo "+++ Clean elwix binary from ELWIX World ... $BSDOBJ/elwix"
        rm -rf ${BSDOBJ}/usr/src/bin/csh/*        rm -rf $BSDOBJ/elwix
   
        echo "+++ Clean ELWIX RootFS firmware ..."        echo "+++ Clean ELWIX RootFS firmware ... $ROOTFS_MKDIR"
        rm -rf $MKDIR        rm -rf $ROOTFS_MKDIR
        mkdir $MKDIR        mkdir $ROOTFS_MKDIR
   
        echo "+++ Clean RootFS directory ..."        echo "+++ Clean RootFS directory ... $ROOTFS"
         chflags -R noschg $ROOTFS
         rm -rf $ROOTFS          rm -rf $ROOTFS
         mkdir $ROOTFS          mkdir $ROOTFS
   
Line 51  clean_elwix() Line 58  clean_elwix()
   
 prepare_elwix()  prepare_elwix()
 {  {
        echo "+++ Prepair ELWIX RootFS firmware ..."        echo "+++ Prepair ELWIX RootFS firmware ... $ROOTFS_MKDIR"
        cd $MKDIR        cd $ROOTFS_MKDIR
         cat >$MKH <<_EOF          cat >$MKH <<_EOF
 # Auto-generated Makefile include for crungegen  # Auto-generated Makefile include for crungegen
 # !!! Dont edit by hand !!!  # !!! Dont edit by hand !!!
 #  #
#BUILDOPTS += TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} MAKEOBJDIRPREFIX=${BSDOBJ}
CRUNCH_SUPPRESS_LINK_-sh= 1 
CRUNCH_SUPPRESS_LINK_-csh= 1 
CRUNCH_SUPPRESS_LINK_-tcsh= 1 
 LIBS += -L${WORLD}/lib -L${WORLD}/usr/lib  LIBS += -L${WORLD}/lib -L${WORLD}/usr/lib
 _EOF  _EOF
         cat >$ROOTFS_CONF <<_EOF          cat >$ROOTFS_CONF <<_EOF
   srcdirs ${BSDSRC}/tools/tools ${BSDSRC}/tools/tools/ath
   srcdirs ${BSDSRC}/release/picobsd/tinyware
 srcdirs ${BSDSRC}/bin ${BSDSRC}/sbin ${BSDSRC}/libexec ${BSDSRC}/cddl/sbin ${BSDSRC}/sbin/ggate  srcdirs ${BSDSRC}/bin ${BSDSRC}/sbin ${BSDSRC}/libexec ${BSDSRC}/cddl/sbin ${BSDSRC}/sbin/ggate
#buildopts -DRESCUE CRUNCH_CFLAGS=-DRESCUE TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} MAKEOBJDIRPREFIX=${BSDOBJ}srcdirs ${BSDSRC}/usr.bin ${BSDSRC}/usr.sbin ${BSDSRC}/usr.sbin/wpa
buildopts TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} MAKEOBJDIRPREFIX=${BSDOBJ}srcdirs ${BSDSRC}/secure/usr.bin ${BSDSRC}/secure/usr.sbin ${BSDSRC}/secure/libexec
 
 buildopts TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF}
 buildopts -DNO_PAM -DNO_KERBEROS WITHOUT_PAM_SUPPORT=yes WITHOUT_KERBEROS_SUPPORT=yes WITHOUT_KERBEROS=yes
 buildopts -DMK_CASPER=no WITHOUT_CASPER=yes MK_TESTS=no UPDATE_DEPENDFILE=no _RECURSING_CRUNCH=1
 
 _EOF  _EOF
         cat $CFGDIR/$ROOTFS_CONF >>$ROOTFS_CONF          cat $CFGDIR/$ROOTFS_CONF >>$ROOTFS_CONF
           echo "+++ Prepared RootFS config ... $CFGDIR/$ROOTFS_CONF"
   
        crunchgen -f -p $BSDOBJ -h $MKDIR/$MKH -m $MKF -c elwix.c -e elwix $ROOTFS_CONF        install -d ${BSDOBJ}/elwix
         env MAKEOBJDIRPREFIX=${BSDOBJ}/elwix ${CEXEC} crunchgen -f \
                 -h $ROOTFS_MKDIR/$MKH -m $MKF \
                 -c elwix.c -e elwix $ROOTFS_CONF
         if [ $? -ne 0 ]; then
                 exit 1
         fi
 #       cat >>$MKF << _EOF
 #
 #.for _tool in ${CRUNCH_BUILDTOOLS}
 #build-tools-${_tool}:
 #       ${_+_}cd ${.CURDIR}/../../${_tool}; \
 #           if [ "${MK_AUTO_OBJ}" = "no" ]; then \
 #               ${CRUNCHENV} MAKEOBJDIRPREFIX=${CRUNCHOBJS} ${MAKE} obj; \
 #           fi; \
 #           ${CRUNCHENV} MAKEOBJDIRPREFIX=${CRUNCHOBJS} ${MAKE} build-tools
 #
 #build-tools: build-tools-${_tool}
 #       /usr/bin ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
 #
 #.endfor
 #_EOF
         cd -          cd -
 }  }
   
 build_elwix()  build_elwix()
 {  {
        echo "+++ Build ELWIX RootFS firmware ..."        echo "+++ Build ELWIX RootFS firmware ... $ROOTFS_MKDIR"
        cd $MKDIR        cd $ROOTFS_MKDIR
        make -f $MKF clean        ${CBUILD} -f $MKF \
        make -f $MKF                TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
                 ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} clean
         ${CBUILD} -f $MKF \
                 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}
         if [ $? -ne 0 ]; then
                 exit 1
         fi
         cd -          cd -
 }  }
   
 build_rootdir()  build_rootdir()
 {  {
        echo "+++ Build RootFS directory ..."        echo "+++ Build RootFS directory ... $ROOTFS"
         cd $ROOTFS          cd $ROOTFS
   
         install -d bin;          install -d bin;
         install -d dev;          install -d dev;
         install -d elwix;          install -d elwix;
        install -d elwix/etc;        install -d etc;
         install -d libexec;
         install -d mnt;          install -d mnt;
         install -d -m 0555 proc;          install -d -m 0555 proc;
           install -d rescue;
         install -d sbin;          install -d sbin;
         install -d system;  
         install -d -m 1777 tmp;          install -d -m 1777 tmp;
         install -d usr;          install -d usr;
           install -d usr/bin;
           install -d usr/lib;
           install -d usr/libexec;
           install -d usr/sbin;
         install -d var;          install -d var;
           install -d var/sys;
   
         ln -fs /usr/lib lib;          ln -fs /usr/lib lib;
         ln -fs /usr/libexec libexec;  
   
        ln -fs /elwix/etc etc;        ln -fs /elwix/boot boot;
         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 114  build_rootdir() Line 162  build_rootdir()
   
 install_rootfs()  install_rootfs()
 {  {
         PRG="/sbin/elwix"  
         BIN="${ROOTFS}/bin"          BIN="${ROOTFS}/bin"
         SBIN="${ROOTFS}/sbin"          SBIN="${ROOTFS}/sbin"
        ETC="${ROOTFS}/elwix/etc"        UBIN="${ROOTFS}/usr/bin"
         LIBEXEC="${ROOTFS}/usr/libexec"
         ETC="${ROOTFS}/etc"
         RESCUE="${ROOTFS}/rescue"
   
        echo "+++ Install ELWIX into RootFS directory ..."        PRG="/sbin/elwix"
        install $MKDIR/elwix $SBIN        LNPRG="${SBIN}/elwix"
   
           echo "+++ Install ELWIX into RootFS directory ... $ROOTFS"
           install $ROOTFS_MKDIR/elwix $SBIN
   
         InstallList ${ELWIX_ROOTFS} ${WORLD} ${ROOTFS}          InstallList ${ELWIX_ROOTFS} ${WORLD} ${ROOTFS}
   
        InstallFiles ${ROOTFS_ETC} $ETC        InstallDir ${ROOTFS_ETC} $ETC
   
        ln -s /usr/sbin/nologin $SBIN#        ln -s /usr/sbin/nologin $SBIN
   
         ln -s $PRG $BIN/test          ln -s $PRG $BIN/test
         ln -s $PRG $BIN/\[          ln -s $PRG $BIN/\[
Line 135  install_rootfs() Line 188  install_rootfs()
         ln -s $PRG $BIN/chio          ln -s $PRG $BIN/chio
         ln -s $PRG $BIN/chmod          ln -s $PRG $BIN/chmod
         ln -s $PRG $BIN/cp          ln -s $PRG $BIN/cp
           ln -s $PRG $RESCUE/cp
         ln -s $PRG $BIN/csh          ln -s $PRG $BIN/csh
           ln -s $PRG $BIN/-csh
           ln -s $PRG $RESCUE/csh
         ln -s $PRG $BIN/tcsh          ln -s $PRG $BIN/tcsh
           ln -s $PRG $BIN/-tcsh
         ln -s $PRG $BIN/date          ln -s $PRG $BIN/date
         ln -s $PRG $BIN/dd          ln -s $PRG $BIN/dd
         ln -s $PRG $BIN/df          ln -s $PRG $BIN/df
         ln -s $PRG $BIN/domainname          ln -s $PRG $BIN/domainname
         ln -s $PRG $BIN/echo          ln -s $PRG $BIN/echo
         ln -s $PRG $BIN/expr          ln -s $PRG $BIN/expr
         ln -s $PRG $BIN/getfacl  
         ln -s $PRG $BIN/hostname          ln -s $PRG $BIN/hostname
         ln -s $PRG $BIN/kenv          ln -s $PRG $BIN/kenv
         ln -s $PRG $BIN/kill          ln -s $PRG $BIN/kill
Line 157  install_rootfs() Line 213  install_rootfs()
         ln -s $PRG $BIN/pgrep          ln -s $PRG $BIN/pgrep
         ln -s $PRG $BIN/sh          ln -s $PRG $BIN/sh
         ln -s $PRG $BIN/-sh          ln -s $PRG $BIN/-sh
        ln -s $PRG $BIN/-tcsh        ln -s $PRG $RESCUE/sh
         ln -s $PRG $BIN/ps          ln -s $PRG $BIN/ps
         ln -s $PRG $BIN/pwait          ln -s $PRG $BIN/pwait
         ln -s $PRG $BIN/pwd          ln -s $PRG $BIN/pwd
         ln -s $PRG $BIN/realpath          ln -s $PRG $BIN/realpath
         ln -s $PRG $BIN/rm          ln -s $PRG $BIN/rm
           ln -s $PRG $RESCUE/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/setfacl 
         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 $SBIN/adjkerntz        ln -s $PRG $BIN/true
        ln -s $PRG $SBIN/atacontrol        ln -s $PRG $BIN/false
        ln -s $PRG $SBIN/badsect        ln -s $PRG $BIN/basename
         ln -s $PRG $BIN/tail
         ln -s $PRG $BIN/nc
         ln -s $PRG $BIN/w
         ln -s $PRG $BIN/head
         ln -s $PRG $BIN/uname
         ln -s $PRG $BIN/tset
         ln -s $PRG $BIN/vmstat
         ln -s $PRG $BIN/systat
         ln -s $PRG $BIN/tput
         ln -s $PRG $BIN/grep
         ln -s $PRG $BIN/awk
         ln -s $PRG $BIN/less
         ln -s $PRG $BIN/gzip
         ln -s $PRG $BIN/cap_mkdb
         ln -s $PRG $BIN/sed
         ln -s $PRG $BIN/vi
         ln -s $PRG $RESCUE/vi
         ln -s $PRG $BIN/du
         ln -s $PRG $BIN/getopt
         ln -s $PRG $BIN/logger
         ln -s $PRG $BIN/nice
         ln -s $PRG $BIN/nohup
         ln -s $PRG $BIN/seq
         ln -s $PRG $BIN/sockstat
         ln -s $PRG $BIN/stat
         ln -s $PRG $BIN/tee
         ln -s $PRG $BIN/tftp
         ln -s $PRG $BIN/touch
         ln -s $PRG $BIN/wc
         ln -s $PRG $BIN/xargs
         ln -s $PRG $BIN/printenv
         ln -s $PRG $BIN/egrep
         ln -s $PRG $BIN/fgrep
         ln -s $PRG $BIN/tar
         ln -s $PRG $BIN/cpio
         ln -s $PRG $BIN/nawk
         ln -s $PRG $BIN/gunzip
         ln -s $PRG $BIN/gzcat
         ln -s $PRG $BIN/zcat
         ln -s $PRG $BIN/more
         ln -s $PRG $BIN/reset
         ln -s $PRG $BIN/readlink
         ln -s $PRG $BIN/uptime
         ln -s $PRG $BIN/bzip2
         ln -s $PRG $BIN/bunzip2
         ln -s $PRG $BIN/bzcat
 
         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/ccdconfig#        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
         ln -s $PRG $SBIN/dump          ln -s $PRG $SBIN/dump
         ln -s $PRG $SBIN/rdump          ln -s $PRG $SBIN/rdump
         ln -s $PRG $SBIN/dumpfs  
         ln -s $PRG $SBIN/dumpon          ln -s $PRG $SBIN/dumpon
         ln -s $PRG $SBIN/fdisk          ln -s $PRG $SBIN/fdisk
         ln -s $PRG $SBIN/ffsinfo  
         ln -s $PRG $SBIN/fsck          ln -s $PRG $SBIN/fsck
           ln -s $PRG $RESCUE/fsck
         ln -s $PRG $SBIN/fsck_ffs          ln -s $PRG $SBIN/fsck_ffs
         ln -s $PRG $SBIN/fsck_ufs          ln -s $PRG $SBIN/fsck_ufs
         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/gbde        ln -s $PRG $SBIN/etherswitchcfg
        ln -s $PRG $SBIN/ggatec#        ln -s $PRG $SBIN/-geom
        ln -s $PRG $SBIN/ggated#        ln -s $PRG $SBIN/glabel
        ln -s $PRG $SBIN/ggatel#        ln -s $PRG $SBIN/gpart
        ln -s $PRG $SBIN/-geom#       ln -s $PRG $SBIN/graid
        ln -s $PRG $SBIN/glabel#        ln -s $PRG $SBIN/growfs
        ln -s $PRG $SBIN/gpart#        ln -s $PRG $SBIN/hastctl
        ln -s $PRG $SBIN/growfs#        ln -s $PRG $SBIN/hastd
        ln -s $PRG $SBIN/hastctl 
        ln -s $PRG $SBIN/hastd 
         ln -s $PRG $SBIN/ifconfig          ln -s $PRG $SBIN/ifconfig
           ln -s $PRG $RESCUE/ifconfig
         ln -s $PRG $SBIN/init          ln -s $PRG $SBIN/init
         ln -s $PRG $SBIN/ipfw          ln -s $PRG $SBIN/ipfw
         ln -s $PRG $SBIN/iscontrol          ln -s $PRG $SBIN/iscontrol
Line 218  install_rootfs() Line 318  install_rootfs()
         ln -s $PRG $SBIN/sha256          ln -s $PRG $SBIN/sha256
         ln -s $PRG $SBIN/rmd160          ln -s $PRG $SBIN/rmd160
         ln -s $PRG $SBIN/mdconfig          ln -s $PRG $SBIN/mdconfig
           ln -s $PRG $RESCUE/mdconfig
         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 $RESCUE/mount
 #        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_newnfs#        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/natd  
         ln -s $PRG $SBIN/newfs          ln -s $PRG $SBIN/newfs
           ln -s $PRG $RESCUE/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/pfctl          ln -s $PRG $SBIN/pfctl
         ln -s $PRG $SBIN/pflogd          ln -s $PRG $SBIN/pflogd
         ln -s $PRG $SBIN/ping  
         ln -s $PRG $SBIN/ping6  
         ln -s $PRG $SBIN/quotacheck          ln -s $PRG $SBIN/quotacheck
         ln -s $PRG $SBIN/reboot          ln -s $PRG $SBIN/reboot
           ln -s $PRG $RESCUE/reboot
         ln -s $PRG $SBIN/halt          ln -s $PRG $SBIN/halt
           ln -s $PRG $RESCUE/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/savecore  
         ln -s $PRG $SBIN/setkey  
         ln -s $PRG $SBIN/shutdown          ln -s $PRG $SBIN/shutdown
        ln -s $PRG $SBIN/spppcontrol#        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
         ln -s $PRG $SBIN/zfs          ln -s $PRG $SBIN/zfs
         ln -s $PRG $SBIN/zpool          ln -s $PRG $SBIN/zpool
   
           ln -s $PRG $SBIN/ping
           ln -s $PRG $SBIN/ping6
           ln -s $PRG $SBIN/traceroute
           ln -s $PRG $SBIN/traceroute6
   
           ln -s $PRG $SBIN/chown
           ln -s $PRG $SBIN/pwd_mkdb
           ln -s $PRG $SBIN/arp
           ln -s $PRG $SBIN/gpioctl
           ln -s $PRG $SBIN/hostapd
           ln -s $PRG $SBIN/hostapd_cli
           ln -s $PRG $SBIN/wpa_supplicant
           ln -s $PRG $SBIN/wpa_cli
           ln -s $PRG $SBIN/wpa_passphrase
           ln -s $PRG $SBIN/wake
           ln -s $PRG $SBIN/watchdog
           ln -s $PRG $SBIN/watchdogd
   #       ln -s $PRG $SBIN/inetd
           ln -s $PRG $SBIN/wlandebug
           ln -s $PRG $SBIN/chroot
           ln -s $PRG $SBIN/i2c
           ln -s $PRG $SBIN/iostat
   #       ln -s $PRG $SBIN/jail
   #       ln -s $PRG $SBIN/jexec
   #       ln -s $PRG $SBIN/jls
           ln -s $PRG $SBIN/ndp
           ln -s $PRG $SBIN/newsyslog
           ln -s $PRG $SBIN/nologin
           ln -s $PRG $SBIN/pstat
           ln -s $PRG $SBIN/rtadvctl
           ln -s $PRG $SBIN/rtadvd
           ln -s $PRG $SBIN/rtsold
           ln -s $PRG $SBIN/syslogd
           ln -s $PRG $SBIN/setfib
           ln -s $PRG $SBIN/swapinfo
           ln -s $PRG $SBIN/chgrp
   
           ln -s $PRG $UBIN/login
           ln -s $PRG $UBIN/passwd
   
           ln -s $PRG $LIBEXEC/getty
   #       ln -s $PRG $LIBEXEC/tftpd
   
           strip -s $LNPRG
   
         chown -hR root:wheel $ROOTFS          chown -hR root:wheel $ROOTFS
   
           echo "+++ ELWIX clean CVS tags ..."
           CleanCVS $ETC
           echo
 }  }
   
 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 || exit 1
         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 | grep "MFS Filesystem" | cut -d ' ' -f 1 | head -1`        echo "exec> stat -f '%z' $REL/$ROOTFS_IMG"
        STOP=`strings -td $KERNEL | grep "MFS Filesystem" | cut -d ' ' -f 1 | tail -1`        mfs_size=`stat -f '%z' $REL/$ROOTFS_IMG 2>/dev/null`
        STOP=$(($STOP + 1))        [ -z ${mfs_size} ] && echo "Can't determine MFS image size" && exit 1
   
        head -c $START $KERNEL >$NEWKERN        echo "exec> ${CROSSTOOLDIR}/usr/bin/objdump -h $KERNEL_ROOTFS 2> /dev/null | grep \" oldmfs \""
        cat $REL/$ROOTFS_IMG >>$NEWKERN        sec_info=`${CROSSTOOLDIR}/usr/bin/objdump -h $KERNEL_ROOTFS 2> /dev/null | grep " oldmfs "`
        tail -c +$STOP $KERNEL >>$NEWKERN        [ -z "${sec_info}" ] && echo "Can't locate mfs section within kernel" && exit 1
         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 kernel        gzip -9 $KRNNAME
         cd -          cd -
   
           echo "+++ Completed ELWIX RootFS kernel ... $NEWKERN.gz"
 }  }
   
 ### main()  ### main()
 if SnitVer ${WORLD}/elwix.ver; then  if SnitVer ${WORLD}/elwix.ver; then
         clean_elwix          clean_elwix
        prepare_elwix        prepare_elwix || exit 1
        build_elwix        build_elwix || exit 1
   
        build_rootdir        build_rootdir || exit 1
        install_rootfs        install_rootfs || exit 1
   
        build_image        build_image || exit 1
        install_image        install_image || exit 1
 else  else
        echo "Skipped ELWIX RootFS build ..."        echo "$? Skipped ELWIX RootFS build ..."
 fi  fi
   
 echo "+++ Complete build ELWIX RootFS"  echo "+++ Complete build ELWIX RootFS"

Removed from v.1.1  
changed lines
  Added in v.1.11


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