diff options
author | Oyvind Repvik <nail@nslu2-linux.org> | 2006-01-21 17:07:17 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2006-01-21 17:07:17 +0000 |
commit | ec31c75e94546c0ede50107715ade3920516834f (patch) | |
tree | 827b9c487b6185c606dec70d7ca8d142f7e4f5c7 | |
parent | 4da76a6a2f64d3deb7ac20326ff01384be8c9e4f (diff) |
slugos-init: Use tune2fs to mark the root fs with a "unique" label
turnup marks the rootfs with a label, and /boot/disk mounts the correct
partition on boot.
Closes slugbug #320
-rwxr-xr-x | packages/slugos-init/files/boot/disk | 6 | ||||
-rw-r--r-- | packages/slugos-init/files/turnup | 13 | ||||
-rw-r--r-- | packages/slugos-init/slugos-init_0.10.bb | 2 |
3 files changed, 12 insertions, 9 deletions
diff --git a/packages/slugos-init/files/boot/disk b/packages/slugos-init/files/boot/disk index ede33a3ee6..37505f8924 100755 --- a/packages/slugos-init/files/boot/disk +++ b/packages/slugos-init/files/boot/disk @@ -13,9 +13,9 @@ export PATH=/sbin:/bin:/usr/sbin:/usr/bin # if test -n "$1" then - device="$1" + label="$1" shift - echo "boot: rootfs: mount $* $device" + echo "boot: rootfs: mount $* $label" # # wait if required test "$sleep" -gt 0 && sleep "$sleep" @@ -23,7 +23,7 @@ then # Mount read-write because before exec'ing init # this script creates the '.recovery' link to # detect failed boot. No file type is given to - if mount "$@" "$device" /mnt + if mount "$@" -L "$label" /mnt then # checkmount checks for sh, init and no # .recovery plus either mnt or initrd diff --git a/packages/slugos-init/files/turnup b/packages/slugos-init/files/turnup index 0029697c50..3bb1a55b9c 100644 --- a/packages/slugos-init/files/turnup +++ b/packages/slugos-init/files/turnup @@ -309,7 +309,7 @@ setup_fstab() { # -# boot_rootfs <boot type> <flash file system> <sleep time> <device> [options] +# boot_rootfs <boot type> <flash file system> <sleep time> <label> <device> [options] # Change the flash partition (not the current root!) to boot off # the new root file system boot_rootfs() { @@ -318,8 +318,9 @@ boot_rootfs() { type="$1" ffs="$2" sleep="$3" - device="$4" - + label="$4" + device="$5" + # test this first as the test does not depend on the correctness # of the other arguments test -n "$ffs" -a -d "$ffs" || { @@ -376,7 +377,7 @@ boot_rootfs() { };; *) { echo '#!/bin/sh' test "$sleep" -gt 0 && echo -n "sleep='$sleep' " - echo -n "exec '/boot/$type' '$device'" + echo -n "exec '/boot/$type' '$label'" for opt in "$@" do echo -n " '$opt'" @@ -492,8 +493,10 @@ disk() { # if everything went ok boot from this disk if test $status -eq 0 then + TEMP_LABEL=`date +%y%m%d%H%M` + tune2fs -L $TEMP_LABEL $device # memsticks boot like disks, so ignore the -m - boot_rootfs disk "$ffs" "$sleep" "$device" -t "$fst" -o "$fso" + boot_rootfs disk "$ffs" "$sleep" "$TEMP_LABEL" "$device" -t "$fst" -o "$fso" fi else echo "turnup disk: $device($*): unable to mount device on $new" >&2 diff --git a/packages/slugos-init/slugos-init_0.10.bb b/packages/slugos-init/slugos-init_0.10.bb index d22bdde4ad..21e1d9f477 100644 --- a/packages/slugos-init/slugos-init_0.10.bb +++ b/packages/slugos-init/slugos-init_0.10.bb @@ -3,7 +3,7 @@ SECTION = "console/network" LICENSE = "GPL" DEPENDS = "base-files devio" RDEPENDS = "busybox devio" -PR = "r47" +PR = "r48" SRC_URI = "file://linuxrc \ file://boot/flash \ |