summaryrefslogtreecommitdiff
path: root/scripts/install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/install.sh')
-rwxr-xr-xscripts/install.sh87
1 files changed, 44 insertions, 43 deletions
diff --git a/scripts/install.sh b/scripts/install.sh
index 5cb5e01f4..79bfa36bf 100755
--- a/scripts/install.sh
+++ b/scripts/install.sh
@@ -4,16 +4,6 @@ if [ $(id -u) -ne 0 ];then
exit 1
fi
-printf "Checking if grub is installed"
-grub=$(which grub)
-
-if [ ! -z $grub -a -x $grub ];then
- printf "...okay\n"
-else
- printf "...failed\n"
- exit 1
-fi
-
printf "Checking if sfdisk is installed"
sfdisk=$(which sfdisk)
@@ -79,7 +69,7 @@ if [ -z $1 ];then
exit 1
else
if [ -z $2 ];then
- printf "Please give your install tar as second parameter\n"
+ printf "Please give your install tar archive as second parameter\n"
exit 2
fi
if [ -f $2 ];then
@@ -105,7 +95,7 @@ else
printf "This will destroy all data on $1, are you sure?\n"
printf "Type "y" to continue\n"
read y
- if [ $y = "y" ];then
+ if [ "$y" = "y" ];then
$sfdisk -l $1 2>&1 |grep 'No medium'
if [ $? -eq 0 ];then
exit 1
@@ -135,34 +125,45 @@ if [ $($sfdisk -l $1 2>/dev/null|grep Empty|wc -l) -ne 4 ];then
read y
if [ $y = "y" ];then
printf "Wiping existing partitions\n"
- dd if=/dev/zero of=$1 bs=512 count=1
+ dd if=/dev/zero of=$1 bs=512 count=1 >/dev/null 2>&1
else
printf "Exiting.\n"
exit 1
fi
fi
-printf "Create partition and filesystem\n"
+case $2 in
+ wrap*)
+ speed=38400
+ ;;
+ *)
+ speed=115200
+ ;;
+esac
+
if [ $rb532 -ne 0 ];then
+ printf "Create partition and filesystem for rb532\n"
rootpart=${1}2
$parted -s $1 mklabel msdos
sleep 2
- maxsize=$(parted $1 -s unit cyl print |awk '/^Disk/ { print $3 }'|sed -e 's/cyl//')
+ maxsize=$(env LC_ALL=C $parted $1 -s unit cyl print |awk '/^Disk/ { print $3 }'|sed -e 's/cyl//')
rootsize=$(($maxsize-2))
$parted -s $1 unit cyl mkpart primary ext2 0 1
- $parted -s $1 unit cyl mkpartfs primary ext2 1 $rootsize
+ $parted -s $1 unit cyl mkpart primary ext2 1 $rootsize
$parted -s $1 unit cyl mkpart primary fat32 $rootsize $maxsize
$parted -s $1 set 1 boot on
$sfdisk --change-id $1 1 27
$sfdisk --change-id $1 3 88
sleep 2
+ $mke2fs ${1}2
sync
dd if=$3 of=${1}1 bs=2048
sync
else
rootpart=${1}1
if [ $cfgfs -eq 0 ];then
+ printf "Create partition and filesystem without cfgfs\n"
$sfdisk $1 << EOF
,,L
;
@@ -172,15 +173,17 @@ y
EOF
$mke2fs ${rootpart}
else
+ printf "Create partition and filesystem with cfgfs\n"
$parted -s $1 mklabel msdos
sleep 2
- maxsize=$(parted $1 -s unit cyl print |awk '/^Disk/ { print $3 }'|sed -e 's/cyl//')
- rootsize=$(($maxsize-1))
+ maxsize=$(env LC_ALL=C $parted $1 -s unit cyl print |awk '/^Disk/ { print $3 }'|sed -e 's/cyl//')
+ rootsize=$(($maxsize-2))
- $parted -s $1 unit cyl mkpartfs primary ext2 0 $rootsize
+ $parted -s $1 unit cyl mkpart primary ext2 0 $rootsize
$parted -s $1 unit cyl mkpart primary fat32 $rootsize $maxsize
$parted -s $1 set 1 boot on
$sfdisk --change-id $1 2 88
+ $mke2fs ${1}1
fi
fi
@@ -192,7 +195,7 @@ else
fi
sleep 2
-$tune2fs -c 0 -i 0 ${rootpart} >/dev/null
+$tune2fs -c 0 -i 0 -m 1 ${rootpart} >/dev/null
if [ $? -eq 0 ];then
printf "Successfully disabled filesystem checks on ${rootpart}\n"
else
@@ -209,30 +212,28 @@ chmod 1777 $tmp/tmp
chmod 4755 $tmp/bin/busybox
if [ $rb532 -eq 0 ];then
- printf "Copying grub files\n"
- mkdir $tmp/boot/grub
- cp /boot/grub/stage1 $tmp/boot/grub
- cp /boot/grub/stage2 $tmp/boot/grub
- cp /boot/grub/e2fs_stage1_5 $tmp/boot/grub
-
-cat << EOF > $tmp/boot/grub/menu.lst
-serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
-terminal --timeout=2 serial console
-timeout 2
-default 0
-hiddenmenu
-title linux
-root (hd0,0)
-kernel /boot/kernel root=/dev/sda1 init=/init console=ttyS0,115200 console=tty0 panic=10 rw
-EOF
-
- printf "Installing Grub bootloader\n"
-$grub --batch --no-curses --no-floppy --device-map=/dev/null >/dev/null << EOF
-device (hd0) $1
-root (hd0,0)
-setup (hd0)
-quit
+ printf "Installing GRUB bootloader\n"
+ mkdir -p $tmp/boot/grub
+ mount -o bind /dev $tmp/dev
+ chroot $tmp mount -t proc /proc /proc
+ chroot $tmp mount -t sysfs /sys /sys
+cat << EOF > $tmp/boot/grub/grub.cfg
+set default=0
+set timeout=1
+serial --unit=0 --speed=$speed
+terminal_output serial
+terminal_input serial
+
+menuentry "GNU/Linux (OpenADK)" {
+ insmod ext2
+ set root=(hd0,1)
+ linux /boot/vmlinuz-adk root=/dev/sda1 ro init=/init console=ttyS0,$speed console=tty0 panic=10
+}
EOF
+ chroot $tmp grub-install $1
+ umount $tmp/proc
+ umount $tmp/sys
+ umount $tmp/dev
fi
printf "Creating device nodes\n"