Browse Source

add installer for lemote yeelong

Waldemar Brodkorb 13 years ago
parent
commit
6964a9c728

+ 4 - 1
package/adkinstall/Makefile

@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		adkinstall
 PKG_VERSION:=		1.0
-PKG_RELEASE:=		8
+PKG_RELEASE:=		9
 PKG_DESCR:=		openadk installer
 PKG_SECTION:=		base
 PKG_DEPENDS:=		parted sfdisk e2fsprogs
@@ -33,6 +33,9 @@ ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB532),y)
 else ifeq ($(ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20),y)
 	${INSTALL_BIN} ./src/adkinstall.foxg20 \
 		$(IDIR_ADKINSTALL)/sbin/adkinstall
+else ifeq ($(ADK_TARGET_SYSTEM_LEMOTE_YEELONG),y)
+	${INSTALL_BIN} ./src/adkinstall.yeelong \
+		$(IDIR_ADKINSTALL)/sbin/adkinstall
 else ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB411),y)
 	${INSTALL_BIN} ./src/adkinstall.rb4xx \
 		$(IDIR_ADKINSTALL)/sbin/adkinstall

+ 2 - 1
package/adkinstall/src/adkinstall.foxg20

@@ -24,8 +24,9 @@ parted -s /dev/mmcblk0 set 1 boot on
 sfdisk --change-id /dev/mmcblk0 3 88 >/dev/null 2>&1
 sleep 2
 sync
-printf "Creating ext2 filesystem\n"
+printf "Creating vfat filesystem\n"
 mkfs.vfat /dev/mmcblk0p1 >/dev/null 2>&1
+printf "Creating ext2 filesystem\n"
 mke2fs /dev/mmcblk0p2 >/dev/null 2>&1
 tune2fs -c0 -i0 /dev/mmcblk0p2 >/dev/null 2>&1
 mount -t ext2 /dev/mmcblk0p2 /mnt

+ 59 - 0
package/adkinstall/src/adkinstall.yeelong

@@ -0,0 +1,59 @@
+#!/bin/sh
+# installs a rootfs tar archive from OpenADK onto a disk
+# lemote yeelong specific installer
+
+check_exit() {
+        if [ $? -ne 0 ];then
+                echo "Installation failed."
+                exit 1
+        fi
+}
+
+if [ -z $1 ];then
+        printf "Please give your root tar archive as parameter\n"
+        exit 1
+fi
+
+printf "Creating partitions ...\n"
+parted -s /dev/sda mklabel msdos
+check_exit
+sleep 2
+maxsize=$(env LC_ALL=C parted /dev/sda -s unit cyl print |awk '/^Disk/ { print $3 }'|sed -e 's/cyl//')
+rootsize=$(($maxsize-2))
+start=0
+rootp=1
+cfgfsp=2
+
+parted -s /dev/sda unit cyl mkpart primary ext2 $start $rootsize
+check_exit
+mke2fs -q /dev/sda1
+check_exit
+parted -s /dev/sda unit cyl mkpart primary fat32 $rootsize $maxsize
+check_exit
+parted -s /dev/sda set $rootp boot on
+check_exit
+sfdisk --change-id /dev/sda $cfgfsp 88 >/dev/null 2>&1
+check_exit
+# settle down
+sleep 2
+mount -t ext2 /dev/sda$rootp /mnt
+check_exit
+printf "Extracting install archive ...\n"
+tar -C /mnt -xzpf $1
+check_exit
+chmod 1777 /mnt/tmp
+chmod 4755 /mnt/bin/busybox
+
+cat << EOF > /mnt/boot/boot.cfg
+default 0
+timeout 3
+showmenu 1
+title OpenADK
+        kernel (wd0,0)/boot/kernel
+        args root=/dev/sda1 ro panic=10
+}
+EOF
+
+umount /mnt
+printf "Successfully installed. You can reboot now.\n"
+exit 0