123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762 |
- diff --git a/MakeRootfsUpdate.sh b/MakeRootfsUpdate.sh
- index 99b77c9..c3f9894 100755
- --- a/MakeRootfsUpdate.sh
- +++ b/MakeRootfsUpdate.sh
- @@ -1,5 +1,6 @@
- #!/bin/bash
- WRKDIR=/tmp/XXXUpdateRootfs
- +BOOTDIR=$WRKDIR/_GfABoot
- BUILD=`cat ../GfA/board/GfA/Display001/BUILD`
- UPDATE_BINARY=$WRKDIR/dest/UpdateRootfs.tar.Z
- UPDATE_FILENAME="../UpdateDisplay001_$BUILD.sh"
- @@ -7,67 +8,34 @@ UPDATE_IN_SCRIPT="UpdateRootfs.sh.in"
-
- ROOTFSMNT=/tmp/XXXRootFs
-
- -sudo umount $ROOTFSMNT
- +sudo umount $ROOTFSMNT 2>/dev/null
- sudo rm -rf $ROOTFSMNT
- sudo mkdir -p $ROOTFSMNT
- -
- sudo mount -o loop ./output/images/rootfs.ext2 $ROOTFSMNT
-
- -rm -rf $WRKDIR
- +sudo rm -rf $WRKDIR
- mkdir -p $WRKDIR/dest
-
- -cp ./output/images/*.dtb $WRKDIR
- -cp ./output/images/uImage $WRKDIR
- -cp ./output/images/MLO $WRKDIR
- -cp ./output/images/u-boot.img $WRKDIR
- -
- -sudo tar -C $ROOTFSMNT -czvf $WRKDIR/rootfs.tar.gz ./
- -sudo umount $ROOTFSMNT
- -#cp ./output/images/rootfs.tar.gz $WRKDIR
- -
- -tar -C $WRKDIR --exclude=./dest -czvf $WRKDIR/dest/UpdateRootfs.tar.Z ./
- -
- -# Check for payload format option (default is binary).
- -binary=1
- -uuencode=0
- -
- -if [[ "$1" == '--binary' ]]; then
- - binary=1
- - uuencode=0
- - shift
- -fi
- -if [[ "$1" == '--uuencode' ]]; then
- - binary=0
- - uuencode=1
- - shift
- -fi
- -
- +sudo bash <<EOF
- +mkdir -p $BOOTDIR
- +cp ./output/images/*.dtb $BOOTDIR
- +cp ./output/images/uImage $BOOTDIR
- +cp ./output/images/MLO $BOOTDIR
- +cp ./output/images/u-boot.img $BOOTDIR
- +tar -C $ROOTFSMNT -cf - . | tar xvf - -C $WRKDIR
- +umount $ROOTFSMNT 2>/dev/null
- +tar -C $WRKDIR --exclude=./dest -czvf $UPDATE_BINARY ./
- +EOF
- +
- +#----
- if [[ ! -f $UPDATE_BINARY ]]; then
- echo " UPDATE_BINARY $UPDATE_BINARY doesn't exist!"
- - echo "Usage: $0 [--binary | --uuencode]"
- + echo "Usage: $0"
- exit 1
- fi
-
- -
- -if [[ $binary -ne 0 ]]; then
- - # Append binary data.
- - sed \
- - -e 's/uuencode=./uuencode=0/' \
- - -e 's/binary=./binary=1/' \
- - $UPDATE_IN_SCRIPT > $UPDATE_FILENAME
- - echo "PAYLOAD:" >> $UPDATE_FILENAME
- -
- - cat $UPDATE_BINARY >> $UPDATE_FILENAME
- -fi
- -if [[ $uuencode -ne 0 ]]; then
- - # Append uuencoded data.
- - sed \
- - -e 's/uuencode=./uuencode=1/' \
- - -e 's/binary=./binary=0/' \
- - $UPDATE_IN_SCRIPT > $UPDATE_FILENAME
- - echo "PAYLOAD:" >> $UPDATE_FILENAME
- -
- - cat $UPDATE_BINARY | uuencode - >> $UPDATE_FILENAME
- -fi
- +cat $UPDATE_IN_SCRIPT > $UPDATE_FILENAME
- +echo "PAYLOAD:" >> $UPDATE_FILENAME
- +cat $UPDATE_BINARY >> $UPDATE_FILENAME
-
- chmod a+x $UPDATE_FILENAME
- diff --git a/UpdateRootfs.sh.in b/UpdateRootfs.sh.in
- index 13aeadf..af10b8a 100644
- --- a/UpdateRootfs.sh.in
- +++ b/UpdateRootfs.sh.in
- @@ -1,28 +1,13 @@
- #!/bin/sh
-
- -uuencode=0
- -binary=1
- -
- -##TAR_PARAMETERS="-C / --exclude=./opt --exclude=./etc/inittab -xzvf -"
- TMP_PATH="$GFA_PREFIX/__GfA_Update"
- -TAR_PARAMETERS="-C $TMP_PATH -xzvf -"
- +TAR_PARAMETERS="-C $GFA_PREFIX/ --exclude=./tmp --exclude=./etc/inittab --exclude=./etc/hosts --exclude=./etc/hostname --exclude=./etc/passwd --exclude=./etc/shadow --exclude=./etc/vncpwd --exclude=./etc/init.d/S99tincd --exclude=./etc/hostapd.conf --exclude=./root/.ssh --exclude=./etc/init.d/M99tincd --exclude=./var/GfA/Display_GSM.ini --exclude=./var/cron/crontabs/root -xzvf -"
-
- untar_payload ()
- {
- -
- - echo "remove $TMP_PATH : "
- - rm -rf $TMP_PATH
- - echo ">> $? "
- - mkdir -p $TMP_PATH
- -
- match=$(grep -n -m 1 '^PAYLOAD:$' $0 | cut -d ':' -f 1)
- payload_start=$((match + 1))
- - if [[ $binary -ne 0 ]]; then
- - tail -n +$payload_start $0 | tar $TAR_PARAMETERS
- - fi
- - if [[ $uuencode -ne 0 ]]; then
- - tail -n +$payload_start $0 | uudecode | tar $TAR_PARAMETERS
- - fi
- + tail -n +$payload_start $0 | tar $TAR_PARAMETERS
- }
-
- if [ -z $1 ]
- @@ -164,22 +149,17 @@ then
- else
- bootpart="/dev/mmcblk0p1"
- fi
- +#===== DoRealUpdate === Start
- +if [ $1 == "DoRealUpdate" ]
- +then
-
- -umount /mnt
- -mount $bootpart /mnt
- -
- -## -- alte Firmwarebinaries löschen
- -#rm /root/btm*.bin
- +umount /mnt 2>/dev/null
- +umount $GFA_PREFIX/_GfABoot 2>/dev/null
-
- -#--- Kernel MLO und Rootfs-Tarball entpacken
- -untar_payload
- -# ---
- +rm -rf $GFA_PREFIX/_GfABoot
- +mkdir $GFA_PREFIX/_GfABoot
- +mount $bootpart $GFA_PREFIX/_GfABoot
-
- -rm /mnt/rootfs.tar.gz
- -cp $TMP_PATH/MLO /mnt
- -cp $TMP_PATH/u-boot.img /mnt
- -cp $TMP_PATH/uImage /mnt
- -cp $TMP_PATH/*.dtb /mnt
-
- mkdir -p $TMP_PATH/bu_cfg
-
- @@ -201,17 +181,9 @@ then
- rm $GFA_PREFIX/etc/wpa_supplicant/wpa_supplicant.conf
- fi
-
- -#rootfs auspacken
- -tar -C $GFA_PREFIX/ --exclude=./tmp --exclude=./etc/inittab \
- - --exclude=./etc/hosts --exclude=./etc/hostname \
- - --exclude=./etc/passwd --exclude=./etc/shadow \
- - --exclude=./etc/vncpwd --exclude=./etc/init.d/S99tincd \
- - --exclude=./etc/hostapd.conf \
- - --exclude=./root/.ssh \
- - --exclude=./etc/init.d/M99tincd \
- - --exclude=./var/GfA/Display_GSM.ini \
- - --exclude=./var/cron/crontabs/root \
- - -xzvf $TMP_PATH/rootfs.tar.gz
- +#--- Kernel MLO und Rootfs-Tarball entpacken
- +untar_payload
- +# ---
-
- echo "sync mmc be patient ...."
- sync
- @@ -297,12 +269,6 @@ then
- sed -i 's/TSYNCCMD=rdate time.memod.de/TSYNCCMD=\/etc\/init.d\/S99rtc_GfA set/' $GFA_PREFIX/var/GfA/Display_GSM.ini
- fi
-
- -#echo "Update Firmware"
- -#echo "."
- -#/root/spi_tivia /root/btm43_0107.bin >/dev/null
- -#echo ".."
- -#echo "Update Firmware Done"
- -#/root/gfa_spi -v
- #================================
- #--create mountable run folder insted of link
- RUNDIR=$GFA_PREFIX/run
- @@ -430,13 +396,562 @@ fi
-
- #=================
- echo "Update Done, pls. reboot System"
- -umount /mnt
- +umount $GFA_PREFIX/_GfABoot 2>/dev/null
- +rm -rf $GFA_PREFIX/_GfABoot
- +
- echo "."
- echo "restart system !!!"
- sleep 2
- #-----------------
- reboot
- +fi
- +fi
- +#====================== DoRealUpdate ==== Ende =====
- +#===== MakeBootableSD/EMMC === Start
- +if [ $1 == "MakeBootableSD" -o $1 == "MakeBootableEMMC" ]
- +then
- +such="root=/dev/mmcblk1"
- +
- +if [ $1 == "MakeBootableSD" ]; then
- + TODEV="SD"
- +else
- + TODEV="EMMC"
- +fi
- +
- +grep -q $such /proc/cmdline
- +if [ $? == 0 ]; then
- + bootpart="/dev/mmcblk1p1"
- + bootdev="EMMC"
- + DESTNAME="SD"
- + DESTDEV="/dev/mmcblk0"
- + DESTBOOTPART="/dev/mmcblk0p1"
- + DESTROOTPART="/dev/mmcblk0p2"
- +else
- + bootpart="/dev/mmcblk0p1"
- + bootdev="SD"
- + DESTNAME="EMMC"
- + DESTDEV="/dev/mmcblk1"
- + DESTBOOTPART="/dev/mmcblk1p1"
- + DESTROOTPART="/dev/mmcblk1p2"
- +fi
- +
- +echo ""
- +echo -e "\e[7mMake Bootable $TODEV\e[0m"
- +
- +if [ $bootdev == $TODEV ]; then
- + echo "System was booted from $TODEV, Making Bootable$TODEV not possible ! ==> EXIT"
- + exit 1
- +fi
- +
- +if [ ! -b $DESTDEV ]; then
- + echo -e "\e[31mNo $DESTNAME available ! ==> EXIT\e[0m"
- + exit 2
- +fi
- +
- +echo -e "\e[31m$DESTNAME will be formatted, all Data will be deleted!!\e[0m"
- +echo ""
- +read -n 1 -p "are you sure? (y/n) : " antwort
- +
- +if [ ${#antwort} == 0 ]; then
- + antwort = "n"
- +fi
- +
- +if [ $antwort == "y" -o $antwort == "Y" ]; then
- + echo -e "\nStart copying .."
- +else
- + echo -e "\nEXIT on user reqest"
- + exit 3
- +fi
- +
- +echo "Formatting $DESTNAME ...."
- +umount $DESTBOOTPART 2>/dev/null
- +umount $DESTROOTPART 2>/dev/null
- +dd if=/dev/zero of=$DESTDEV bs=2M count=1 conv=notrunc
- +busybox fdisk $DESTDEV <<EOF
- +o
- +p
- +n
- +p
- +1
- +
- ++64M
- +t
- +e
- +a
- +1
- +n
- +p
- +2
- +
- +
- +p
- +w
- +EOF
- +/sbin/mkfs.vfat -F 16 $DESTBOOTPART
- +if [ -e /usr/sbin/mkfs.ext4 ]; then
- + /usr/sbin/mkfs.ext4 -F $DESTROOTPART
- +else
- + mkfs.ext4 -F $DESTROOTPART
- +fi
- +#======
- +GFA_PREFIX="/tmp/__MakeSD"
- +rm -rf $GFA_PREFIX
- +TAR_PARAMETERS="-C $GFA_PREFIX/ -xzvf -"
- +
- +# mount partiotions
- +mkdir -p $GFA_PREFIX
- +mount $DESTROOTPART $GFA_PREFIX
- +mkdir -p $GFA_PREFIX/_GfABoot
- +mount $DESTBOOTPART $GFA_PREFIX/_GfABoot
- +
- +#--- Kernel MLO und Rootfs-Tarball entpacken
- +untar_payload
- +# ---
- +cd
- +df -h
- +# ==========
- +#=====
- +# Get Graphics resolution and set dtb to the right resolution
- +BASEBOARD=`cat /tmp/BASEBOARD`
- +
- +DONE=0
- +YRES="$(fbset | awk '/geom/ {print $3}')"
- +XRES="$(fbset | awk '/geom/ {print $2}')"
- +
- +EMMC_BOOTPATH=$GFA_PREFIX/_GfABoot
- +
- +echo "XRES $XRES, YRES $YRES"
- +
- +if [ "$XRES" == "480" -a "$YRES" == "272" ]; then
- +if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
- + echo "4.3 Inch Display 2"
- + cp $EMMC_BOOTPATH/Display002_4.dtb $EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +else
- + echo "4.3 Inch"
- + cp $EMMC_BOOTPATH/Display001_4.dtb $EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +fi
- +fi
- +
- +if [ "$XRES" == "800" -a "$YRES" == "480" ]; then
- +if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
- + echo "7 Inch Display 2"
- + cp $EMMC_BOOTPATH/Display002_7.dtb $EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +else
- +if [ "$BASEBOARD" == "DISPLAY002_RS485" ]; then
- + echo "7 Inch Display 2 rs485"
- + cp $EMMC_BOOTPATH/Display002_7_rs485.dtb $EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +else
- + echo "7 Inch"
- + cp $EMMC_BOOTPATH/Display001_7.dtb $EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +fi
- +fi
- +fi
- +
- +if [ "$XRES" == "640" -a "$YRES" == "480" ]; then
- +if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
- + echo "5.7 Inch Display 2"
- + cp $EMMC_BOOTPATH/Display002_5.dtb $EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +else
- + echo "5.7 Inch"
- + cp $EMMC_BOOTPATH/Display001_5.dtb $EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +fi
- +fi
- +if [ "$XRES" == "1280" -a "$YRES" == "800" ]; then
- +if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
- + echo "10 Inch Display 2"
- + cp $EMMC_BOOTPATH/Display002_10.dtb $EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +else
- + echo "10 Inch"
- + cp $EMMC_BOOTPATH/Display001_10.dtb $EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +fi
- +fi
- +
- +if [ "$XRES" == "1920" -a "$YRES" == "1080" ]; then
- +if [ "$BASEBOARD" == "DISPLAY002_DI4" ]; then
- + echo "15 Inch Display 2"
- + cp $EMMC_BOOTPATH/Display002_15.dtb $EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +else
- + echo "15 Inch"
- + cp $EMMC_BOOTPATH/Display001_15.dtb $EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +fi
- +fi
- +
- +if [ "$DONE" == "0" ]; then
- + echo "Unknown Display Resolution"
- +fi
- +#========================================
- +
- +# umount boot
- +umount $DESTBOOTPART
- +rm -rf $GFA_PREFIX/_GfABoot
- +# umount rootfs
- +umount $DESTROOTPART
- +
- +exit 0
- +fi
- +#===== MakeBootableSD/EMMC === Ende
- +
- +#===== MakeSDUpdateTool === Start
- +if [ $1 == "MakeSDUpdateTool" ]
- +then
- +such="root=/dev/mmcblk1"
- +
- +grep -q $such /proc/cmdline
- +if [ $? == 0 ]; then
- + bootpart="/dev/mmcblk1p1"
- + bootdev="EMMC"
- +else
- + bootpart="/dev/mmcblk0p1"
- + bootdev="SD"
- +fi
- +
- +echo ""
- +echo -e "\e[7mMake SDUpdateTool\e[0m"
- +
- +if [ $bootdev != "SD" ]; then
- + echo "System was booted from $bootdev, Making SDUpdateTool not possible ! ==> EXIT"
- + exit 1
- +fi
- +
- +GFA_PREFIX="/opt/GfA/SDUpdateTool"
- +GFA_DATAPATH=$GFA_PREFIX/_BootRoot
- +
- +rm -rf $GFA_DATAPATH
- +mkdir -p $GFA_DATAPATH
- +TAR_PARAMETERS="-C $GFA_DATAPATH/ -xzvf -"
- +
- +#--- Kernel MLO und Rootfs-Tarball entpacken
- +untar_payload
- +# ---
- +echo -e "===\n Make UpdateEMMC.sh \n===\n"
- +(\
- +cat << XEOF
- +#!/bin/sh
- +
- +CALLDIR=\`pwd\`
- +WRKDIR=/opt/GfA/SDUpdateTool
- +
- +DESTDEV="/dev/mmcblk1"
- +
- +EMMC_BOOTPATH="/tmp/EMMCBOOT"
- +EMMC_ROOTPATH="/tmp/EMMCROOT"
- +such=\$DESTDEV
- +
- +grep -q \$such /proc/cmdline
- +if [ \$? == 0 ]; then
- + bootpart="/dev/mmcblk1p1"
- + bootdev="EMMC"
- +else
- + bootpart="/dev/mmcblk0p1"
- + bootdev="SD"
- +fi
- +
- +echo ""
- +echo -e "\e[7mUpdate EMMC from SD\e[0m"
- +
- +if [ \$bootdev != "SD" ]; then
- + echo "System was booted from \$bootdev, update from SD not possible ! =="
- + exit 1
- +fi
- +
- +umount \${DESTDEV}p1 2>/dev/null
- +umount \${DESTDEV}p2 2>/dev/null
- +
- +rm -rf \$EMMC_BOOTPATH
- +rm -rf \$EMMC_ROOTPATH
- +mkdir -p \$EMMC_BOOTPATH
- +mkdir -p \$EMMC_ROOTPATH
- +
- +mount \${DESTDEV}p1 \$EMMC_BOOTPATH
- +mount \${DESTDEV}p2 \$EMMC_ROOTPATH
- +
- +#== copy network config ==
- +TMP_PATH=\$WRKDIR/_GfA_tmp
- +GFA_PREFIX=\$EMMC_ROOTPATH
- +
- +rm -rf \$TMP_PATH
- +mkdir -p \$TMP_PATH
- +mkdir -p \$TMP_PATH/bu_cfg
- +
- +if [ -e \$GFA_PREFIX/etc/network/interfaces ]
- +then
- + cp \$GFA_PREFIX/etc/network/interfaces \$TMP_PATH/bu_cfg
- + rm \$GFA_PREFIX/etc/network/interfaces
- +fi
- +
- +if [ -e \$GFA_PREFIX/etc/wpa_supplicant.conf ]
- +then
- + cp \$GFA_PREFIX/etc/wpa_supplicant.conf \$TMP_PATH/bu_cfg/wpa_supplicant.conf_old
- + rm \$GFA_PREFIX/etc/wpa_supplicant.conf
- +fi
- +
- +if [ -e \$GFA_PREFIX/etc/wpa_supplicant/wpa_supplicant.conf ]
- +then
- + cp \$GFA_PREFIX/etc/wpa_supplicant/wpa_supplicant.conf \$TMP_PATH/bu_cfg
- + rm \$GFA_PREFIX/etc/wpa_supplicant/wpa_supplicant.conf
- +fi
- +
- +#=== copy ROOTFS
- +cd \$WRKDIR/_BootRoot
- +rsync -avR --exclude=/_GfABoot \\
- +--exclude=./tmp --exclude=./etc/inittab \\
- +--exclude=./etc/hosts --exclude=./etc/hostname \\
- +--exclude=./etc/passwd --exclude=./etc/shadow \\
- +--exclude=./etc/vncpwd --exclude=./etc/init.d/S99tincd \\
- +--exclude=./etc/hostapd.conf --exclude=./root/.ssh \\
- +--exclude=./etc/init.d/M99tincd --exclude=./var/GfA/Display_GSM.ini \\
- +--exclude=./var/cron/crontabs/root \\
- + ./ \$EMMC_ROOTPATH/
- +
- +# --- copy old eth0 configuration
- +INTERFACE="eth0"
- +IFCONFIG=\$TMP_PATH/bu_cfg/interfaces
- +
- +(\\
- +cat << EOF
- +# Configure Loopback
- +auto lo
- +iface lo inet loopback
- +
- +EOF
- +) > \$GFA_PREFIX/etc/network/interfaces
- +
- +awk -v par=\$INTERFACE '/^iface/ && \$2==par {f=1}/^iface/ && \$2!=par {f=0}f && !/^\s*#/d && !/^\s*\$/d {print \$0 }' \$TMP_PATH/bu_cfg/interfaces \\
- +>> \$GFA_PREFIX/etc/network/interfaces
- +
- +(\\
- +cat << EOF
- +iface eth1 inet dhcp
- +#---
- +iface usb0 inet static
- + address 192.168.7.2
- + netmask 255.255.255.252
- +#---
- +iface wlan0 inet dhcp
- + wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
- +#
- +EOF
- +) >> \$GFA_PREFIX/etc/network/interfaces
- +
- +if [ -e \$GFA_PREFIX/etc/init.d/S98usb_g_ether ]
- +then
- + cp \$GFA_PREFIX/etc/init.d/S98usb_g_ether \$GFA_PREFIX/etc/init.d/M98usb_g_ether
- + rm \$GFA_PREFIX/etc/init.d/S98usb_g_ether
- +fi
- +
- +if [ -e \$GFA_PREFIX/etc/init.d/S80ti-sgx ]
- +then
- + rm \$GFA_PREFIX/etc/init.d/S80ti-sgx
- +fi
- +
- +if [ -e \$GFA_PREFIX/etc/init.d/M99_wlan_usb ]
- +then
- + rm \$GFA_PREFIX/etc/init.d/M99_wlan_usb
- +fi
- +
- +if [ -e \$GFA_PREFIX/etc/init.d/S99_wlan_usb ]
- +then
- + rm \$GFA_PREFIX/etc/init.d/S99_wlan_usb
- +fi
- +
- +if [ -e \$GFA_PREFIX/etc/init.d/M80dhcp-relay ]
- +then
- + rm \$GFA_PREFIX/etc/init.d/M80dhcp-relay
- +fi
- +
- +if [ -e \$GFA_PREFIX/etc/init.d/S80dhcp-relay ]
- +then
- + rm \$GFA_PREFIX/etc/init.d/S80dhcp-relay
- +fi
- +if [ -e \$GFA_PREFIX/etc/init.d/M80dhcp-server ]
- +then
- + rm \$GFA_PREFIX/etc/init.d/M80dhcp-server
- +fi
- +
- +if [ -e \$GFA_PREFIX/etc/init.d/S80dhcp-server ]
- +then
- + rm \$GFA_PREFIX/etc/init.d/S80dhcp-server
- +fi
- +
- +if [ -d \$GFA_PREFIX/etc/dhcp ]
- +then
- + rm -rf \$GFA_PREFIX/etc/dhcp
- +fi
- +
- +if [ -e \$GFA_PREFIX/var/GfA/Display_GSM.ini ]
- +then
- + sed -i 's/TSYNCCMD=rdate time.memod.de/TSYNCCMD=\/etc\/init.d\/S99rtc_GfA set/' \$GFA_PREFIX/var/GfA/Display_GSM.ini
- +fi
- +#================================
- +#--create mountable run folder insted of link
- +RUNDIR=\$GFA_PREFIX/run
- +if [ -L \$RUNDIR ]; then
- + mv \$RUNDIR \$RUNDIR'_WRK'
- + mkdir \$RUNDIR
- + mount -t tmpfs tmpfs \$RUNDIR
- + WRKDIR=\`pwd\`
- + cd \$RUNDIR'_WRK'
- + cp -a ./* \$RUNDIR
- + cd \$WRKDIR
- + rm \$RUNDIR'_WRK'
- +fi
- +#--- craete missing nogroup group
- +GID_NOGROUP=\`awk -F\: '/nogroup/ {print \$3}' \$GFA_PREFIX/etc/group\`
- +if [ -z "\$GID_NOGROUP" ]; then
- +# addgroup -S -g 65534 nogroup
- + GID_NOGROUP=65534
- + echo "nogroup:x:\${GID_NOUGROUP}:" >> \$GFA_PREFIX/etc/group
- +fi
- +#--create missing users for mysql,
- +if [ -z \`awk -F\: '/mysql/ {print \$3}' \$GFA_PREFIX/etc/passwd\` ]; then
- + UID_MY=\`awk -F: '{uid[\$3]=1}END{for(x=1000; x<=1500; x++) {if(uid[x] != ""){}else{print x; exit;}}}' \$GFA_PREFIX/etc/passwd\`
- + echo "mysql:x:\$UID_MY:\${GID_NOUGROUP}:MySQL daemon:/var/mysql:/bin/false" >> \$GFA_PREFIX/etc/passwd
- +fi
- +#--create missing users for postgresql,
- +if [ -z \`awk -F\: '/postgres/ {print \$3}' \$GFA_PREFIX/etc/passwd\` ]; then
- + UID_PG=\`awk -F: '{uid[\$3]=1}END{for(x=1000; x<=1500; x++) {if(uid[x] != ""){}else{print x; exit;}}}' \$GFA_PREFIX/etc/passwd\`
- + GID_PG=\`awk -F\: '/postgres/ {print \$3}' \$GFA_PREFIX/etc/group\`
- + if [ -z "\$GID_PG" ]; then
- + GID_PG=\`awk -F: '{uid[\$3]=1}END{for(x=1000; x<=1500; x++) {if(uid[x] != ""){}else{print x; exit;}}}' \$GFA_PREFIX/etc/group\`
- + echo "postgres:x:\$GID_PG:" >> \$GFA_PREFIX/etc/group
- + fi
- + echo "postgres:x:\$UID_PG:\$GID_PG:PostgreSQL Server:/var/lib/pgsql:/bin/sh" >> \$GFA_PREFIX/etc/passwd
- +fi
- +#------------------
- +UID_MY=\`awk -F\: '/mysql/ {print \$3}' \$GFA_PREFIX/etc/passwd\`
- +UID_PG=\`awk -F\: '/postgres/ {print \$3}' \$GFA_PREFIX/etc/passwd\`
- +GID_PG=\`awk -F\: '/postgres/ {print \$3}' \$GFA_PREFIX/etc/group\`
- +GID_NOGROUP=\`awk -F\: '/nogroup/ {print \$3}' \$GFA_PREFIX/etc/group\`
- +
- +chown -Rv \${UID_MY}:\${GID_NOGROUP} \$GFA_PREFIX/var/mysql
- +chown -Rv \${UID_PG}:\${GID_PG} \$GFA_PREFIX/var/lib/pgsql
- +
- +chmod 700 \$GFA_PREFIX/root/.ssh
- +#===== copy custom_root files if folder exists
- +if [ -d "\$WRKDIR/custom_root" ]; then
- + cd \$WRKDIR/custom_root
- + rsync -avR \\
- + ./ \$EMMC_ROOTPATH/
- +fi
- +#==============================================================================
- +#=== copy BOOTFS
- +rm -rf \$EMMC_BOOTPATH/*
- +cd \$WRKDIR/_BootRoot/_GfABoot
- +rsync -avR ./ \$EMMC_BOOTPATH/
- +#=====
- +# Get Graphics resolution and set dtb to the right resolution
- +BASEBOARD=\`cat /tmp/BASEBOARD\`
- +
- +DONE=0
- +YRES="\$(fbset | awk '/geom/ {print \$3}')"
- +XRES="\$(fbset | awk '/geom/ {print \$2}')"
- +
- +echo "XRES \$XRES, YRES \$YRES"
- +
- +if [ "\$XRES" == "480" -a "\$YRES" == "272" ]; then
- +if [ "\$BASEBOARD" == "DISPLAY002_DI4" ]; then
- + echo "4.3 Inch Display 2"
- + cp \$EMMC_BOOTPATH/Display002_4.dtb \$EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +else
- + echo "4.3 Inch"
- + cp \$EMMC_BOOTPATH/Display001_4.dtb \$EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +fi
- +fi
- +
- +if [ "\$XRES" == "800" -a "\$YRES" == "480" ]; then
- +if [ "\$BASEBOARD" == "DISPLAY002_DI4" ]; then
- + echo "7 Inch Display 2"
- + cp \$EMMC_BOOTPATH/Display002_7.dtb \$EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +else
- +if [ "\$BASEBOARD" == "DISPLAY002_RS485" ]; then
- + echo "7 Inch Display 2 rs485"
- + cp \$EMMC_BOOTPATH/Display002_7_rs485.dtb \$EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +else
- + echo "7 Inch"
- + cp \$EMMC_BOOTPATH/Display001_7.dtb \$EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +fi
- +fi
- +fi
- +
- +if [ "\$XRES" == "640" -a "\$YRES" == "480" ]; then
- +if [ "\$BASEBOARD" == "DISPLAY002_DI4" ]; then
- + echo "5.7 Inch Display 2"
- + cp \$EMMC_BOOTPATH/Display002_5.dtb \$EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +else
- + echo "5.7 Inch"
- + cp \$EMMC_BOOTPATH/Display001_5.dtb \$EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +fi
- +fi
- +if [ "\$XRES" == "1280" -a "\$YRES" == "800" ]; then
- +if [ "\$BASEBOARD" == "DISPLAY002_DI4" ]; then
- + echo "10 Inch Display 2"
- + cp \$EMMC_BOOTPATH/Display002_10.dtb \$EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +else
- + echo "10 Inch"
- + cp \$EMMC_BOOTPATH/Display001_10.dtb \$EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +fi
- +fi
- +
- +if [ "\$XRES" == "1920" -a "\$YRES" == "1080" ]; then
- +if [ "\$BASEBOARD" == "DISPLAY002_DI4" ]; then
- + echo "15 Inch Display 2"
- + cp \$EMMC_BOOTPATH/Display002_15.dtb \$EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +else
- + echo "15 Inch"
- + cp \$EMMC_BOOTPATH/Display001_15.dtb \$EMMC_BOOTPATH/Display001.dtb
- + DONE=1
- +fi
- +fi
- +
- +if [ "\$DONE" == "0" ]; then
- + echo "Unknown Display Resolution"
- +fi
- +#========================================
- +
- +umount \${DESTDEV}p1 2>/dev/null
- +umount \${DESTDEV}p2 2>/dev/null
- +
- +XEOF
- +) > $GFA_PREFIX/UpdateEMMC.sh
- +chmod a+x $GFA_PREFIX/UpdateEMMC.sh
- +
- exit 0
- fi
- -#-------------
- +#===== MakeSDUpdateTool === End
- +
- +#====== HELP on unknown Command =======
- +echo -e "Unknown Command :: $1"
- +echo -e "Usage: $0 \e[32m[Command]\e[0m"
- +echo -e "\t without command ... update to new system"
- +echo -e "\t \e[32mMakeBootableSD\e[0m ... create bootable SD card with factory defaults"
- +echo -e "\t \e[32mMakeBootableEMMC\e[0m ... create bootable EMMC with factory defaults"
- +echo -e "\t \e[32mMakeSDUpdateTool\e[0m ... create Folders and scripts for"
- +echo -e "\t\t updating system from SD Card in /opt/GfA/SDUpdateTool"
- +echo -e "\t\t To Do UpdateEMMC:"
- +echo -e "\t\t\t cd /opt/GfA/SDUpdateTool"
- +echo -e "\t\t\t ./UpdateEMMC.sh"
- +echo -e "\t\t\t if folder /opt/GfASDupdateTool/custom_root exists"
- +echo -e "\t\t\t whole tree will be copied to root filesystem as is"
- +
- exit 0
|