summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2009-10-05 18:59:18 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2009-10-05 18:59:18 +0000
commit9158a74b3a3bf91c4bfd5d3cf118794cb53a48a9 (patch)
treed275cd3a32089036d2892dbafdef0ee7dffb732b
parent841c6823ac8a3f1e17af457722c8b7ea2abf8cb4 (diff)
downloadalpine-conf-9158a74b3a3bf91c4bfd5d3cf118794cb53a48a9.tar.bz2
alpine-conf-9158a74b3a3bf91c4bfd5d3cf118794cb53a48a9.tar.xz
setup-disk: fix for detecting disk from given partition
This should fix detecting /dev/cciss/c0d0 from /dev/cciss/c0d0p1
-rw-r--r--setup-disk.in18
1 files changed, 13 insertions, 5 deletions
diff --git a/setup-disk.in b/setup-disk.in
index c11d20c..266284f 100644
--- a/setup-disk.in
+++ b/setup-disk.in
@@ -53,6 +53,17 @@ is_vmware() {
|| grep -q VMware /proc/ide/hd*/model 2>/dev/null
}
+# Find the disk device from given partition
+disk_from_part() {
+ local i= part=${1#/dev/}
+ for i in /sys/block/*/$part; do
+ i=${i%/*}
+ echo "/dev/${i##*/}"
+ return 0
+ done
+ return 1
+}
+
install_mounted_root() {
local mnt="$1"
local features="ata base bootchart cdrom ext2 ext3 ide scsi usb"
@@ -69,7 +80,7 @@ install_mounted_root() {
return 1
fi
- rootdisk=${rootdev%[0-9]*}
+ rootdisk=$(disk_from_part $rootdev)
echon "Installing system on $rootdev: "
lbu package - | tar -C "$mnt" -zx
@@ -82,8 +93,7 @@ install_mounted_root() {
acct linux-grsec alpine-base >/dev/null || return 1
echo ""
# make things bootable
- kernel=$(ls "$mnt"/lib/modules)
- if [ "$rootdisk" = "/dev/md" ]; then
+ if [ -e "/sys/block/${rootdev#/dev/}/md" ]; then
local md=${rootdev#/dev/}
features="$features raid"
raidmod=$(cat /sys/block/$md/md/level)
@@ -135,8 +145,6 @@ EOF
apk del -q syslinux
}
-
-
# figure out decent default swap size in mega bytes
find_swap_size() {
local memtotal_kb=$(awk '$1 == "MemTotal:" {print $2}' /proc/meminfo)