summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOyvind Repvik <nail@nslu2-linux.org>2006-01-21 17:07:17 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-01-21 17:07:17 +0000
commitec31c75e94546c0ede50107715ade3920516834f (patch)
tree827b9c487b6185c606dec70d7ca8d142f7e4f5c7
parent4da76a6a2f64d3deb7ac20326ff01384be8c9e4f (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-xpackages/slugos-init/files/boot/disk6
-rw-r--r--packages/slugos-init/files/turnup13
-rw-r--r--packages/slugos-init/slugos-init_0.10.bb2
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 \