Annotation of elwix/build_romfs.sh, revision 1.1

1.1     ! misho       1: #!/bin/sh
        !             2: #
        !             3: # ELWIX Build script for ELWIX userland RomFS firmware
        !             4: #
        !             5: # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
        !             6: #    by Michael Pounov <misho@elwix.org>
        !             7: #
        !             8: # $Id:$
        !             9: #
        !            10: 
        !            11: [ -r ./config/rc.elwix ] && . ./config/rc.elwix
        !            12: if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then
        !            13:        echo
        !            14:        echo "ELWIX project is not configured !?!"
        !            15:        echo
        !            16:        exit 1
        !            17: fi
        !            18: 
        !            19: if [ ! -d ${BSDSRC} ]; then
        !            20:        echo
        !            21:        echo "ELWIX project is not configured - missing BSD sources !?!"
        !            22:        echo
        !            23:        exit 1
        !            24: fi
        !            25: 
        !            26: if [ "${USER}" != "root" ]; then
        !            27:        echo
        !            28:        echo "ELWIX project is not configured - RomFS must build under root !?!"
        !            29:        echo
        !            30:        exit 1
        !            31: fi
        !            32: 
        !            33: clean_romfs()
        !            34: {
        !            35:        echo "+++ Clean ELWIX RomFS firmware ..."
        !            36:        chflags -Rf noschg $ROMFS
        !            37:        rm -rf $ROMFS
        !            38: 
        !            39:        echo "+++ Clean ELWIX RomFS image ..."
        !            40:        rm -f $REL/$ROMFS_IMG
        !            41: }
        !            42: 
        !            43: build_romfs()
        !            44: {
        !            45:        echo "+++ Build ELWIX RomFS directory ..."
        !            46:        mkdir -p $ROMFS_USR
        !            47: 
        !            48:        cd $ROMFS_USR
        !            49: 
        !            50:        install -d bin;
        !            51:        install -d sbin;
        !            52:        install -d lib;
        !            53:        install -d lib/geom;
        !            54:        install -d libdata;
        !            55:        install -d libexec;
        !            56:        install -d share;
        !            57:        install -d share/misc;
        !            58:        install -d share/skel;
        !            59:        install -d share/zoneinfo;
        !            60: 
        !            61:        ln -s /elwix/local local;
        !            62: 
        !            63:        chown -hR root:wheel .
        !            64:        cd -
        !            65: }
        !            66: 
        !            67: install_romfs()
        !            68: {
        !            69:        LIBS="${ROMFS_USR}/lib"
        !            70:        LIBEXEC="${ROMFS_USR}/libexec"
        !            71:        SKEL="${ROMFS_USR}/share/skel"
        !            72:        MISC="${ROMFS_USR}/share/misc"
        !            73:        BIN="${ROMFS_USR}/bin"
        !            74:        SBIN="${ROMFS_USR}/sbin"
        !            75: 
        !            76:        echo "+++ Install ELWIX RomFS software ..."
        !            77:        if [ -r ${BSDSRC}/release/picobsd/mfs_tree/etc/termcap ]; then
        !            78:                install -v -m 644 ${BSDSRC}/release/picobsd/mfs_tree/etc/termcap $MISC;
        !            79:                install -v -m 644 ${BSDSRC}/release/picobsd/mfs_tree/etc/services $MISC;
        !            80:        else
        !            81:                install -v -m 644 ${BSDSRC}/etc/termcap.small $MISC/termcap;
        !            82:                install -v -m 644 ${BSDSRC}/etc/services $MISC;
        !            83:        fi
        !            84: 
        !            85:        install -v -m 0555 /libexec/ld-elf.so.1 ${ROMFS_USR}/libexec
        !            86: 
        !            87:        install -v ${CFGDIR}/root.skel/cshrc $SKEL/dot.cshrc;
        !            88:        install -v ${CFGDIR}/root.skel/login $SKEL/dot.login;
        !            89:        install -v ${CFGDIR}/root.skel/logout $SKEL/dot.logout;
        !            90:        install -v ${CFGDIR}/root.skel/profile $SKEL/dot.profile;
        !            91:        install -v ${CFGDIR}/root.skel/vimrc $SKEL/dot.vimrc;
        !            92: 
        !            93:        find ${WORLD}/lib -type f -name \*.so.\* -exec install {} $LIBS \;
        !            94:        find ${WORLD}/lib -type f -name libalias_\*.so -exec install {} $LIBS \;
        !            95:        find ${WORLD}/lib/geom -type f -name \*.so -exec install {} $LIBS/geom \;
        !            96:        find ${WORLD}/usr/lib -type f -name \*.so.\* -exec install {} $LIBS \;
        !            97: 
        !            98:        InstallList ${ELWIX_ROMFS} ${WORLD} ${ROMFS}
        !            99: 
        !           100:        InstallProg ${ELWIX_LIB_AITIO} $LIBS;
        !           101:        InstallProg ${ELWIX_LIB_AITCRC} $LIBS;
        !           102:        InstallProg ${ELWIX_LIB_AITCFG} $LIBS;
        !           103:        InstallProg ${ELWIX_LIB_AITSESS} $LIBS;
        !           104:        InstallProg ${ELWIX_LIB_AITRPC} $LIBS;
        !           105:        InstallProg ${ELWIX_LIB_AITPELCO} $LIBS;
        !           106:        InstallProg ${ELWIX_LIB_AITPWD} $LIBS;
        !           107:        InstallProg ${ELWIX_LIB_AITSYNC} $LIBS;
        !           108:        InstallProg ${ELWIX_LIB_AITCLI} $LIBS;
        !           109: 
        !           110:        InstallProg ${AXL_LIB} $LIBS;
        !           111:        InstallProg ${AXL_LIB_NS} $LIBS;
        !           112:        InstallProg ${AXL_LIB_BABEL} $LIBS;
        !           113: 
        !           114: #      find $PKG/elwix_tools/bin -type f -perm +111 -exec install -v {} $BIN \;
        !           115: #      find $PKG/elwix_tools/sbin -type f -perm +111 -exec install -v {} $SBIN \;
        !           116: 
        !           117: # content of OS from 3th party software
        !           118: #      echo "+++ Install elwix additional programes ..."
        !           119: #      install -v -m 0111 $PKG/sudo/sudoreplay $BIN;
        !           120: #      install -v -o root -g wheel -m 4111 $PKG/sudo/sudo $BIN;
        !           121: #      ln -f $BIN/sudo $BIN/sudoedit;
        !           122: #      install -v -m 0111 $PKG/sudo/visudo $SBIN;
        !           123: #      install -v $PKG/sudo/.libs/libsudo_noexec.so $LIBS;
        !           124: #
        !           125: #      install -v $PKG/ttcp/ttcp $BIN;
        !           126: #      install -v $PKG/ntpd/ntpd $SBIN;
        !           127: #      install -v $PKG/choparp/choparp $SBIN;
        !           128: #      install -v $PKG/ipguard/ipguard $SBIN;
        !           129: #      install -v $PKG/mini_sendmail/mini_sendmail $SBIN/sendmail;
        !           130: #
        !           131: #      install -v $PKG/pftop/pftop $BIN;
        !           132: #      install -v $PKG/pfflowd/pfflowd $SBIN;
        !           133: #
        !           134: #      install -v $PKG/dhcp/work.freebsd/dhcpctl/omshell $BIN;
        !           135: #      install -v $PKG/dhcp/work.freebsd/server/dhcpd $SBIN;
        !           136: #      install -v $PKG/dhcp/work.freebsd/relay/dhcrelay $SBIN;
        !           137: #      install -v $PKG/dhcping/dhcping $SBIN;
        !           138: #      install -v $PKG/dhcdrop/src/dhcdrop $SBIN;
        !           139: #
        !           140: #      install -v $PKG/mrouted/map-mbone $SBIN;
        !           141: #      install -v $PKG/mrouted/mrinfo $SBIN;
        !           142: #      install -v $PKG/mrouted/mrouted $SBIN;
        !           143: #
        !           144: #      install -v $PKG/bmon/src/bmon $BIN;
        !           145: #      install -v $PKG/iftop/iftop $BIN;
        !           146: #      install -v $PKG/trafshow/trafshow $BIN;
        !           147: #
        !           148: #      install -v $PKG/libevent/.libs/libevent-1.4.so.4 $LIBS;
        !           149: #      install -v $PKG/libevent/.libs/libevent_extra-1.4.so.4 $LIBS;
        !           150: #      install -v $PKG/expat/.libs/libexpat.so.6 $LIBS;
        !           151: #      install -v $PKG/libpdel/libpdel.so.0 $LIBS;
        !           152: #
        !           153: #      install -v $PKG/mpd/src/mpd5 $SBIN;
        !           154: #      install -v $PKG/ifstated/ifstated $SBIN;
        !           155: #
        !           156: #      install -v $PKG/ipsec-tools/src/libipsec/.libs/libipsec.so.0 $LIBS;
        !           157: #      install -v $PKG/ipsec-tools/src/racoon/.libs/libracoon.so.0 $LIBS;
        !           158: #      install -v $PKG/ipsec-tools/src/racoon/eaytest $BIN;
        !           159: #      install -v $PKG/ipsec-tools/src/racoon/plainrsa-gen $BIN;
        !           160: #      install -v $PKG/ipsec-tools/src/racoon/.libs/racoonctl $BIN;
        !           161: #      install -v $PKG/ipsec-tools/src/racoon/.libs/racoon $SBIN;
        !           162: #      install -v $PKG/ipsec-tools/src/setkey/.libs/setkey $BIN;
        !           163: #
        !           164: #      install -v $PKG/arping/src/arping $SBIN;
        !           165: #      install -v $PKG/hping2/hping2 $SBIN;
        !           166: #      install -v $PKG/mtr/mtr $SBIN;
        !           167: #
        !           168: #      install -v $PKG/smartmontools/smartctl $BIN;
        !           169: #      install -v $PKG/smartmontools/smartd $SBIN;
        !           170: #
        !           171: #      install -v $PKG/conserver/conserver/conserver $SBIN;
        !           172: #      install -v $PKG/conserver/console/console $BIN;
        !           173: #
        !           174: ## eeproms for atheros, used from elwix service tools
        !           175: #      cp -r /usr/local/libdata/athprom $FW_USR/libdata;
        !           176: }
        !           177: 
        !           178: build_image()
        !           179: {
        !           180:        echo "+++ Build elwix firmware image ..."
        !           181:        makefs -ominfree=0,bsize=8192,fsize=1024,optimization=space -s${FW_SIZE} \
        !           182:                $REL/$FW_IMG $FW_USR
        !           183: 
        !           184:        MDDEV=$(mdconfig -a -t vnode -f $REL/$FW_IMG);
        !           185:        tunefs -L elwixFirmware /dev/$MDDEV;
        !           186: #      mount /dev/$MDDEV /mnt
        !           187: #      umount /mnt
        !           188:        mdconfig -d -u $MDDEV;
        !           189: 
        !           190:        mkuzip -s 8192 -o $REL/${FW_IMG}.uzip $REL/$FW_IMG;
        !           191:        mv $REL/${FW_IMG}.uzip $REL/${FW_IMG}
        !           192: }
        !           193: 
        !           194: ### main()
        !           195: if SnitVer ${WORLD}/elwix.ver; then
        !           196:        clean_romfs
        !           197: 
        !           198:        build_romfs
        !           199:        install_romfs
        !           200: 
        !           201: #build_image
        !           202: else
        !           203:        echo "Skipped ELWIX RomFS build ..."
        !           204: fi
        !           205: 
        !           206: echo "+++ Complete build ELWIX RomFS"

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>