From 0906d4acb286d0584a8f1c15bb1c3077502b0f6d Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 5 Feb 2017 17:18:11 +0100 Subject: add new section base/adk, rename adkinstall into fwinstall --- package/Config.in | 2 +- package/adk-helper/Makefile | 2 +- package/adkinstall/Makefile | 29 --- package/adkinstall/src/adkinstall | 532 -------------------------------------- package/alix-switch/Makefile | 4 +- package/cfgfs/Makefile | 4 +- package/cryptinit/Makefile | 2 +- package/fwinstall/Makefile | 29 +++ package/fwinstall/src/fwinstall | 532 ++++++++++++++++++++++++++++++++++++++ package/fwupdate/Makefile | 2 +- package/kexecinit/Makefile | 2 +- package/section.lst | 2 +- 12 files changed, 571 insertions(+), 571 deletions(-) delete mode 100644 package/adkinstall/Makefile delete mode 100644 package/adkinstall/src/adkinstall create mode 100644 package/fwinstall/Makefile create mode 100644 package/fwinstall/src/fwinstall diff --git a/package/Config.in b/package/Config.in index f1d04185a..5b97dfa02 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2,8 +2,8 @@ menu "Base system" source package/Config.in.auto.base.boot source package/Config.in.auto.base.libs source package/Config.in.auto.base.apps +source package/Config.in.auto.base.adk source package/Config.in.auto.base.shells -source package/Config.in.auto.base.misc source package/Config.in.auto.base.tests endmenu diff --git a/package/adk-helper/Makefile b/package/adk-helper/Makefile index a6e5d4025..821aefaf4 100644 --- a/package/adk-helper/Makefile +++ b/package/adk-helper/Makefile @@ -7,7 +7,7 @@ PKG_NAME:= adk-helper PKG_VERSION:= 1.0 PKG_RELEASE:= 2 PKG_DESCR:= adk helper utilities -PKG_SECTION:= base/misc +PKG_SECTION:= base/adk PKG_CFLINE_ADK_HELPER:= depends on ADK_HOST_ONLY diff --git a/package/adkinstall/Makefile b/package/adkinstall/Makefile deleted file mode 100644 index 639a74de3..000000000 --- a/package/adkinstall/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -# This file is part of the OpenADK project. OpenADK is copyrighted -# material, please see the LICENCE file in the top-level directory. - -include ${ADK_TOPDIR}/rules.mk - -PKG_NAME:= adkinstall -PKG_VERSION:= 2.0 -PKG_RELEASE:= 4 -PKG_DESCR:= disk/flash installer -PKG_SECTION:= base/misc -PKG_DEPENDS:= mke2fs parted sfdisk dosfstools mksh -PKG_DEPENDS+= grub grub-tools -PKG_KDEPENDS:= ext4-fs - -NO_DISTFILES:= 1 - -include ${ADK_TOPDIR}/mk/package.mk - -$(eval $(call PKG_template,ADKINSTALL,adkinstall,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) - -CONFIG_STYLE:= manual -BUILD_STYLE:= manual -INSTALL_STYLE:= manual - -do-install: - $(INSTALL_DIR) $(IDIR_ADKINSTALL)/sbin - $(INSTALL_BIN) ./src/adkinstall $(IDIR_ADKINSTALL)/sbin - -include ${ADK_TOPDIR}/mk/pkg-bottom.mk diff --git a/package/adkinstall/src/adkinstall b/package/adkinstall/src/adkinstall deleted file mode 100644 index 90ceb77ec..000000000 --- a/package/adkinstall/src/adkinstall +++ /dev/null @@ -1,532 +0,0 @@ -#!/bin/mksh -# This file is part of the OpenADK project. -# install OpenADK to a block/flash device - -if [ $(id -u) -ne 0 ];then - print installation is only possible as root - exit 1 -fi - -# get adk target system -target=$(cat /etc/.adktarget) -if [ -z $target ];then - print autodetection of target failed - exit 1 -fi - -function mikrotik-rb532-help { - cat >&2 < - -c: compact flash install - -n: nand install - -f: filesystem for compact flash - -h: help text -EOF - exit 1 -} - -function sgi-o2-help { - cat >&2 < - -d: create data partition - -f: filesystem (default ext4) - -h: help text -EOF - exit 1 -} - -function ibm-x40-help { - cat >&2 < - -d: create data partition - -f: filesystem (default ext4) - -h: help text -EOF - exit 1 -} - -function asus-p5bvm-help { - cat >&2 < - -d: create data partition - -f: filesystem (default ext4) - -h: help text -EOF - exit 1 -} - - -function pcengines-apu-help { - cat >&2 < - -f: filesystem (default ext4) - -h: help text -EOF - exit 1 -} - -function pcengines-alix-help { - cat >&2 < - -f: filesystem (default ext4) - -h: help text -EOF - exit 1 -} - -case $target { -(sgi-o2) - cfgfssize=32768 - data= - fs=ext4 - while getopts "f:d:" ch; do - case $ch in - d) - data=$OPTARG - ;; - f) - fs=$OPTARG - ;; - *) - sgi-o2-help - exit 1 - ;; - esac - done - shift $((OPTIND - 1)) - if [ -z $1 ];then - sgi-o2-help - else - archive=$1 - fi - ;; -(ibm-x40) - cfgfssize=32768 - data= - fs=ext4 - while getopts "f:d:" ch; do - case $ch in - d) - data=$OPTARG - ;; - f) - fs=$OPTARG - ;; - *) - ibm-x40-help - exit 1 - ;; - esac - done - shift $((OPTIND - 1)) - if [ -z $1 ];then - ibm-x40-help - else - archive=$1 - fi - ;; -(asus-p5bvm) - cfgfssize=32768 - data= - fs=ext4 - while getopts "f:d:" ch; do - case $ch in - d) - data=$OPTARG - ;; - f) - fs=$OPTARG - ;; - *) - asus-p5bvm-help - exit 1 - ;; - esac - done - shift $((OPTIND - 1)) - if [ -z $1 ];then - ibm-x40-help - else - archive=$1 - fi - ;; -(pcengines-apu) - cfgfssize=32768 - fs=ext4 - while getopts "f:" ch; do - case $ch in - f) - fs=$OPTARG - ;; - *) - pcengines-apu-help - exit 1 - ;; - esac - done - shift $((OPTIND - 1)) - if [ -z $1 ];then - pcengines-apu-help - else - archive=$1 - fi - ;; -(pcengines-alix) - cfgfssize=32768 - fs=ext4 - while getopts "f:" ch; do - case $ch in - f) - fs=$OPTARG - ;; - *) - pcengines-alix-help - exit 1 - ;; - esac - done - shift $((OPTIND - 1)) - if [ -z $1 ];then - pcengines-alix-help - else - archive=$1 - fi - ;; -(mikrotik-rb532) - cfgfssize=32768 - nand=0 - cf=0 - fs=ext4 - while getopts "cnf:" ch; do - case $ch in - c) - cf=1 - fs=ext4 - ;; - n) - nand=1 - fs=yaffs2 - ;; - f) - fs=$OPTARG - ;; - *) - mikrotik-rb532-help - exit 1 - ;; - esac - done - shift $((OPTIND - 1)) - if [ -z $1 ];then - mikrotik-rb532-help - else - archive=$1 - fi - ;; -(*) - print target $target not supported - exit 1 - ;; -} - -if [ "$target" = "mikrotik-rb532" ];then - if [ $cf -eq 0 -a $nand -eq 0 ];then - print "you either install on cf (-c) or nand (-n)" - mikrotik-rb532-help - fi -fi - -tools="parted partprobe sfdisk mkfs.ext2" - -f=0 -for tool in $tools;do - if ! which $tool >/dev/null; then - echo "checking if $tool is installed... failed" - f=1 - fi -done -if [ $f -eq 1 ];then exit 1;fi - -# create empty partition table -function create_label { - print "creating empty partition table" - parted -s $1 mklabel msdos > /dev/null 2>&1 - if [ $? -ne 0 ]; then - echo "creating empty partition failed!" - exit 1 - fi -} - -# get max size of disk in sectors -function get_max_size { - maxsize=$(env LC_ALL=C parted $1 -s unit s print |awk '/^Disk/ { print $3 }'|sed -e 's/s//') - rootsize=$(($maxsize-$cfgfssize)) - print device has $maxsize sectors. using $rootsize for root. -} - -# create partition, with fstype start and end in sectors -function create_partition { - print creating partition on $1 - parted -s $1 unit s mkpart primary $2 $3 $4 > /dev/null 2>&1 - if [ $? -ne 0 ]; then - echo "creating primary partition failed!" - exit 1 - fi -} - -function set_boot_flag { - print setting bootflag on $1 partition $2 - parted -s $1 set $2 boot on > /dev/null 2>&1 - if [ $? -ne 0 ]; then - echo "setting bootflag failed!" - exit 1 - fi -} - -function change_part_type { - print setting partition type on $1 partition $2 to $3 - sfdisk --change-id $1 $2 $3 >/dev/null 2>&1 - if [ $? -ne 0 ]; then - echo "changing partition type failed!" - exit 1 - fi -} - -function create_filesystem { - print creating filesystem $2 on $1 partition $3 - mkfs.ext2 -j -F -q ${1}${3} - if [ $? -ne 0 ]; then - echo "creating filesystem on partition failed!" - exit 1 - fi -} - -function mount_fs { - print mounting ${1}${2} to $4 with filesystem $3 - mount -t $3 ${1}${2} $4 - if [ $? -ne 0 ]; then - echo "mounting filesystem failed!" - exit 1 - fi -} - -function extract_archive { - print extracting archive $1 onto $2 - tar -C $2 -xpf $1 - if [ $? -ne 0 ]; then - echo "archive extraction failed!" - exit 1 - fi -} - -function grub_install { - print installing bootloader grub -( - print set default=0 - print set timeout=1 - print serial --unit=0 --speed=115200 - print terminal_output serial - print terminal_input serial - consargs="console=ttyS0,115200" - print - print 'menuentry "GNU/Linux (OpenADK)" {' - print "\tlinux /boot/kernel root=/dev/sda1" - print '}' -) >/mnt/boot/grub/grub.cfg - grub-install $1 --root-directory /mnt - if [ $? -ne 0 ]; then - echo "grub install failed!" - exit 1 - fi -} - -function fix_perm { - print fixing permissions - chmod 1777 ${1}/tmp - [[ -f ${1}/usr/bin/sudo ]] && chmod 4755 ${1}/usr/bin/sudo - [[ -f ${1}/usr/bin/Xorg ]] && chmod 4755 ${1}/usr/bin/Xorg -} - -case $target { -(sgi-o2) - get_max_size /dev/sda - create_label /dev/sda - if [ -z $data ];then - create_partition /dev/sda ext2 16385 $rootsize - create_partition /dev/sda ext2 $(($rootsize+1)) $(($maxsize-1)) - set_boot_flag /dev/sda 1 - change_part_type /dev/sda 2 88 - else - datasize=$(($data*1024*2)) - echo datasize is: $datasize - echo create partition from 16385 to $(($rootsize-$datasize)) - create_partition /dev/sda ext2 16385 $(($rootsize-$datasize)) - echo create partition from $(($rootsize-$datasize+1)) to $(($maxsize-$cfgfssize-1)) - create_partition /dev/sda ext2 $(($rootsize-$datasize+1)) $(($maxsize-$cfgfssize-1)) - echo create partition from $(($maxsize-$cfgfssize)) to $(($maxsize-1)) - create_partition /dev/sda ext2 $(($maxsize-$cfgfssize)) $(($maxsize-1)) - set_boot_flag /dev/sda 1 - change_part_type /dev/sda 3 88 - - fi - partprobe /dev/sda - sync - sleep 2 - if [ -z $data ];then - create_filesystem /dev/sda $fs 1 - else - create_filesystem /dev/sda $fs 1 - create_filesystem /dev/sda $fs 2 - fi - mdev -s - mount_fs /dev/sda 1 $fs /mnt - extract_archive $archive /mnt - if [ ! -z $data ];then - echo creating data dir and fstab entry - mkdir /mnt/data - echo "/dev/sda2 /data ext4 rw 0 0" >> /mnt/etc/fstab - fi - fix_perm /mnt - umount /mnt - ;; -(ibm-x40) - get_max_size /dev/sda - create_label /dev/sda - if [ -z $data ];then - create_partition /dev/sda ext2 16385 $rootsize - create_partition /dev/sda ext2 $(($rootsize+1)) $(($maxsize-1)) - set_boot_flag /dev/sda 1 - change_part_type /dev/sda 2 88 - else - datasize=$(($data*1024*2)) - echo datasize is: $datasize - echo create partition from 16385 to $(($rootsize-$datasize)) - create_partition /dev/sda ext2 16385 $(($rootsize-$datasize)) - echo create partition from $(($rootsize-$datasize+1)) to $(($maxsize-$cfgfssize-1)) - create_partition /dev/sda ext2 $(($rootsize-$datasize+1)) $(($maxsize-$cfgfssize-1)) - echo create partition from $(($maxsize-$cfgfssize)) to $(($maxsize-1)) - create_partition /dev/sda ext2 $(($maxsize-$cfgfssize)) $(($maxsize-1)) - set_boot_flag /dev/sda 1 - change_part_type /dev/sda 3 88 - - fi - partprobe /dev/sda - sync - sleep 2 - umount /mnt - if [ -z $data ];then - create_filesystem /dev/sda $fs 1 - else - create_filesystem /dev/sda $fs 1 - create_filesystem /dev/sda $fs 2 - fi - mdev -s - mount_fs /dev/sda 1 $fs /mnt - extract_archive $archive /mnt - if [ ! -z $data ];then - echo creating data dir and fstab entry - mkdir /mnt/data - echo "/dev/sda2 /data ext4 rw 0 0" >> /mnt/etc/fstab - fi - grub_install /dev/sda - fix_perm /mnt - umount /mnt - ;; -(asus-p5bvm) - get_max_size /dev/sdc - create_label /dev/sdc - if [ -z $data ];then - create_partition /dev/sdc ext2 16385 $rootsize - create_partition /dev/sdc ext2 $(($rootsize+1)) $(($maxsize-1)) - set_boot_flag /dev/sdc 1 - change_part_type /dev/sdc 2 88 - else - datasize=$(($data*1024*2)) - echo datasize is: $datasize - echo create partition from 16385 to $(($rootsize-$datasize)) - create_partition /dev/sdc ext2 16385 $(($rootsize-$datasize)) - echo create partition from $(($rootsize-$datasize+1)) to $(($maxsize-$cfgfssize-1)) - create_partition /dev/sdc ext2 $(($rootsize-$datasize+1)) $(($maxsize-$cfgfssize-1)) - echo create partition from $(($maxsize-$cfgfssize)) to $(($maxsize-1)) - create_partition /dev/sdc ext2 $(($maxsize-$cfgfssize)) $(($maxsize-1)) - set_boot_flag /dev/sdc 1 - change_part_type /dev/sdc 3 88 - - fi - partprobe /dev/sdc - sync - sleep 2 - umount /mnt - if [ -z $data ];then - create_filesystem /dev/sdc $fs 1 - else - create_filesystem /dev/sdc $fs 1 - create_filesystem /dev/sdc $fs 2 - fi - mdev -s - mount_fs /dev/sdc 1 $fs /mnt - extract_archive $archive /mnt - if [ ! -z $data ]; then - echo creating data dir and fstab entry - mkdir /mnt/data - echo "/dev/sdc2 /data ext4 rw 0 0" >> /mnt/etc/fstab - fi - #grub_install /dev/sdc - fix_perm /mnt - umount /mnt - ;; -(pcengines-apu|pcengines-alix) - get_max_size /dev/sda - create_label /dev/sda - create_partition /dev/sda ext2 16385 $rootsize - create_partition /dev/sda ext2 $(($rootsize+1)) $(($maxsize-1)) - set_boot_flag /dev/sda 1 - change_part_type /dev/sda 2 88 - partprobe /dev/sda - sync - sleep 2 - create_filesystem /dev/sda $fs 1 - mdev -s - mount_fs /dev/sda 1 $fs /mnt - extract_archive $archive /mnt - grub_install /dev/sda - fix_perm /mnt - umount /mnt - ;; -(mikrotik-rb532) - if (( cf )); then - get_max_size /dev/sda - create_label /dev/sda - create_partition /dev/sda ext2 1 16384 - create_partition /dev/sda ext2 16385 $rootsize - create_partition /dev/sda ext2 $(($rootsize+1)) $(($maxsize-1)) - set_boot_flag /dev/sda 1 - change_part_type /dev/sda 1 27 - change_part_type /dev/sda 3 88 - partprobe /dev/sda - sync - sleep 2 - create_filesystem /dev/sda $fs 2 - mdev -s - mount_fs /dev/sda 2 $fs /mnt - extract_archive $archive /mnt - print installing kernel to cf disk /dev/sda1 - dd if=/mnt/boot/kernel of=/dev/sda1 bs=2048 >/dev/null 2>&1 - fix_perm /mnt - umount /mnt - fi - if (( nand )); then - mount_fs /dev/mtdblock 1 $fs /mnt - rm -rf /mnt/* >/dev/null 2>&1 - mkdir /mnt/boot - mount_fs /dev/mtdblock 0 $fs /mnt/boot - extract_archive $archive /mnt - fix_perm /mnt - umount /mnt/boot - umount /mnt - fi - ;; -} - -echo "successfully installed OpenADK on $target." -exit 0 diff --git a/package/alix-switch/Makefile b/package/alix-switch/Makefile index 4e3a280eb..dbc01b8cf 100644 --- a/package/alix-switch/Makefile +++ b/package/alix-switch/Makefile @@ -7,8 +7,8 @@ PKG_NAME:= alix-switch PKG_VERSION:= 1.0 PKG_RELEASE:= 4 PKG_DESCR:= daemon listening on button events -PKG_SECTION:= base/misc -PKG_URL:= http://openadk.org/ +PKG_SECTION:= sys/misc +PKG_URL:= http://www.openadk.org/ PKG_SYSTEM_DEPENDS:= pcengines-alix2d2 pcengines-alix2d13 diff --git a/package/cfgfs/Makefile b/package/cfgfs/Makefile index 31d20ad1d..addec9a7f 100644 --- a/package/cfgfs/Makefile +++ b/package/cfgfs/Makefile @@ -7,8 +7,8 @@ PKG_NAME:= cfgfs PKG_VERSION:= 1.0.10 PKG_RELEASE:= 4 PKG_DESCR:= compressed config filesystem -PKG_SECTION:= base/apps -PKG_URL:= http://openadk.org/ +PKG_SECTION:= base/adk +PKG_URL:= http://www.openadk.org/ PKG_CFLINE_CFGFS:= select BUSYBOX_COMM@ PKG_CFLINE_CFGFS+= select BUSYBOX_DIFF@ diff --git a/package/cryptinit/Makefile b/package/cryptinit/Makefile index 87a27b257..0dc39eac4 100644 --- a/package/cryptinit/Makefile +++ b/package/cryptinit/Makefile @@ -7,7 +7,7 @@ PKG_NAME:= cryptinit PKG_VERSION:= 2.0 PKG_RELEASE:= 1 PKG_DESCR:= init for encrypted rootfilesystem -PKG_SECTION:= base/misc +PKG_SECTION:= base/adk PKG_DEPENDS:= cryptsetup PKG_CFLINE_CRYPTINIT:= select BUSYBOX_STTY@ diff --git a/package/fwinstall/Makefile b/package/fwinstall/Makefile new file mode 100644 index 000000000..fab528148 --- /dev/null +++ b/package/fwinstall/Makefile @@ -0,0 +1,29 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include ${ADK_TOPDIR}/rules.mk + +PKG_NAME:= fwinstall +PKG_VERSION:= 1.0 +PKG_RELEASE:= 1 +PKG_DESCR:= disk/flash installer +PKG_SECTION:= base/adk +PKG_DEPENDS:= mke2fs parted sfdisk dosfstools mksh +PKG_DEPENDS+= grub grub-tools +PKG_KDEPENDS:= ext4-fs + +NO_DISTFILES:= 1 + +include ${ADK_TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,FWINSTALL,fwinstall,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +CONFIG_STYLE:= manual +BUILD_STYLE:= manual +INSTALL_STYLE:= manual + +fwinstall-install: + $(INSTALL_DIR) $(IDIR_FWINSTALL)/usr/sbin + $(INSTALL_BIN) $(WRKBUILD)/fwinstall $(IDIR_FWINSTALL)/usr/sbin + +include ${ADK_TOPDIR}/mk/pkg-bottom.mk diff --git a/package/fwinstall/src/fwinstall b/package/fwinstall/src/fwinstall new file mode 100644 index 000000000..90ceb77ec --- /dev/null +++ b/package/fwinstall/src/fwinstall @@ -0,0 +1,532 @@ +#!/bin/mksh +# This file is part of the OpenADK project. +# install OpenADK to a block/flash device + +if [ $(id -u) -ne 0 ];then + print installation is only possible as root + exit 1 +fi + +# get adk target system +target=$(cat /etc/.adktarget) +if [ -z $target ];then + print autodetection of target failed + exit 1 +fi + +function mikrotik-rb532-help { + cat >&2 < + -c: compact flash install + -n: nand install + -f: filesystem for compact flash + -h: help text +EOF + exit 1 +} + +function sgi-o2-help { + cat >&2 < + -d: create data partition + -f: filesystem (default ext4) + -h: help text +EOF + exit 1 +} + +function ibm-x40-help { + cat >&2 < + -d: create data partition + -f: filesystem (default ext4) + -h: help text +EOF + exit 1 +} + +function asus-p5bvm-help { + cat >&2 < + -d: create data partition + -f: filesystem (default ext4) + -h: help text +EOF + exit 1 +} + + +function pcengines-apu-help { + cat >&2 < + -f: filesystem (default ext4) + -h: help text +EOF + exit 1 +} + +function pcengines-alix-help { + cat >&2 < + -f: filesystem (default ext4) + -h: help text +EOF + exit 1 +} + +case $target { +(sgi-o2) + cfgfssize=32768 + data= + fs=ext4 + while getopts "f:d:" ch; do + case $ch in + d) + data=$OPTARG + ;; + f) + fs=$OPTARG + ;; + *) + sgi-o2-help + exit 1 + ;; + esac + done + shift $((OPTIND - 1)) + if [ -z $1 ];then + sgi-o2-help + else + archive=$1 + fi + ;; +(ibm-x40) + cfgfssize=32768 + data= + fs=ext4 + while getopts "f:d:" ch; do + case $ch in + d) + data=$OPTARG + ;; + f) + fs=$OPTARG + ;; + *) + ibm-x40-help + exit 1 + ;; + esac + done + shift $((OPTIND - 1)) + if [ -z $1 ];then + ibm-x40-help + else + archive=$1 + fi + ;; +(asus-p5bvm) + cfgfssize=32768 + data= + fs=ext4 + while getopts "f:d:" ch; do + case $ch in + d) + data=$OPTARG + ;; + f) + fs=$OPTARG + ;; + *) + asus-p5bvm-help + exit 1 + ;; + esac + done + shift $((OPTIND - 1)) + if [ -z $1 ];then + ibm-x40-help + else + archive=$1 + fi + ;; +(pcengines-apu) + cfgfssize=32768 + fs=ext4 + while getopts "f:" ch; do + case $ch in + f) + fs=$OPTARG + ;; + *) + pcengines-apu-help + exit 1 + ;; + esac + done + shift $((OPTIND - 1)) + if [ -z $1 ];then + pcengines-apu-help + else + archive=$1 + fi + ;; +(pcengines-alix) + cfgfssize=32768 + fs=ext4 + while getopts "f:" ch; do + case $ch in + f) + fs=$OPTARG + ;; + *) + pcengines-alix-help + exit 1 + ;; + esac + done + shift $((OPTIND - 1)) + if [ -z $1 ];then + pcengines-alix-help + else + archive=$1 + fi + ;; +(mikrotik-rb532) + cfgfssize=32768 + nand=0 + cf=0 + fs=ext4 + while getopts "cnf:" ch; do + case $ch in + c) + cf=1 + fs=ext4 + ;; + n) + nand=1 + fs=yaffs2 + ;; + f) + fs=$OPTARG + ;; + *) + mikrotik-rb532-help + exit 1 + ;; + esac + done + shift $((OPTIND - 1)) + if [ -z $1 ];then + mikrotik-rb532-help + else + archive=$1 + fi + ;; +(*) + print target $target not supported + exit 1 + ;; +} + +if [ "$target" = "mikrotik-rb532" ];then + if [ $cf -eq 0 -a $nand -eq 0 ];then + print "you either install on cf (-c) or nand (-n)" + mikrotik-rb532-help + fi +fi + +tools="parted partprobe sfdisk mkfs.ext2" + +f=0 +for tool in $tools;do + if ! which $tool >/dev/null; then + echo "checking if $tool is installed... failed" + f=1 + fi +done +if [ $f -eq 1 ];then exit 1;fi + +# create empty partition table +function create_label { + print "creating empty partition table" + parted -s $1 mklabel msdos > /dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "creating empty partition failed!" + exit 1 + fi +} + +# get max size of disk in sectors +function get_max_size { + maxsize=$(env LC_ALL=C parted $1 -s unit s print |awk '/^Disk/ { print $3 }'|sed -e 's/s//') + rootsize=$(($maxsize-$cfgfssize)) + print device has $maxsize sectors. using $rootsize for root. +} + +# create partition, with fstype start and end in sectors +function create_partition { + print creating partition on $1 + parted -s $1 unit s mkpart primary $2 $3 $4 > /dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "creating primary partition failed!" + exit 1 + fi +} + +function set_boot_flag { + print setting bootflag on $1 partition $2 + parted -s $1 set $2 boot on > /dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "setting bootflag failed!" + exit 1 + fi +} + +function change_part_type { + print setting partition type on $1 partition $2 to $3 + sfdisk --change-id $1 $2 $3 >/dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "changing partition type failed!" + exit 1 + fi +} + +function create_filesystem { + print creating filesystem $2 on $1 partition $3 + mkfs.ext2 -j -F -q ${1}${3} + if [ $? -ne 0 ]; then + echo "creating filesystem on partition failed!" + exit 1 + fi +} + +function mount_fs { + print mounting ${1}${2} to $4 with filesystem $3 + mount -t $3 ${1}${2} $4 + if [ $? -ne 0 ]; then + echo "mounting filesystem failed!" + exit 1 + fi +} + +function extract_archive { + print extracting archive $1 onto $2 + tar -C $2 -xpf $1 + if [ $? -ne 0 ]; then + echo "archive extraction failed!" + exit 1 + fi +} + +function grub_install { + print installing bootloader grub +( + print set default=0 + print set timeout=1 + print serial --unit=0 --speed=115200 + print terminal_output serial + print terminal_input serial + consargs="console=ttyS0,115200" + print + print 'menuentry "GNU/Linux (OpenADK)" {' + print "\tlinux /boot/kernel root=/dev/sda1" + print '}' +) >/mnt/boot/grub/grub.cfg + grub-install $1 --root-directory /mnt + if [ $? -ne 0 ]; then + echo "grub install failed!" + exit 1 + fi +} + +function fix_perm { + print fixing permissions + chmod 1777 ${1}/tmp + [[ -f ${1}/usr/bin/sudo ]] && chmod 4755 ${1}/usr/bin/sudo + [[ -f ${1}/usr/bin/Xorg ]] && chmod 4755 ${1}/usr/bin/Xorg +} + +case $target { +(sgi-o2) + get_max_size /dev/sda + create_label /dev/sda + if [ -z $data ];then + create_partition /dev/sda ext2 16385 $rootsize + create_partition /dev/sda ext2 $(($rootsize+1)) $(($maxsize-1)) + set_boot_flag /dev/sda 1 + change_part_type /dev/sda 2 88 + else + datasize=$(($data*1024*2)) + echo datasize is: $datasize + echo create partition from 16385 to $(($rootsize-$datasize)) + create_partition /dev/sda ext2 16385 $(($rootsize-$datasize)) + echo create partition from $(($rootsize-$datasize+1)) to $(($maxsize-$cfgfssize-1)) + create_partition /dev/sda ext2 $(($rootsize-$datasize+1)) $(($maxsize-$cfgfssize-1)) + echo create partition from $(($maxsize-$cfgfssize)) to $(($maxsize-1)) + create_partition /dev/sda ext2 $(($maxsize-$cfgfssize)) $(($maxsize-1)) + set_boot_flag /dev/sda 1 + change_part_type /dev/sda 3 88 + + fi + partprobe /dev/sda + sync + sleep 2 + if [ -z $data ];then + create_filesystem /dev/sda $fs 1 + else + create_filesystem /dev/sda $fs 1 + create_filesystem /dev/sda $fs 2 + fi + mdev -s + mount_fs /dev/sda 1 $fs /mnt + extract_archive $archive /mnt + if [ ! -z $data ];then + echo creating data dir and fstab entry + mkdir /mnt/data + echo "/dev/sda2 /data ext4 rw 0 0" >> /mnt/etc/fstab + fi + fix_perm /mnt + umount /mnt + ;; +(ibm-x40) + get_max_size /dev/sda + create_label /dev/sda + if [ -z $data ];then + create_partition /dev/sda ext2 16385 $rootsize + create_partition /dev/sda ext2 $(($rootsize+1)) $(($maxsize-1)) + set_boot_flag /dev/sda 1 + change_part_type /dev/sda 2 88 + else + datasize=$(($data*1024*2)) + echo datasize is: $datasize + echo create partition from 16385 to $(($rootsize-$datasize)) + create_partition /dev/sda ext2 16385 $(($rootsize-$datasize)) + echo create partition from $(($rootsize-$datasize+1)) to $(($maxsize-$cfgfssize-1)) + create_partition /dev/sda ext2 $(($rootsize-$datasize+1)) $(($maxsize-$cfgfssize-1)) + echo create partition from $(($maxsize-$cfgfssize)) to $(($maxsize-1)) + create_partition /dev/sda ext2 $(($maxsize-$cfgfssize)) $(($maxsize-1)) + set_boot_flag /dev/sda 1 + change_part_type /dev/sda 3 88 + + fi + partprobe /dev/sda + sync + sleep 2 + umount /mnt + if [ -z $data ];then + create_filesystem /dev/sda $fs 1 + else + create_filesystem /dev/sda $fs 1 + create_filesystem /dev/sda $fs 2 + fi + mdev -s + mount_fs /dev/sda 1 $fs /mnt + extract_archive $archive /mnt + if [ ! -z $data ];then + echo creating data dir and fstab entry + mkdir /mnt/data + echo "/dev/sda2 /data ext4 rw 0 0" >> /mnt/etc/fstab + fi + grub_install /dev/sda + fix_perm /mnt + umount /mnt + ;; +(asus-p5bvm) + get_max_size /dev/sdc + create_label /dev/sdc + if [ -z $data ];then + create_partition /dev/sdc ext2 16385 $rootsize + create_partition /dev/sdc ext2 $(($rootsize+1)) $(($maxsize-1)) + set_boot_flag /dev/sdc 1 + change_part_type /dev/sdc 2 88 + else + datasize=$(($data*1024*2)) + echo datasize is: $datasize + echo create partition from 16385 to $(($rootsize-$datasize)) + create_partition /dev/sdc ext2 16385 $(($rootsize-$datasize)) + echo create partition from $(($rootsize-$datasize+1)) to $(($maxsize-$cfgfssize-1)) + create_partition /dev/sdc ext2 $(($rootsize-$datasize+1)) $(($maxsize-$cfgfssize-1)) + echo create partition from $(($maxsize-$cfgfssize)) to $(($maxsize-1)) + create_partition /dev/sdc ext2 $(($maxsize-$cfgfssize)) $(($maxsize-1)) + set_boot_flag /dev/sdc 1 + change_part_type /dev/sdc 3 88 + + fi + partprobe /dev/sdc + sync + sleep 2 + umount /mnt + if [ -z $data ];then + create_filesystem /dev/sdc $fs 1 + else + create_filesystem /dev/sdc $fs 1 + create_filesystem /dev/sdc $fs 2 + fi + mdev -s + mount_fs /dev/sdc 1 $fs /mnt + extract_archive $archive /mnt + if [ ! -z $data ]; then + echo creating data dir and fstab entry + mkdir /mnt/data + echo "/dev/sdc2 /data ext4 rw 0 0" >> /mnt/etc/fstab + fi + #grub_install /dev/sdc + fix_perm /mnt + umount /mnt + ;; +(pcengines-apu|pcengines-alix) + get_max_size /dev/sda + create_label /dev/sda + create_partition /dev/sda ext2 16385 $rootsize + create_partition /dev/sda ext2 $(($rootsize+1)) $(($maxsize-1)) + set_boot_flag /dev/sda 1 + change_part_type /dev/sda 2 88 + partprobe /dev/sda + sync + sleep 2 + create_filesystem /dev/sda $fs 1 + mdev -s + mount_fs /dev/sda 1 $fs /mnt + extract_archive $archive /mnt + grub_install /dev/sda + fix_perm /mnt + umount /mnt + ;; +(mikrotik-rb532) + if (( cf )); then + get_max_size /dev/sda + create_label /dev/sda + create_partition /dev/sda ext2 1 16384 + create_partition /dev/sda ext2 16385 $rootsize + create_partition /dev/sda ext2 $(($rootsize+1)) $(($maxsize-1)) + set_boot_flag /dev/sda 1 + change_part_type /dev/sda 1 27 + change_part_type /dev/sda 3 88 + partprobe /dev/sda + sync + sleep 2 + create_filesystem /dev/sda $fs 2 + mdev -s + mount_fs /dev/sda 2 $fs /mnt + extract_archive $archive /mnt + print installing kernel to cf disk /dev/sda1 + dd if=/mnt/boot/kernel of=/dev/sda1 bs=2048 >/dev/null 2>&1 + fix_perm /mnt + umount /mnt + fi + if (( nand )); then + mount_fs /dev/mtdblock 1 $fs /mnt + rm -rf /mnt/* >/dev/null 2>&1 + mkdir /mnt/boot + mount_fs /dev/mtdblock 0 $fs /mnt/boot + extract_archive $archive /mnt + fix_perm /mnt + umount /mnt/boot + umount /mnt + fi + ;; +} + +echo "successfully installed OpenADK on $target." +exit 0 diff --git a/package/fwupdate/Makefile b/package/fwupdate/Makefile index 2677dc818..729ea6def 100644 --- a/package/fwupdate/Makefile +++ b/package/fwupdate/Makefile @@ -7,7 +7,7 @@ PKG_NAME:= fwupdate PKG_VERSION:= 1.0 PKG_RELEASE:= 1 PKG_DESCR:= update firmware -PKG_SECTION:= sys/misc +PKG_SECTION:= base/adk PKG_URL:= http://www.openadk.org NO_DISTFILES:= 1 diff --git a/package/kexecinit/Makefile b/package/kexecinit/Makefile index a9b2df084..df6e30c54 100644 --- a/package/kexecinit/Makefile +++ b/package/kexecinit/Makefile @@ -7,7 +7,7 @@ PKG_NAME:= kexecinit PKG_VERSION:= 1.0 PKG_RELEASE:= 1 PKG_DESCR:= init for kexec rootfilesystem -PKG_SECTION:= base/misc +PKG_SECTION:= base/adk WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION} NO_DISTFILES:= 1 diff --git a/package/section.lst b/package/section.lst index 845abff10..b223dd094 100644 --- a/package/section.lst +++ b/package/section.lst @@ -1,7 +1,7 @@ base/boot Boot Loaders base/libs Base Libraries base/apps Base System -base/misc Base Misc +base/adk Base OpenADK scripts base/tests Testsuites base/shells Shells sys/drivers Hardware drivers / externel Kernel modules -- cgit v1.2.3