|
@@ -2,530 +2,172 @@
|
|
|
# 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
|
|
|
+if [ $(id -u) -ne 0 ]; then
|
|
|
+ print installation is only possible as root
|
|
|
+ exit 1
|
|
|
fi
|
|
|
|
|
|
+# get architecture
|
|
|
+arch=$(uname -m)
|
|
|
# get adk target system
|
|
|
target=$(cat /etc/.adktarget)
|
|
|
-if [ -z $target ];then
|
|
|
- print autodetection of target failed
|
|
|
- exit 1
|
|
|
+if [ -z $target ]; then
|
|
|
+ print autodetection of target failed
|
|
|
+ exit 1
|
|
|
fi
|
|
|
|
|
|
-function mikrotik-rb532-help {
|
|
|
- cat >&2 <<EOF
|
|
|
-Syntax: adkinstall [-c|-n] <archive>
|
|
|
- -c: compact flash install
|
|
|
- -n: nand install
|
|
|
- -f: filesystem for compact flash
|
|
|
- -h: help text
|
|
|
-EOF
|
|
|
- exit 1
|
|
|
-}
|
|
|
-
|
|
|
-function sgi-o2-help {
|
|
|
+function help {
|
|
|
cat >&2 <<EOF
|
|
|
-Syntax: adkinstall <archive>
|
|
|
- -d: create data partition
|
|
|
- -f: filesystem (default ext4)
|
|
|
- -h: help text
|
|
|
+Syntax: fwinstall <archive> <device>
|
|
|
EOF
|
|
|
exit 1
|
|
|
}
|
|
|
|
|
|
-function ibm-x40-help {
|
|
|
- cat >&2 <<EOF
|
|
|
-Syntax: adkinstall <archive>
|
|
|
- -d: create data partition
|
|
|
- -f: filesystem (default ext4)
|
|
|
- -h: help text
|
|
|
-EOF
|
|
|
- exit 1
|
|
|
-}
|
|
|
-
|
|
|
-function asus-p5bvm-help {
|
|
|
- cat >&2 <<EOF
|
|
|
-Syntax: adkinstall <archive>
|
|
|
- -d: create data partition
|
|
|
- -f: filesystem (default ext4)
|
|
|
- -h: help text
|
|
|
-EOF
|
|
|
- exit 1
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-function pcengines-apu-help {
|
|
|
- cat >&2 <<EOF
|
|
|
-Syntax: adkinstall <archive>
|
|
|
- -f: filesystem (default ext4)
|
|
|
- -h: help text
|
|
|
-EOF
|
|
|
- exit 1
|
|
|
-}
|
|
|
-
|
|
|
-function pcengines-alix-help {
|
|
|
- cat >&2 <<EOF
|
|
|
-Syntax: adkinstall <archive>
|
|
|
- -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 [ -z $1 ]; then
|
|
|
+ print no archive given
|
|
|
+ help
|
|
|
+fi
|
|
|
|
|
|
-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
|
|
|
+if [ -z $2 ]; then
|
|
|
+ print no device given
|
|
|
+ help
|
|
|
fi
|
|
|
|
|
|
+archive=$1
|
|
|
+device=$2
|
|
|
+fs=ext4
|
|
|
+cfgfssize=16384
|
|
|
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
|
|
|
+ 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
|
|
|
+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
|
|
|
+ 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.
|
|
|
+ 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
|
|
|
+ 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
|
|
|
+ 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
|
|
|
+ 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
|
|
|
+ print creating filesystem $2 on $1 partition $3
|
|
|
+ mkfs.ext2 -j -F -q ${1}${3} >/dev/null 2>&1
|
|
|
+ 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
|
|
|
+ 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
|
|
|
+ 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 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 '}'
|
|
|
+ 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=${device}1"
|
|
|
+ print '}'
|
|
|
) >/mnt/boot/grub/grub.cfg
|
|
|
- grub-install $1 --root-directory /mnt
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- echo "grub install failed!"
|
|
|
- exit 1
|
|
|
- fi
|
|
|
+ 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
|
|
|
- ;;
|
|
|
+ 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 $arch {
|
|
|
+ (x86|x86_64)
|
|
|
+ get_max_size $device
|
|
|
+ create_label $device
|
|
|
+ create_partition $device ext2 16385 $rootsize
|
|
|
+ create_partition $device ext2 $(($rootsize+1)) $(($maxsize-1))
|
|
|
+ set_boot_flag $device 1
|
|
|
+ change_part_type $device 2 88
|
|
|
+ partprobe $device
|
|
|
+ sync
|
|
|
+ create_filesystem $device $fs 1
|
|
|
+ [[ -x /sbin/mdev ]] && mdev -s
|
|
|
+ mount_fs $device 1 $fs /mnt
|
|
|
+ extract_archive $archive /mnt
|
|
|
+ grub_install $device
|
|
|
+ fix_perm /mnt
|
|
|
+ umount /mnt
|
|
|
+ ;;
|
|
|
}
|
|
|
|
|
|
echo "successfully installed OpenADK on $target."
|