set -e set -x # TCE directory back to ramdisk mv /etc/sysconfig/tcedir /etc/sysconfig/tcedir.hd ln -s /tmp/tce /etc/sysconfig/tcedir mkdir build cd build tce-load -wi squashfs-tools # create utf8-locale tce-load -wi getlocale sudo mkdir -p /usr/lib/locale sudo localedef -i en_US -c -f UTF-8 en_US.UTF-8 sudo localedef -i en_US -c -f UTF-8 C.UTF-8 sudo mkdir -p /tmp/utf8-locale/usr/lib/locale sudo cp -p /usr/lib/locale/* /tmp/utf8-locale/usr/lib/locale/ mksquashfs /tmp/utf8-locale utf8-locale.tcz md5sum utf8-locale.tcz > utf8-locale.tcz.md5.txt # create python3dialog tce-load -wi python3-dev wget https://bootstrap.pypa.io/get-pip.py sudo python3 get-pip.py rm get-pip.py tce-load -wi dialog sudo LANG=C.UTF-8 pip3 install pythondialog sudo mkdir -p /tmp/python3dialog/usr/local/lib/python3.4/site-packages sudo cp -a /usr/local/lib/python3.4/site-packages/dialog* /tmp/python3dialog/usr/local/lib/python3.4/site-packages/ sudo cp -a /usr/local/lib/python3.4/site-packages/pythondialog* /tmp/python3dialog/usr/local/lib/python3.4/site-packages/ mksquashfs /tmp/python3dialog python3dialog.tcz md5sum python3dialog.tcz > python3dialog.tcz.md5.txt echo -e 'python3.tcz\ndialog.tcz' > python3dialog.tcz.dep # TCEDIR back to harddisk rm -f /etc/sysconfig/tcedir; mv /etc/sysconfig/tcedir.hd /etc/sysconfig/tcedir mkdir -p /etc/sysconfig/tcedir/optional chmod 775 /etc/sysconfig/tcedir/optional rm -f /usr/local/tce.installed/* # install utf8-locale cp -p utf8-locale.tcz* /etc/sysconfig/tcedir/optional/ echo 'utf8-locale.tcz' >> /etc/sysconfig/tcedir/onboot.lst # install python3 without TK cp -p /tmp/tce/optional/python3.tcz /etc/sysconfig/tcedir/optional/ cp -p /tmp/tce/optional/python3.tcz.md5.txt /etc/sysconfig/tcedir/optional/ sed -e '/^tk/ d' /tmp/tce/optional/python3.tcz.dep > /etc/sysconfig/tcedir/optional/python3.tcz.dep echo 'python3.tcz' >> /etc/sysconfig/tcedir/onboot.lst for pkg in `cat /etc/sysconfig/tcedir/optional/python3.tcz.dep`; do tce-load -w $pkg; done # install python3dialog cp -p python3dialog.tcz* /etc/sysconfig/tcedir/optional/ echo 'python3dialog.tcz' >> /etc/sysconfig/tcedir/onboot.lst tce-load -w dialog # additional linux networking modules KERNEL=`uname -r` tce-load -w net-bridging-$KERNEL echo "net-bridging-$KERNEL.tcz" >> /etc/sysconfig/tcedir/onboot.lst tce-load -w net-sched-$KERNEL echo "net-sched-$KERNEL.tcz" >> /etc/sysconfig/tcedir/onboot.lst # clean up build environment cd .. rm -r build # NETem menu system . /etc/init.d/tc-functions http=http://`getbootparam http` wget $http/NETem/netem-conf.py chmod +x netem-conf.py # autologin on serial console sudo sed -i -e '/^tty1:/ s/^.*/tty1::respawn:\/sbin\/getty 38400 tty1/' -e '/^ttyS0:/ s/^.*/ttyS0::askfirst:\/sbin\/getty -nl \/sbin\/autologin 38400 ttyS0 xterm/' /etc/inittab sudo sed -i -e 's/tty1/`\/usr\/bin\/tty`/' /sbin/autologin echo 'sbin/autologin' >> /opt/.filetool.lst # autostart netem-conf sed -i -e '/^TERMTYPE/,$ d' .profile cat >> .profile << 'EOF' # autostart netem-conf only on local terminals TERMTYPE=`/usr/bin/tty` if [ "${TERMTYPE:5:3}" = "tty" ]; then ./netem-conf.py rm -f /var/log/autologin fi EOF # disable automatic interface configuration with dhcp sudo sed -i -e '/label microcore/,/append / s/\(append .*\)/\1 nodhcp/' /mnt/sda1/boot/extlinux/extlinux.conf # set locale and configure network at startup sed -i -e '3,$ d' /opt/bootlocal.sh sed -n -e '1,/^\/opt\/bootlocal/ p' /opt/bootsync.sh | head -n -1 > /tmp/bootsync.head sed -n -e '/^\/opt\/bootlocal/,$ p' /opt/bootsync.sh > /tmp/bootsync.tail cat /tmp/bootsync.head > /opt/bootsync.sh cat >> /opt/bootsync.sh <<'EOF' . /etc/init.d/tc-functions # default LANG=C.UTF-8 [ ! -f /etc/sysconfig/language ] || [ "`cat /etc/sysconfig/language`" = "LANG=C" ] && \ echo "LANG=C.UTF-8" > /etc/sysconfig/language # Configure network interfaces only when boot parameter "nodhcp" is used if grep -q -w nodhcp /proc/cmdline; then echo -en "${BLUE}Configuring network interfaces... ${NORMAL}" # This waits until all devices have registered /sbin/udevadm settle --timeout=10 ip link add name br0 type bridge sysctl -q -w net.ipv6.conf.br0.disable_ipv6=1 sysctl -q -w net.ipv6.conf.eth0.disable_ipv6=1 ip link set dev eth0 promisc on ip link set dev eth0 mtu 2000 ip link set dev eth0 up ip link set dev eth0 master br0 sysctl -q -w net.ipv6.conf.eth1.disable_ipv6=1 ip link set dev eth1 promisc on ip link set dev eth1 mtu 2000 ip link set dev eth1 up ip link set dev eth1 master br0 ip link set dev br0 up echo -e "${GREEN}Done.${NORMAL}" fi EOF cat /tmp/bootsync.tail >> /opt/bootsync.sh # Done