--- elwix/build_base.sh 2013/07/31 14:44:48 1.1.2.1 +++ elwix/build_base.sh 2013/07/31 16:15:53 1.1.2.7 @@ -5,7 +5,7 @@ # (C) AITNET ltd - Sofia/Bulgaria # by Michael Pounov # -# $Id: build_base.sh,v 1.1.2.1 2013/07/31 14:44:48 misho Exp $ +# $Id: build_base.sh,v 1.1.2.7 2013/07/31 16:15:53 misho Exp $ # [ -r ./config/rc.elwix ] && . ./config/rc.elwix @@ -30,22 +30,19 @@ if [ "${USER}" != "root" ]; then exit 1 fi -clean_romfs() +clean_basefs() { echo "+++ Clean ELWIX base firmware ..." - chflags -Rf noschg $ROMFS - rm -rf $ROMFS - - echo "+++ Clean ELWIX base image ..." - rm -f $REL/$ROMFS_IMG + chflags -Rf noschg $BASEFS $BASE_FS + rm -rf $BASEFS $BASE_FS ${REL}/${BASE_OS} } -build_romfs() +build_basefs() { echo "+++ Build ELWIX base directory ..." - mkdir -p $ROMFS + mkdir -p $BASEFS - cd $ROMFS + cd $BASEFS install -d bin; install -d boot; @@ -110,16 +107,16 @@ build_romfs() cd - } -install_romfs() +install_basefs() { - LIBS="${ROMFS}/usr/lib" - LIBEXEC="${ROMFS}/usr/libexec" - LIBDATA="${ROMFS}/usr/libdata" - BIN="${ROMFS}/bin" - UBIN="${ROMFS}/usr/bin" - SBIN="${ROMFS}/sbin" - USBIN="${ROMFS}/usr/sbin" - SHARE="${ROMFS}/usr/share" + LIBS="${BASEFS}/usr/lib" + LIBEXEC="${BASEFS}/usr/libexec" + LIBDATA="${BASEFS}/usr/libdata" + BIN="${BASEFS}/bin" + UBIN="${BASEFS}/usr/bin" + SBIN="${BASEFS}/sbin" + USBIN="${BASEFS}/usr/sbin" + SHARE="${BASEFS}/usr/share" SKEL="${SHARE}/skel" MISC="${SHARE}/misc" @@ -146,7 +143,7 @@ install_romfs() find ${WORLD}/usr/lib -type f -name \*.so.\* -exec install {} $LIBS \; find ${WORLD}/usr/lib/engines -type f -name \*.so -exec install {} $LIBS/engines \; - InstallList ${ELWIX_ROMFS} ${WORLD} ${ROMFS} + InstallList ${ELWIX_BASEFS} ${WORLD} ${BASEFS} ln ${BIN}/tcsh ${UBIN}/tcsh @@ -158,62 +155,41 @@ install_romfs() chown -R root:wheel $SBIN $BIN $USBIN $UBIN $LIBDATA $LIBEXEC $LIBS } -build_image2() +prepare_fs() { - echo "+++ Build ELWIX Firmware secondary image ..." + echo "+++ Prepare ELWIX fs ..." + mkdir -p $1 - cd ${ROMFS_USR2} - pax -w -z -v -f${REL}/${ROMFS_IMG2} . - cd - - -# Stop using uzip fs -# makefs -ominfree=0,bsize=8192,fsize=1024,optimization=space -s${ROMFS_SIZE2} \ -# ${REL}/${ROMFS_IMG2} ${ROMFS_USR2} - -# MDDEV=$(mdconfig -a -t vnode -f ${REL}/${ROMFS_IMG2}); -# tunefs -L elwixFirmware2 /dev/$MDDEV; -# mdconfig -d -u $MDDEV; - -# mkuzip -s 8192 -o ${REL}/${ROMFS_IMG2}.uzip ${REL}/${ROMFS_IMG2}; -# mv ${REL}/${ROMFS_IMG2}.uzip ${REL}/${ROMFS_IMG2} + if [ -d ${BASEFS} ]; then + cd ${BASEFS} + pax -rw -pe -X . $1 + cd - + fi } -install_romfs2() +create_etc_fstab() { - LIBS="${ROMFS_USR2}/lib" - LIBEXEC="${ROMFS_USR2}/libexec" - LIBDATA="${ROMFS_USR2}/libdata" - BIN="${ROMFS_USR2}/bin" - SBIN="${ROMFS_USR2}/sbin" - - echo "+++ Install ELWIX base secondary software ..." - - install -d ${PKGDIR}/bin -# InstallDir ${PKGDIR}/bin $BIN - install -d ${PKGDIR}/sbin - InstallDir ${PKGDIR}/sbin $SBIN - - StripFiles \*.so\* ${PKG}/lib - InstallFiles \*.so\* ${PKG}/lib $LIBS - StripFiles \* ${PKG}/libexec - 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 + cat >$1/etc/fstab <<_EOF +# Automatic generated fstab for ELWIX $2 at ${BUILD_DATE} +# +/dev/ufs/elwix / ufs ro 0 1 +md2 /tmp mfs rw,-s8m,-oasync,-S 0 0 +md3 /var mfs rw,-s16m,-S 0 0 +_EOF } ### main() -clean_romfs -build_romfs +clean_basefs +build_basefs -install_romfs +install_basefs -#install_romfs2 -#build_image2 +# build fs +prepare_fs ${BASE_FS} +MakeFS_home ${BASE_FS}/elwix +MakeFS_var ${BASE_FS}/elwix ${BASE_ETC} +MakeFS_etc ${BASE_FS}/elwix ${BASE_ETC} base +create_etc_fstab ${BASE_FS}/elwix base +MakeFS_backup ${BASE_FS}/elwix echo "+++ Complete build ELWIX base"