version 1.2.4.1, 2011/12/19 20:43:07
|
version 1.8.2.8, 2014/07/01 19:36:35
|
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 ..." |
rm -rf ${BSDOBJ}/usr/src/bin/csh/* | rm -rf $BSDOBJ/elwix |
|
|
echo "+++ Clean ELWIX RootFS firmware ..." |
echo "+++ Clean ELWIX RootFS firmware ..." |
rm -rf $MKDIR | rm -rf $ROOTFS_MKDIR |
mkdir $MKDIR | mkdir $ROOTFS_MKDIR |
|
|
echo "+++ Clean RootFS directory ..." |
echo "+++ Clean RootFS directory ..." |
|
chflags -R noschg $ROOTFS |
rm -rf $ROOTFS |
rm -rf $ROOTFS |
mkdir $ROOTFS |
mkdir $ROOTFS |
|
|
Line 52 clean_elwix()
|
Line 59 clean_elwix()
|
prepare_elwix() |
prepare_elwix() |
{ |
{ |
echo "+++ Prepair ELWIX RootFS firmware ..." |
echo "+++ Prepair ELWIX RootFS firmware ..." |
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 |
_EOF |
_EOF |
cat $CFGDIR/$ROOTFS_CONF >>$ROOTFS_CONF |
cat $CFGDIR/$ROOTFS_CONF >>$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 crunchgen -f \ |
| -h $ROOTFS_MKDIR/$MKH -m $MKF \ |
| -c elwix.c -e elwix $ROOTFS_CONF |
| if [ $? -ne 0 ]; then |
| exit 1 |
| fi |
cd - |
cd - |
} |
} |
|
|
build_elwix() |
build_elwix() |
{ |
{ |
echo "+++ Build ELWIX RootFS firmware ..." |
echo "+++ Build ELWIX RootFS firmware ..." |
cd $MKDIR | cd $ROOTFS_MKDIR |
make -f $MKF clean | env MAKEOBJDIRPREFIX=${BSDOBJ}/elwix make -f $MKF \ |
make -f $MKF | TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ |
| ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} clean |
| env MAKEOBJDIRPREFIX=${BSDOBJ}/elwix make -f $MKF \ |
| TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ |
| ${X_TARGET_CPUTYPE} __MAKE_CONF=${MAKECONF} |
| if [ $? -ne 0 ]; then |
| exit 1 |
| fi |
cd - |
cd - |
} |
} |
|
|
Line 92 build_rootdir()
|
Line 115 build_rootdir()
|
install -d dev; |
install -d dev; |
install -d elwix; |
install -d elwix; |
install -d elwix/etc; |
install -d elwix/etc; |
|
install -d libexec; |
install -d mnt; |
install -d mnt; |
install -d -m 0555 proc; |
install -d -m 0555 proc; |
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/etc etc; |
ln -fs /elwix/exports exports; |
ln -fs /elwix/exports exports; |
Line 114 build_rootdir()
|
Line 141 build_rootdir()
|
|
|
install_rootfs() |
install_rootfs() |
{ |
{ |
PRG="/sbin/elwix" |
|
BIN="${ROOTFS}/bin" |
BIN="${ROOTFS}/bin" |
SBIN="${ROOTFS}/sbin" |
SBIN="${ROOTFS}/sbin" |
|
UBIN="${ROOTFS}/usr/bin" |
|
LIBEXEC="${ROOTFS}/usr/libexec" |
ETC="${ROOTFS}/elwix/etc" |
ETC="${ROOTFS}/elwix/etc" |
|
|
|
PRG="/sbin/elwix" |
|
LNPRG="${SBIN}/elwix" |
|
|
echo "+++ Install ELWIX into RootFS directory ..." |
echo "+++ Install ELWIX into RootFS directory ..." |
install $MKDIR/elwix $SBIN | install $ROOTFS_MKDIR/elwix $SBIN |
|
|
InstallList ${ELWIX_ROOTFS} ${WORLD} ${ROOTFS} |
InstallList ${ELWIX_ROOTFS} ${WORLD} ${ROOTFS} |
|
|
InstallDir ${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 166 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 $BIN/csh | ln -s $PRG $BIN/csh |
# ln -s $PRG $BIN/tcsh | ln -s $PRG $BIN/-csh |
ln -s /bin/tcsh $BIN/-tcsh | ln -s $PRG $BIN/tcsh |
ln -s /bin/csh $BIN/-csh | 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 166 install_rootfs()
|
Line 196 install_rootfs()
|
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/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 $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 |
Line 186 install_rootfs()
|
Line 260 install_rootfs()
|
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 $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/ggated | |
ln -s $PRG $SBIN/ggatel | |
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/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 |
Line 227 install_rootfs()
|
Line 297 install_rootfs()
|
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/natd |
|
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/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 $SBIN/halt |
ln -s $PRG $SBIN/halt |
Line 250 install_rootfs()
|
Line 318 install_rootfs()
|
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 |
Line 263 install_rootfs()
|
Line 329 install_rootfs()
|
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 ..." |
echo "+++ ELWIX clean CVS tags ..." |
CleanCVS $ETC |
CleanCVS $ETC |
CleanCVS $ETC/etc |
CleanCVS $ETC/etc |
|
echo |
} |
} |
|
|
build_image() |
build_image() |
Line 279 build_image()
|
Line 391 build_image()
|
install_image() |
install_image() |
{ |
{ |
echo "+++ Install ELWIX RootFS Image into kernel ..." |
echo "+++ Install ELWIX RootFS Image into kernel ..." |
START=`strings -td $KERNEL | grep "MFS Filesystem" | cut -d ' ' -f 1 | head -1` | START=`strings -td $KERNEL_ROOTFS | grep "MFS Filesystem" | cut -d ' ' -f 1 | head -1` |
STOP=`strings -td $KERNEL | grep "MFS Filesystem" | cut -d ' ' -f 1 | tail -1` | STOP=`strings -td $KERNEL_ROOTFS | grep "MFS Filesystem" | cut -d ' ' -f 1 | tail -1` |
STOP=$(($STOP + 1)) |
STOP=$(($STOP + 1)) |
|
|
head -c $START $KERNEL >$NEWKERN | head -c $START $KERNEL_ROOTFS >$NEWKERN |
cat $REL/$ROOTFS_IMG >>$NEWKERN |
cat $REL/$ROOTFS_IMG >>$NEWKERN |
tail -c +$STOP $KERNEL >>$NEWKERN | tail -c +$STOP $KERNEL_ROOTFS >>$NEWKERN |
|
|
cd $REL |
cd $REL |
gzip -9 kernel | gzip -9 $KRNNAME |
cd - |
cd - |
} |
} |
|
|
### 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" |