From cd945e49e76927a4c2924523458ceebfc2f859d6 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 21 Feb 2010 23:34:33 +0100 Subject: rename ext2-cf target rootfs to ext2-block - add a foxg20 adkinstaller (not working yet) - rename ext2-cf target rootfs to ext2-block --- package/adkinstall/Makefile | 11 ++++--- package/adkinstall/src/adkinstall.foxg20 | 51 ++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 package/adkinstall/src/adkinstall.foxg20 (limited to 'package/adkinstall') diff --git a/package/adkinstall/Makefile b/package/adkinstall/Makefile index f8ada2ebe..5a1823cc3 100644 --- a/package/adkinstall/Makefile +++ b/package/adkinstall/Makefile @@ -5,12 +5,12 @@ include ${TOPDIR}/rules.mk PKG_NAME:= adkinstall PKG_VERSION:= 1.0 -PKG_RELEASE:= 3 -PKG_DESCR:= installer for compact flash or nand/mtd devices +PKG_RELEASE:= 4 +PKG_DESCR:= installer for cf, mmc, sd or mtd devices PKG_SECTION:= base -PKG_DEPENDS:= parted sfdisk +PKG_DEPENDS:= parted sfdisk e2fsprogs -PKG_TARGET_DEPENDS:= alix wrap rb532 +PKG_TARGET_DEPENDS:= alix wrap rb532 foxg20 WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION} NO_DISTFILES:= 1 @@ -31,6 +31,9 @@ do-install: ifeq ($(ADK_LINUX_MIPS_RB532),y) ${INSTALL_BIN} ./src/adkinstall.rb532 \ $(IDIR_ADKINSTALL)/sbin/adkinstall +else ifeq ($(ADK_LINUX_ARM_FOXBOARD),y) + ${INSTALL_BIN} ./src/adkinstall.foxg20 \ + $(IDIR_ADKINSTALL)/sbin/adkinstall else ${INSTALL_BIN} ./src/adkinstall $(IDIR_ADKINSTALL)/sbin endif diff --git a/package/adkinstall/src/adkinstall.foxg20 b/package/adkinstall/src/adkinstall.foxg20 new file mode 100644 index 000000000..fec746ef0 --- /dev/null +++ b/package/adkinstall/src/adkinstall.foxg20 @@ -0,0 +1,51 @@ +#!/bin/sh +# installs a rootfs tar archive from OpenADK onto a micro SD card +# special script for foxboard netus aka foxg20 + +if [ -z $1 ];then + printf "Please give your root tar archive as first parameter\n" + exit 1 +fi +if [ -z $2 ];then + printf "Please give your kernel as second parameter\n" + exit 1 +fi + +printf "Creating partition scheme\n" +parted -s /dev/mmcblk0 mklabel msdos +sleep 2 +maxsize=$(env LC_ALL=C parted /dev/mmcblk0 -s unit cyl print |awk '/^Disk/ { print $3 }'|sed -e 's/cyl//') +rootsize=$(($maxsize-2)) +parted -s /dev/mmcblk0 unit cyl mkpartfs primary fat32 0 5 +parted -s /dev/mmcblk0 unit cyl mkpart primary ext2 5 $rootsize +parted -s /dev/mmcblk0 unit cyl mkpart primary fat32 $rootsize $maxsize +parted -s /dev/mmcblk0 set 1 boot on +sfdisk --change-id /dev/mmcblk0 3 88 >/dev/null 2>&1 +sleep 2 +sync +printf "Installing kernel\n" +mount -t vfat /dev/mmcblk0p1 /mnt +cp $2 /mnt/uImage +sync +umount /mnt +mke2fs /dev/mmcblk0p2 +mount -t ext2 /dev/mmcblk0p2 /mnt + +printf "Extracting install archive\n" +tar -C /mnt -xzpf $1 +if [ $? -ne 0 ];then + printf "Extracting of install archive failed" + exit 1 +fi + +chmod 1777 /mnt/tmp +chmod 4755 /mnt/bin/busybox +sync +umount /mnt +if [ $? -ne 0 ];then + printf "Unmounting filesystem failed" + exit 1 +else + printf "Successfully installed.\n" + exit 0 +fi -- cgit v1.2.3