|
version 1.2.6.3, 2014/01/21 09:21:55
|
version 1.4.2.11, 2017/07/13 11:27:13
|
|
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 $BASE_FS | chflags -Rf noschg,nosunlink $BASEFS $BASE_FS |
| rm -rf $BASEFS $BASE_FS ${REL}/${BASE_OS} ${REL}/kernel.gz |
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 64 build_basefs()
|
Line 64 build_basefs()
|
| install -d -m 0750 elwix/root/.ssh; |
install -d -m 0750 elwix/root/.ssh; |
| 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; |
|
Line 84 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 118 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 135 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 151 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" |
| } |
} |
| |
|
| prepare_fs() |
prepare_fs() |
| { |
{ |
| echo "+++ Prepare ELWIX fs ..." | echo "+++ Prepare ELWIX fs ... $BASEFS --> $1" |
| mkdir -p $1 |
mkdir -p $1 |
| |
|
| if [ -d ${BASEFS} ]; then |
if [ -d ${BASEFS} ]; then |
|
Line 170 create_etc_fstab()
|
Line 170 create_etc_fstab()
|
| cat >$1/etc/fstab <<_EOF |
cat >$1/etc/fstab <<_EOF |
| # Automatic generated fstab for ELWIX $2 at ${BUILD_DATE} |
# Automatic generated fstab for ELWIX $2 at ${BUILD_DATE} |
| # |
# |
| /dev/ufs/elwix / ufs ro 0 1 | /dev/ufs/elwix / ufs ro,noauto 0 1 |
| md0 /tmp mfs rw,-s8m,-oasync,-S 0 0 | tmpfs /tmp tmpfs rw 0 0 |
| md1 /var mfs rw,-s16m,-S 0 0 | md2 /var mfs rw,-s16m,-S,-n 0 0 |
| _EOF |
_EOF |
| } |
} |
| |
|
| |
update_etc_cfexec() |
| |
{ |
| |
echo "mount = \"/\"" >> $1/etc/cfexec.conf |
| |
} |
| |
|
| install_fs() |
install_fs() |
| { |
{ |
| echo "+++ Install ELWIX base $1 in bundle OS install file ..." | echo "+++ Install ELWIX BaseFS $1 in bundle OS install file ..." |
| OSZ="" |
OSZ="" |
| |
|
| install -v ${KERNEL} $1/boot/kernel; |
install -v ${KERNEL} $1/boot/kernel; |
|
Line 186 install_fs()
|
Line 191 install_fs()
|
| gzip -9 kernel; |
gzip -9 kernel; |
| cp kernel.gz ${REL} |
cp kernel.gz ${REL} |
| cd -; |
cd -; |
| |
echo "+++ Released native ELWIX kernel ... ${REL}/kernel.gz" |
| |
|
| case "$2" in |
case "$2" in |
| *) |
*) |
|
Line 195 install_fs()
|
Line 201 install_fs()
|
| |
|
| cd $1 |
cd $1 |
| tar -czvf $OSZ . |
tar -czvf $OSZ . |
| |
echo "+++ Completed ELWIX BaseFS $1 --> $OSZ" |
| } |
} |
| |
|
| ### main() |
### main() |
|
Line 207 install_basefs
|
Line 214 install_basefs
|
| prepare_fs ${BASE_FS} |
prepare_fs ${BASE_FS} |
| MakeFS_home ${BASE_FS}/elwix |
MakeFS_home ${BASE_FS}/elwix |
| MakeFS_var ${BASE_FS}/elwix ${BASE_ETC} |
MakeFS_var ${BASE_FS}/elwix ${BASE_ETC} |
| MakeFS_etc ${BASE_FS}/elwix ${BASE_ETC} base | MakeFS_etc ${BASE_FS} ${BASE_ETC} base |
| create_etc_fstab ${BASE_FS}/elwix base | create_etc_fstab ${BASE_FS} base |
| MakeFS_backup ${BASE_FS}/elwix | update_etc_cfexec ${BASE_FS} |
| MakeFS_boot ${BASE_FS} |
MakeFS_boot ${BASE_FS} |
| install_fs ${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!" |