version 1.2.4.8, 2012/05/28 23:19:05
|
version 1.12, 2021/07/16 18:35:50
|
Line 30 if [ "${USER}" != "root" ]; then
|
Line 30 if [ "${USER}" != "root" ]; then
|
exit 1 |
exit 1 |
fi |
fi |
|
|
NEWKERN="${REL}/kernel" | if [ ! -x "${OBJDUMP}" ]; then |
| echo |
| echo "ELWIX project is not configured - executable objdump not found !" |
| echo |
| exit 1 |
| fi |
|
|
|
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 |
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 |
chflags -R noschg $ROOTFS |
rm -rf $ROOTFS |
rm -rf $ROOTFS |
mkdir $ROOTFS |
mkdir $ROOTFS |
Line 53 clean_elwix()
|
Line 65 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 !!! |
# |
# |
|
|
#CRUNCH_SUPPRESS_LINK_-sh= 1 | LDFLAGS += -L${WORLD}/lib -L${WORLD}/usr/lib |
#CRUNCH_SUPPRESS_LINK_-csh= 1 | CFLAGS += -I${BSDSRC}/lib/libifconfig -I${BSDOBJ}${BSDSRC}/${TARGET}.${TARGET_ARCH}/lib/libifconfig |
#CRUNCH_SUPPRESS_LINK_-tcsh= 1 | |
| |
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}/tools/tools ${BSDSRC}/tools/tools/ath |
srcdirs ${BSDSRC}/release/picobsd/tinyware | srcdirs ${BSDSRC}/contrib/ncurses/progs ${BSDSRC}/lib/libifconfig |
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 |
srcdirs ${BSDSRC}/usr.bin ${BSDSRC}/usr.sbin ${BSDSRC}/usr.sbin/wpa |
srcdirs ${BSDSRC}/usr.bin ${BSDSRC}/usr.sbin ${BSDSRC}/usr.sbin/wpa |
srcdirs ${BSDSRC}/secure/usr.bin ${BSDSRC}/secure/usr.sbin ${BSDSRC}/secure/libexec |
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 -DNO_PAM -DNO_KERBEROS WITHOUT_PAM_SUPPORT=yes WITHOUT_KERBEROS_SUPPORT=yes WITHOUT_KERBEROS=yes |
buildopts TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} MAKEOBJDIRPREFIX=${BSDOBJ}/elwix | buildopts -DMK_CASPER=no WITHOUT_CASPER=yes MK_TESTS=no UPDATE_DEPENDFILE=yes _RECURSING_CRUNCH=1 |
_EOF |
_EOF |
cat $CFGDIR/$ROOTFS_CONF >>$ROOTFS_CONF |
cat $CFGDIR/$ROOTFS_CONF >>$ROOTFS_CONF |
|
cat >>$ROOTFS_CONF <<_EOF |
|
special ping6 srcdir ${BSDSRC}/sbin/ping |
|
special tput srcdir ${BSDSRC}/contrib/ncurses/progs |
|
special tset srcdir ${BSDSRC}/contrib/ncurses/progs |
|
|
. ${CENV} | special ifconfig lib ${BSDOBJ}${BSDSRC}/${TARGET}.${TARGET_ARCH}/lib/libifconfig/libifconfig.a |
| _EOF |
| echo "+++ Prepared RootFS config ... $CFGDIR/$ROOTFS_CONF" |
| |
install -d ${BSDOBJ}/elwix |
install -d ${BSDOBJ}/elwix |
crunchgen -f -o -p ${BSDOBJ}/elwix -h $MKDIR/$MKH -m $MKF -c elwix.c -e elwix $ROOTFS_CONF | 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 |
. ${CENV} | ${CBUILD} -f $MKF \ |
MAKEOBJDIRPREFIX=${BSDOBJ}/elwix | TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ |
make -f $MKF clean | ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} |
make -f $MKF | |
if [ $? -ne 0 ]; then |
if [ $? -ne 0 ]; then |
exit 1 |
exit 1 |
fi |
fi |
Line 100 build_elwix()
|
Line 136 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; |
install -d dev; |
install -d dev; |
install -d elwix; |
install -d elwix; |
install -d elwix/etc; | install -d etc; |
install -d libexec; |
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/bin; |
Line 119 build_rootdir()
|
Line 155 build_rootdir()
|
install -d usr/libexec; |
install -d usr/libexec; |
install -d usr/sbin; |
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 /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 137 install_rootfs()
|
Line 174 install_rootfs()
|
SBIN="${ROOTFS}/sbin" |
SBIN="${ROOTFS}/sbin" |
UBIN="${ROOTFS}/usr/bin" |
UBIN="${ROOTFS}/usr/bin" |
LIBEXEC="${ROOTFS}/usr/libexec" |
LIBEXEC="${ROOTFS}/usr/libexec" |
ETC="${ROOTFS}/elwix/etc" | ETC="${ROOTFS}/etc" |
| RESCUE="${ROOTFS}/rescue" |
|
|
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 $MKDIR/elwix $SBIN | install $ROOTFS_MKDIR/elwix $SBIN |
|
|
InstallList ${ELWIX_ROOTFS} ${WORLD} ${ROOTFS} |
InstallList ${ELWIX_ROOTFS} ${WORLD} ${ROOTFS} |
|
|
Line 151 install_rootfs()
|
Line 189 install_rootfs()
|
|
|
# ln -s /usr/sbin/nologin $SBIN |
# ln -s /usr/sbin/nologin $SBIN |
|
|
ln $LNPRG $BIN/csh | ln -s $PRG $BIN/test |
ln $LNPRG $BIN/tcsh | ln -s $PRG $BIN/\[ |
| ln -s $PRG $BIN/cat |
| ln -s $PRG $BIN/chflags |
| ln -s $PRG $BIN/chio |
| ln -s $PRG $BIN/chmod |
| ln -s $PRG $BIN/cp |
| ln -s $PRG $RESCUE/cp |
| 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/date |
| ln -s $PRG $BIN/dd |
| ln -s $PRG $BIN/df |
| ln -s $PRG $BIN/domainname |
| ln -s $PRG $BIN/echo |
| ln -s $PRG $BIN/expr |
| ln -s $PRG $BIN/hostname |
| ln -s $PRG $BIN/kenv |
| ln -s $PRG $BIN/kill |
| ln -s $PRG $BIN/ln |
| ln -s $PRG $BIN/link |
| ln -s $PRG $BIN/ls |
| ln -s $PRG $BIN/mkdir |
| ln -s $PRG $BIN/mv |
| ln -s $PRG $BIN/pax |
| ln -s $PRG $BIN/pkill |
| ln -s $PRG $BIN/pgrep |
| ln -s $PRG $BIN/sh |
| ln -s $PRG $BIN/-sh |
| ln -s $PRG $RESCUE/sh |
| ln -s $PRG $BIN/ps |
| ln -s $PRG $BIN/pwait |
| ln -s $PRG $BIN/pwd |
| ln -s $PRG $BIN/realpath |
| ln -s $PRG $BIN/rm |
| ln -s $PRG $RESCUE/rm |
| ln -s $PRG $BIN/unlink |
| # ln -s $PRG $BIN/rmdir |
| ln -s $PRG $BIN/sleep |
| ln -s $PRG $BIN/stty |
| ln -s $PRG $BIN/sync |
| # ln -s $PRG $BIN/uuidgen |
|
|
ln $LNPRG $BIN/test | ln -s $PRG $BIN/true |
ln $LNPRG $BIN/\[ | ln -s $PRG $BIN/false |
ln $LNPRG $BIN/cat | ln -s $PRG $BIN/basename |
ln $LNPRG $BIN/chflags | ln -s $PRG $BIN/tail |
ln $LNPRG $BIN/chio | ln -s $PRG $BIN/nc |
ln $LNPRG $BIN/chmod | ln -s $PRG $BIN/w |
ln $LNPRG $BIN/cp | ln -s $PRG $BIN/head |
ln $LNPRG $BIN/date | ln -s $PRG $BIN/uname |
ln $LNPRG $BIN/dd | ln -s $PRG $BIN/tset |
ln $LNPRG $BIN/df | ln -s $PRG $BIN/vmstat |
ln $LNPRG $BIN/domainname | ln -s $PRG $BIN/systat |
ln $LNPRG $BIN/echo | ln -s $PRG $BIN/tput |
ln $LNPRG $BIN/expr | ln -s $PRG $BIN/grep |
ln $LNPRG $BIN/hostname | ln -s $PRG $BIN/awk |
ln $LNPRG $BIN/kenv | ln -s $PRG $BIN/less |
ln $LNPRG $BIN/kill | ln -s $PRG $BIN/gzip |
ln $LNPRG $BIN/ln | ln -s $PRG $BIN/cap_mkdb |
ln $LNPRG $BIN/link | ln -s $PRG $BIN/sed |
ln $LNPRG $BIN/ls | ln -s $PRG $BIN/vi |
ln $LNPRG $BIN/mkdir | ln -s $PRG $RESCUE/vi |
ln $LNPRG $BIN/mv | ln -s $PRG $BIN/du |
ln $LNPRG $BIN/pax | ln -s $PRG $BIN/getopt |
ln $LNPRG $BIN/pkill | ln -s $PRG $BIN/logger |
ln $LNPRG $BIN/pgrep | ln -s $PRG $BIN/nice |
ln $LNPRG $BIN/sh | ln -s $PRG $BIN/nohup |
ln $LNPRG $BIN/-sh | ln -s $PRG $BIN/seq |
ln $LNPRG $BIN/ps | ln -s $PRG $BIN/sockstat |
ln $LNPRG $BIN/pwait | ln -s $PRG $BIN/stat |
ln $LNPRG $BIN/pwd | ln -s $PRG $BIN/tee |
ln $LNPRG $BIN/realpath | ln -s $PRG $BIN/tftp |
ln $LNPRG $BIN/rm | ln -s $PRG $BIN/touch |
ln $LNPRG $BIN/unlink | ln -s $PRG $BIN/wc |
ln $LNPRG $BIN/rmdir | ln -s $PRG $BIN/xargs |
ln $LNPRG $BIN/sleep | ln -s $PRG $BIN/printenv |
ln $LNPRG $BIN/stty | ln -s $PRG $BIN/egrep |
ln $LNPRG $BIN/sync | ln -s $PRG $BIN/fgrep |
ln $LNPRG $BIN/uuidgen | 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 $LNPRG $BIN/true | ln -s $PRG $SBIN/bsdlabel |
ln $LNPRG $BIN/false | ln -s $PRG $SBIN/disklabel |
ln $LNPRG $BIN/basename | # ln -s $PRG $SBIN/camcontrol |
ln $LNPRG $BIN/tail | # ln -s $PRG $SBIN/comcontrol |
ln $LNPRG $BIN/nc | # ln -s $PRG $SBIN/conscontrol |
ln $LNPRG $BIN/w | ln -s $PRG $SBIN/devfs |
ln $LNPRG $BIN/head | ln -s $PRG $SBIN/dhclient |
ln $LNPRG $BIN/uname | ln -s $PRG $SBIN/dmesg |
ln $LNPRG $BIN/tset | ln -s $PRG $SBIN/dump |
ln $LNPRG $BIN/vmstat | ln -s $PRG $SBIN/rdump |
ln $LNPRG $BIN/systat | ln -s $PRG $SBIN/dumpon |
ln $LNPRG $BIN/tput | ln -s $PRG $SBIN/fdisk |
ln $LNPRG $BIN/grep | ln -s $PRG $SBIN/fsck |
ln $LNPRG $BIN/awk | ln -s $PRG $RESCUE/fsck |
ln $LNPRG $BIN/less | ln -s $PRG $SBIN/fsck_ffs |
ln $LNPRG $BIN/gzip | ln -s $PRG $SBIN/fsck_ufs |
ln $LNPRG $BIN/cap_mkdb | ln -s $PRG $SBIN/fsck_4.2bsd |
ln $LNPRG $BIN/sed | ln -s $PRG $SBIN/fsck_msdosfs |
ln $LNPRG $BIN/vi | ln -s $PRG $SBIN/etherswitchcfg |
ln $LNPRG $BIN/du | # ln -s $PRG $SBIN/-geom |
ln $LNPRG $BIN/getopt | # ln -s $PRG $SBIN/glabel |
ln $LNPRG $BIN/logger | # ln -s $PRG $SBIN/gpart |
ln $LNPRG $BIN/nice | # ln -s $PRG $SBIN/graid |
ln $LNPRG $BIN/nohup | # ln -s $PRG $SBIN/growfs |
ln $LNPRG $BIN/seq | # ln -s $PRG $SBIN/hastctl |
ln $LNPRG $BIN/sockstat | # ln -s $PRG $SBIN/hastd |
ln $LNPRG $BIN/stat | ln -s $PRG $SBIN/ifconfig |
ln $LNPRG $BIN/tee | ln -s $PRG $RESCUE/ifconfig |
ln $LNPRG $BIN/tftp | ln -s $PRG $SBIN/init |
ln $LNPRG $BIN/touch | ln -s $PRG $SBIN/ipfw |
ln $LNPRG $BIN/wc | ln -s $PRG $SBIN/iscontrol |
ln $LNPRG $BIN/xargs | ln -s $PRG $SBIN/kldconfig |
ln $LNPRG $BIN/printenv | ln -s $PRG $SBIN/kldload |
ln $LNPRG $BIN/egrep | ln -s $PRG $SBIN/kldstat |
ln $LNPRG $BIN/fgrep | ln -s $PRG $SBIN/kldunload |
ln $LNPRG $BIN/tar | ln -s $PRG $SBIN/ldconfig |
ln $LNPRG $BIN/cpio | ln -s $PRG $SBIN/md5 |
ln $LNPRG $BIN/nawk | ln -s $PRG $SBIN/sha1 |
ln $LNPRG $BIN/gunzip | ln -s $PRG $SBIN/sha256 |
ln $LNPRG $BIN/gzcat | ln -s $PRG $SBIN/rmd160 |
ln $LNPRG $BIN/zcat | ln -s $PRG $SBIN/mdconfig |
ln $LNPRG $BIN/more | ln -s $PRG $RESCUE/mdconfig |
ln $LNPRG $BIN/reset | ln -s $PRG $SBIN/mdmfs |
ln $LNPRG $BIN/readlink | ln -s $PRG $SBIN/mount_mfs |
ln $LNPRG $BIN/uptime | ln -s $PRG $SBIN/mknod |
ln $LNPRG $BIN/bzip2 | # ln -s $PRG $SBIN/mksnap_ffs |
ln $LNPRG $BIN/bunzip2 | ln -s $PRG $SBIN/mount |
ln $LNPRG $BIN/bzcat | ln -s $PRG $RESCUE/mount |
| # ln -s $PRG $SBIN/mount_cd9660 |
| ln -s $PRG $SBIN/mount_msdosfs |
| ln -s $PRG $SBIN/mount_nfs |
| # ln -s $PRG $SBIN/mount_ntfs |
| ln -s $PRG $SBIN/mount_nullfs |
| # ln -s $PRG $SBIN/mount_udf |
| ln -s $PRG $SBIN/mount_unionfs |
| ln -s $PRG $SBIN/newfs |
| ln -s $PRG $RESCUE/newfs |
| ln -s $PRG $SBIN/newfs_msdos |
| # ln -s $PRG $SBIN/nfsiod |
| # ln -s $PRG $SBIN/nos-tun |
| # ln -s $PRG $SBIN/nvmecontrol |
| ln -s $PRG $SBIN/pfctl |
| ln -s $PRG $SBIN/pflogd |
| ln -s $PRG $SBIN/quotacheck |
| ln -s $PRG $SBIN/reboot |
| ln -s $PRG $RESCUE/reboot |
| ln -s $PRG $SBIN/halt |
| ln -s $PRG $RESCUE/halt |
| ln -s $PRG $SBIN/fastboot |
| ln -s $PRG $SBIN/fasthalt |
| # ln -s $PRG $SBIN/recoverdisk |
| ln -s $PRG $SBIN/restore |
| ln -s $PRG $SBIN/rrestore |
| ln -s $PRG $SBIN/route |
| ln -s $PRG $SBIN/rtsol |
| ln -s $PRG $SBIN/shutdown |
| # ln -s $PRG $SBIN/savecore |
| # ln -s $PRG $SBIN/swapon |
| # ln -s $PRG $SBIN/swapoff |
| # ln -s $PRG $SBIN/swapctl |
| ln -s $PRG $SBIN/sysctl |
| ln -s $PRG $SBIN/tunefs |
| ln -s $PRG $SBIN/umount |
| ln -s $PRG $SBIN/zfs |
| ln -s $PRG $SBIN/zpool |
|
|
ln $LNPRG $SBIN/atacontrol | ln -s $PRG $SBIN/ping |
ln $LNPRG $SBIN/bsdlabel | ln -s $PRG $SBIN/ping6 |
ln $LNPRG $SBIN/disklabel | ln -s $PRG $SBIN/traceroute |
ln $LNPRG $SBIN/camcontrol | ln -s $PRG $SBIN/traceroute6 |
ln $LNPRG $SBIN/comcontrol | |
ln $LNPRG $SBIN/conscontrol | |
ln $LNPRG $SBIN/devfs | |
ln $LNPRG $SBIN/dhclient | |
ln $LNPRG $SBIN/dmesg | |
ln $LNPRG $SBIN/dump | |
ln $LNPRG $SBIN/rdump | |
ln $LNPRG $SBIN/dumpon | |
ln $LNPRG $SBIN/fdisk | |
ln $LNPRG $SBIN/fsck | |
ln $LNPRG $SBIN/fsck_ffs | |
ln $LNPRG $SBIN/fsck_ufs | |
ln $LNPRG $SBIN/fsck_4.2bsd | |
ln $LNPRG $SBIN/fsck_msdosfs | |
ln $LNPRG $SBIN/-geom | |
ln $LNPRG $SBIN/glabel | |
ln $LNPRG $SBIN/gpart | |
ln $LNPRG $SBIN/growfs | |
ln $LNPRG $SBIN/hastctl | |
ln $LNPRG $SBIN/hastd | |
ln $LNPRG $SBIN/ifconfig | |
ln $LNPRG $SBIN/init | |
ln $LNPRG $SBIN/ipfw | |
ln $LNPRG $SBIN/iscontrol | |
ln $LNPRG $SBIN/kldconfig | |
ln $LNPRG $SBIN/kldload | |
ln $LNPRG $SBIN/kldstat | |
ln $LNPRG $SBIN/kldunload | |
ln $LNPRG $SBIN/ldconfig | |
ln $LNPRG $SBIN/md5 | |
ln $LNPRG $SBIN/sha1 | |
ln $LNPRG $SBIN/sha256 | |
ln $LNPRG $SBIN/rmd160 | |
ln $LNPRG $SBIN/mdconfig | |
ln $LNPRG $SBIN/mdmfs | |
ln $LNPRG $SBIN/mount_mfs | |
ln $LNPRG $SBIN/mknod | |
ln $LNPRG $SBIN/mksnap_ffs | |
ln $LNPRG $SBIN/mount | |
ln $LNPRG $SBIN/mount_cd9660 | |
ln $LNPRG $SBIN/mount_msdosfs | |
ln $LNPRG $SBIN/mount_nfs | |
ln $LNPRG $SBIN/mount_ntfs | |
ln $LNPRG $SBIN/mount_nullfs | |
ln $LNPRG $SBIN/mount_udf | |
ln $LNPRG $SBIN/mount_unionfs | |
ln $LNPRG $SBIN/newfs | |
ln $LNPRG $SBIN/newfs_msdos | |
ln $LNPRG $SBIN/nfsiod | |
ln $LNPRG $SBIN/nos-tun | |
ln $LNPRG $SBIN/pfctl | |
ln $LNPRG $SBIN/pflogd | |
ln $LNPRG $SBIN/quotacheck | |
ln $LNPRG $SBIN/reboot | |
ln $LNPRG $SBIN/halt | |
ln $LNPRG $SBIN/fastboot | |
ln $LNPRG $SBIN/fasthalt | |
ln $LNPRG $SBIN/recoverdisk | |
ln $LNPRG $SBIN/restore | |
ln $LNPRG $SBIN/rrestore | |
ln $LNPRG $SBIN/route | |
ln $LNPRG $SBIN/rtsol | |
ln $LNPRG $SBIN/shutdown | |
ln $LNPRG $SBIN/savecore | |
ln $LNPRG $SBIN/swapon | |
ln $LNPRG $SBIN/swapoff | |
ln $LNPRG $SBIN/swapctl | |
ln $LNPRG $SBIN/sysctl | |
ln $LNPRG $SBIN/tunefs | |
ln $LNPRG $SBIN/umount | |
ln $LNPRG $SBIN/zfs | |
ln $LNPRG $SBIN/zpool | |
|
|
ln $LNPRG $SBIN/ping | ln -s $PRG $SBIN/chown |
ln $LNPRG $SBIN/ping6 | ln -s $PRG $SBIN/pwd_mkdb |
ln $LNPRG $SBIN/traceroute | ln -s $PRG $SBIN/arp |
ln $LNPRG $SBIN/traceroute6 | 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 $LNPRG $SBIN/chown | ln -s $PRG $UBIN/login |
ln $LNPRG $SBIN/pwd_mkdb | ln -s $PRG $UBIN/passwd |
ln $LNPRG $SBIN/arp | |
ln $LNPRG $SBIN/gpioctl | |
ln $LNPRG $SBIN/hostapd | |
ln $LNPRG $SBIN/hostapd_cli | |
ln $LNPRG $SBIN/wpa_supplicant | |
ln $LNPRG $SBIN/wpa_cli | |
ln $LNPRG $SBIN/wpa_passphrase | |
ln $LNPRG $SBIN/wake | |
ln $LNPRG $SBIN/watchdog | |
ln $LNPRG $SBIN/watchdogd | |
ln $LNPRG $SBIN/inetd | |
ln $LNPRG $SBIN/wlandebug | |
ln $LNPRG $SBIN/chroot | |
ln $LNPRG $SBIN/i2c | |
ln $LNPRG $SBIN/iostat | |
ln $LNPRG $SBIN/jail | |
ln $LNPRG $SBIN/jexec | |
ln $LNPRG $SBIN/jls | |
ln $LNPRG $SBIN/ndp | |
ln $LNPRG $SBIN/newsyslog | |
ln $LNPRG $SBIN/nologin | |
ln $LNPRG $SBIN/pstat | |
ln $LNPRG $SBIN/rtadvctl | |
ln $LNPRG $SBIN/rtadvd | |
ln $LNPRG $SBIN/rtsold | |
ln $LNPRG $SBIN/syslogd | |
ln $LNPRG $SBIN/setfib | |
ln $LNPRG $SBIN/swapinfo | |
ln $LNPRG $SBIN/chgrp | |
|
|
ln $LNPRG $UBIN/login | ln -s $PRG $LIBEXEC/getty |
ln $LNPRG $UBIN/passwd | # ln -s $PRG $LIBEXEC/tftpd |
|
|
ln $LNPRG $LIBEXEC/getty |
|
ln $LNPRG $LIBEXEC/tftpd |
|
|
|
strip -s $LNPRG |
strip -s $LNPRG |
|
|
chown -hR root:wheel $ROOTFS |
chown -hR root:wheel $ROOTFS |
|
|
echo "+++ ELWIX clean CVS tags ..." |
echo "+++ ELWIX clean CVS tags ..." |
CleanCVS $ETC |
CleanCVS $ETC |
CleanCVS $ETC/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> ${OBJDUMP} -h $KERNEL_ROOTFS 2> /dev/null | grep \" oldmfs \"" |
cat $REL/$ROOTFS_IMG >>$NEWKERN | sec_info=`${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 && install_image | build_image || exit 1 |
| 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" |