diff options
author | Waldemar Brodkorb <mail@waldemar-brodkorb.de> | 2012-03-20 18:54:07 +0100 |
---|---|---|
committer | Waldemar Brodkorb <mail@waldemar-brodkorb.de> | 2012-03-20 18:54:07 +0100 |
commit | a9eb63c94f02dea45167719da7ea75f1ef539191 (patch) | |
tree | dde5807e64dff86d58d1e43d273f280a3d4685b4 | |
parent | 28bfc5688a1a016bef4a001a5bc2a7f7703b1f85 (diff) |
add simple lemote disk installer
-rw-r--r-- | mk/build.mk | 3 | ||||
-rw-r--r-- | package/base-files/Makefile | 2 | ||||
-rwxr-xr-x | package/base-files/src/init | 1 | ||||
-rw-r--r-- | package/installer/Makefile | 26 | ||||
-rwxr-xr-x | package/installer/src/installer | 61 |
5 files changed, 89 insertions, 4 deletions
diff --git a/mk/build.mk b/mk/build.mk index 19cd219da..906efc87b 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -146,9 +146,6 @@ ${TOPDIR}/package/Depends.mk: ${TOPDIR}/.config $(wildcard ${TOPDIR}/package/*/M .PHONY: all world clean cleantarget cleandir distclean image_clean world: - echo $(KERNEL_BASE) - echo $(KERNEL_MAJ) - echo $(KERNEL_MIN) mkdir -p $(DISTDIR) $(BUILD_DIR) $(TARGET_DIR) $(PACKAGE_DIR)/.stamps \ $(TOOLS_DIR) $(TOOLS_BUILD_DIR) $(TOOLCHAIN_BUILD_DIR) ${BASH} ${TOPDIR}/scripts/scan-pkgs.sh diff --git a/package/base-files/Makefile b/package/base-files/Makefile index d7a3f38ea..822415352 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/mk/rootfs.mk PKG_NAME:= base-files PKG_VERSION:= 1.0 -PKG_RELEASE:= 50 +PKG_RELEASE:= 51 PKG_SECTION:= base PKG_DESCR:= basic files and scripts diff --git a/package/base-files/src/init b/package/base-files/src/init index 537a65352..ac689f046 100755 --- a/package/base-files/src/init +++ b/package/base-files/src/init @@ -18,6 +18,7 @@ echo >/dev/mdev.seq echo "/sbin/mdev" >/proc/sys/kernel/hotplug mdev -s cat /etc/.rnd >/dev/urandom 2>&1 +[ -x /installer ] && { /installer; } [ -x /kexecinit ] && { /kexecinit; } [ -x /cryptinit ] && { /cryptinit; exec switch_root /mnt "/init";} [ -x /sbin/cfgfs ] && { cfgfs setup; mount -o remount,ro /;} || mount -o remount,rw / diff --git a/package/installer/Makefile b/package/installer/Makefile new file mode 100644 index 000000000..5866a9629 --- /dev/null +++ b/package/installer/Makefile @@ -0,0 +1,26 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include ${TOPDIR}/rules.mk + +PKG_NAME:= installer +PKG_VERSION:= 1.0 +PKG_RELEASE:= 1 +PKG_DESCR:= OpenADK disk installer +PKG_SECTION:= base + +WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION} +NO_DISTFILES:= 1 + +include ${TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,INSTALLER,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +CONFIG_STYLE:= manual +BUILD_STYLE:= manual +INSTALL_STYLE:= manual + +do-install: + $(INSTALL_BIN) ./src/installer $(IDIR_INSTALLER)/ + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/installer/src/installer b/package/installer/src/installer new file mode 100755 index 000000000..fd45c443c --- /dev/null +++ b/package/installer/src/installer @@ -0,0 +1,61 @@ +#!/bin/sh + +create_bootcfg() { + cat << FOO > /mnt/boot/boot.cfg +default 0 +timeout 2 +showmenu 1 +title OpenADK + kernel (wd0,0)/boot/kernel + args root=/dev/sda1 + +title USB + kernel (usb0,0)/boot/kernel + args root=/dev/sdc1 +FOO + +} + +disk_install() { + mke2fs -q -j /dev/sda1 + sync + sleep 2 + mount -t ext4 /dev/sda1 /mnt + tar xzvf /lemote-yeelong-eglibc-archive+kernel.tar.gz -C /mnt + test -x /mnt/usr/bin/sudo && chmod u+s /mnt/usr/bin/sudo + test -x /mnt/usr/bin/Xorg && chmod u+s /mnt/usr/bin/Xorg + create_bootcfg + umount /mnt + +} + +. /etc/functions.sh +echo 0 > /proc/sys/kernel/printk + +load_modules /etc/modules +for f in /etc/modules.d/*; do + [[ -e $f ]] && load_modules /etc/modules.d/* + break +done + +echo " ___ _ ____ _ __ " +echo " / _ \ _ __ ___ _ __ / \ | _ \| |/ / " +echo "| | | | '_ \ / _ \ '_ \ / _ \ | | | | ' / " +echo "| |_| | |_) | __/ | | |/ ___ \| |_| | . \ " +echo " \___/| .__/ \___|_| |_/_/ \_\____/|_|\_\ " +echo " |_| " +echo "" +# settle down, after module load +sleep 2 +echo "Should I install OpenADK to disk (y/n)" +read answer +if [ "$answer" = "y" ];then + disk_install +fi +echo "Should I reboot now (y/n)" +read answer +if [ "$answer" = "y" ];then + reboot +else + exit +fi |