version 1.1.2.2, 2013/07/31 14:57:01
|
version 1.4.2.12, 2017/10/08 00:05:36
|
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_basefs() |
clean_basefs() |
{ |
{ |
echo "+++ Clean ELWIX base firmware ..." | echo "+++ Clean ELWIX BaseFS firmware ... $BASEFS" |
chflags -Rf noschg $BASEFS | chflags -Rf noschg,nosunlink $BASEFS $BASE_FS |
rm -rf $BASEFS | rm -rf $BASEFS $BASE_FS ${REL}/${BASE_OS} ${REL}/kernel.gz |
} |
} |
|
|
build_basefs() |
build_basefs() |
{ |
{ |
echo "+++ Build ELWIX base directory ..." | echo "+++ Build ELWIX BaseFS directory ... $BASEFS" |
mkdir -p $BASEFS |
mkdir -p $BASEFS |
|
|
cd $BASEFS |
cd $BASEFS |
Line 62 build_basefs()
|
Line 62 build_basefs()
|
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/local; |
install -d elwix/pkg/lib; | install -d etc; |
install -d elwix/pkg/libexec; | |
install -d elwix/pkg/libdata; | |
install -d elwix/pkg/sbin; | |
ln -fs /elwix/etc etc; | |
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 86 build_basefs()
|
Line 80 build_basefs()
|
ln -fs /usr/lib lib; |
ln -fs /usr/lib lib; |
install -d usr/lib/engines; |
install -d usr/lib/engines; |
install -d usr/lib/geom; |
install -d usr/lib/geom; |
install -d usr/lib32; | case ${TARGET} in |
| amd64) |
| install -d usr/lib32; |
| ;; |
| *) |
| ;; |
| esac |
install -d usr/libdata; |
install -d usr/libdata; |
install -d usr/libexec; |
install -d usr/libexec; |
ln -fs /usr/libexec libexec; |
ln -fs /usr/libexec libexec; |
install -d usr/local; | ln -fs /elwix/local usr/local; |
install -d usr/local/bin; | ln -fs /elwix/pkg usr/pkg; |
install -d usr/local/lib; | |
install -d usr/local/libexec; | |
install -d usr/local/libdata; | |
install -d usr/local/sbin; | |
install -d usr/sbin; |
install -d usr/sbin; |
install -d usr/share; |
install -d usr/share; |
install -d usr/share/misc; |
install -d usr/share/misc; |
Line 120 install_basefs()
|
Line 116 install_basefs()
|
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 137 install_basefs()
|
Line 133 install_basefs()
|
|
|
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_BASEFS} ${WORLD} ${BASEFS} |
InstallList ${ELWIX_BASEFS} ${WORLD} ${BASEFS} |
Line 153 install_basefs()
|
Line 149 install_basefs()
|
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 ${BASEFS_USR2} | if [ -d ${BASEFS} ]; then |
pax -w -z -v -f${REL}/${BASEFS_IMG2} . | cd ${BASEFS} |
cd - | pax -rw -pe -X . $1 |
| cd - |
| fi |
| } |
|
|
# Stop using uzip fs | create_etc_fstab() |
# makefs -ominfree=0,bsize=8192,fsize=1024,optimization=space -s${BASEFS_SIZE2} \ | { |
# ${REL}/${BASEFS_IMG2} ${BASEFS_USR2} | cat >$1/etc/fstab <<_EOF |
| # Automatic generated fstab for ELWIX $2 at ${BUILD_DATE} |
| # |
| tmpfs /tmp tmpfs rw 0 0 |
| md2 /var mfs rw,-s16m,-S,-n 0 0 |
| _EOF |
| } |
|
|
# MDDEV=$(mdconfig -a -t vnode -f ${REL}/${BASEFS_IMG2}); | update_etc_cfexec() |
# tunefs -L elwixFirmware2 /dev/$MDDEV; | { |
# mdconfig -d -u $MDDEV; | echo "mount = \"/\"" >> $1/etc/cfexec.conf |
| |
# mkuzip -s 8192 -o ${REL}/${BASEFS_IMG2}.uzip ${REL}/${BASEFS_IMG2}; | |
# mv ${REL}/${BASEFS_IMG2}.uzip ${REL}/${BASEFS_IMG2} | |
} |
} |
|
|
install_romfs2() | install_fs() |
{ |
{ |
LIBS="${BASEFS_USR2}/lib" | echo "+++ Install ELWIX BaseFS $1 in bundle OS install file ..." |
LIBEXEC="${BASEFS_USR2}/libexec" | OSZ="" |
LIBDATA="${BASEFS_USR2}/libdata" | |
BIN="${BASEFS_USR2}/bin" | |
SBIN="${BASEFS_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() |
Line 210 build_basefs
|
Line 209 build_basefs
|
|
|
install_basefs |
install_basefs |
|
|
#install_romfs2 | # build fs |
#build_image2 | prepare_fs ${BASE_FS} |
| MakeFS_home ${BASE_FS}/elwix |
| MakeFS_var ${BASE_FS}/elwix ${BASE_ETC} |
| MakeFS_etc ${BASE_FS} ${BASE_ETC} base |
| create_etc_fstab ${BASE_FS} base |
| update_etc_cfexec ${BASE_FS} |
| 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!" |