diff options
author | Daniel Dickinson <daniel@cshore.neomailbox.net> | 2011-03-27 06:40:51 +0000 |
---|---|---|
committer | Daniel Dickinson <daniel@cshore.neomailbox.net> | 2011-03-27 06:40:51 +0000 |
commit | 012ea4a5a39c8d59c599e7753727950fa5f83809 (patch) | |
tree | d29172975565825b660caeecebf697d1404fac1e /package/block-extroot/files | |
parent | 116c7cd9bea08f3b6695f7855e04eec2d6c34083 (diff) | |
download | upstream-012ea4a5a39c8d59c599e7753727950fa5f83809.tar.gz upstream-012ea4a5a39c8d59c599e7753727950fa5f83809.tar.bz2 upstream-012ea4a5a39c8d59c599e7753727950fa5f83809.zip |
[package] block-mount: Merged block-mount, block-extroot, and block-hotplug into a single binary package called block-mount.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26314 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/block-extroot/files')
-rw-r--r-- | package/block-extroot/files/50_determine_usb_root | 57 | ||||
-rw-r--r-- | package/block-extroot/files/55_determine_extroot_sysupgrade | 63 | ||||
-rw-r--r-- | package/block-extroot/files/60_pivot_usb_root | 27 | ||||
-rw-r--r-- | package/block-extroot/files/extmount.sh | 36 |
4 files changed, 0 insertions, 183 deletions
diff --git a/package/block-extroot/files/50_determine_usb_root b/package/block-extroot/files/50_determine_usb_root deleted file mode 100644 index 8c5841e32b..0000000000 --- a/package/block-extroot/files/50_determine_usb_root +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# Copyright (C) 2010 Vertical Communications -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. - - -determine_external_root() { - pi_include /lib/functions/extmount.sh - pi_include /lib/functions/mount.sh - - local OLD_UCI_CONFIG_DIR="$UCI_CONFIG_DIR" - set_jffs_mp - determine_root_device - - # extroot requires extroot and fstab config files, therefore - # we assume configuration is incomplete and not to be used if either of them - # is missing (for jffs versions of these files on squashfs image) - if [ "$jffs" = "/tmp/overlay" ] && [ -r "/tmp/overlay/etc/config/fstab" ]; then - UCI_CONFIG_DIR="/tmp/overlay/etc/config" - ER_IS_SQUASHFS=true - ER_OVERLAY_PREFIX="/tmp/overlay" - fi - - # For squashfs on firstboot root_device will be tmpfs for the ramoverlay, - # unless there is a saved config, in which case it will be /dev/root, - # however in the case of a saved config, it won't be restored until after - # this script, so there won't be a config on the first boot after - # flashing a squashfs-based filesystem - # For ext2, ramdisk, or jffs2 root filesystems root_device is /dev/root - # For squashfs after firstboot, root filesystem is /dev/root - # We only use the config from the root or jffs if the root_device is - # /dev/root - [ "$root_device" = "/dev/root" ] && { - er_load_modules - [ -n "$extroot_settle_time" ] && [ "$extroot_settle_time" -gt 0 ] && { - sleep $extroot_settle_time - } - config_load fstab - config_foreach config_mount_by_section mount 1 - ER_OVERLAY_ROM="/no-extroot" - - [ "$rootfs_found" = "1" ] && grep -q ' /overlay ' /proc/mounts && { - pi_extroot_mount_success=true - pi_mount_skip_next=false - ER_OVERLAY_ROM="/overlay" - } - [ "$rootfs_found" = "1" ] && grep -q ' /rom ' /proc/mounts && { - pi_extroot_mount_success=true - pi_mount_skip_next=false - ER_OVERLAY_ROM="/rom" - } - } - UCI_CONFIG_DIR="$OLD_UCI_CONFIG_DIR" -} - -boot_hook_add preinit_mount_root determine_external_root - diff --git a/package/block-extroot/files/55_determine_extroot_sysupgrade b/package/block-extroot/files/55_determine_extroot_sysupgrade deleted file mode 100644 index b0cd9036c2..0000000000 --- a/package/block-extroot/files/55_determine_extroot_sysupgrade +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh -# Copyright (C) 2010 Daniel Dickinson -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. - - -check_set_md5sum() { - local er_md5sum_file - er_md5sum_file="${ER_OVERLAY_PREFIX}/.extroot.md5sum" - local er_disabled - if [ "${ER_OVERLAY_ROM}" = "/rom" ]; then - er_disabled=/tmp/whole_root-disabled - else - er_disabled=/tmp${ER_OVERLAY_ROM}-disabled - fi - - local er_extroot_md5sum - if [ -f $md5sum_file ]; then - er_extroot_md5sum="$(cat $er_md5sum_file)" - fi - - local er_overlay_file="${ER_OVERLAY_ROM}/etc/extroot.md5sum" - - local er_extroot_overlay_md5sum - if [ -f "$er_overlay_file" ]; then - er_extroot_overlay_md5sum="$(cat $er_overlay_file)" - fi - - if [ -z "$er_extroot_overlay_md5sum" ]; then - cat $er_md5sum_file >$er_overlay_file - elif [ "$er_extroot_overlay_md5sum" != "$er_extroot_md5sum" ]; then - pi_extroot_mount_success="false" - mkdir -p $er_disabled - mount --move ${ER_OVERLAY_ROM} $er_disabled - fi -} - -set_jffs_md5sum() { - # We do this anytime block-extroot exists, even on the first boot with - # no extroot defined. - - local er_md5sum_file - er_md5sum_file="${ER_OVERLAY_PREFIX}/.extroot.md5sum" - - local er_extroot_md5sum - if [ -f $er_md5sum_file ]; then - er_extroot_md5sum="$(cat $er_md5sum_file)" - fi - if [ -z "$er_extroot_md5sum" ]; then - dd if=/dev/urandom count=32 bs=1k 2>/dev/null | md5sum | cut -f1 -d\ >$er_md5sum_file - fi -} - -determine_extroot_sysupgrade() { - check_skip || set_jffs_md5sum - - check_skip || [ "$pi_extroot_mount_success" != "true" ] || { - check_set_md5sum - } -} - -boot_hook_add preinit_mount_root determine_extroot_sysupgrade - diff --git a/package/block-extroot/files/60_pivot_usb_root b/package/block-extroot/files/60_pivot_usb_root deleted file mode 100644 index b610a4ade1..0000000000 --- a/package/block-extroot/files/60_pivot_usb_root +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# Copyright (C) 2010 Vertical Communications - -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. - -# Determine if we are requested to mount external root - -external_root_pivot() { - check_skip || [ "$pi_extroot_mount_success" != "true" ] || { - echo "switching to external rootfs" - if [ "$ER_OVERLAY_ROM" = "/overlay" ]; then - if [ "$ER_IS_SQUASHFS" = "true" ]; then - umount /tmp/overlay - fi - mount -o remount,ro / && fopivot /overlay /rom && pi_mount_skip_next=true - elif [ "$ER_OVERLAY_ROM" = "/rom" ]; then - if [ "$ER_IS_SQUASHFS" = "true" ]; then - umount /tmp/overlay - fi - mount -o remount,ro / && pivot_rom /rom /rom && pi_mount_skip_next=true - fi - } -} - -boot_hook_add preinit_mount_root external_root_pivot - diff --git a/package/block-extroot/files/extmount.sh b/package/block-extroot/files/extmount.sh deleted file mode 100644 index 44d662e63a..0000000000 --- a/package/block-extroot/files/extmount.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# Copyright 2010 Vertical Communications - -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. - -determine_root_device() { - root_device="$(mount | grep ' / ' | cut -f1 -d\ | grep -v rootfs )" -} - -set_jffs_mp() { - jffs="$(awk '/jffs2/ {print $2}' /proc/mounts)" -} - -er_load_modules() { - mkdir -p /tmp/extroot_modules/modules.d - mkdir -p /tmp/extroot_modules/modules - ln -sf /etc/modules.d/* /tmp/overlay/etc/modules.d/* /tmp/extroot_modules/modules.d - ln -sf /lib/modules/*/* /tmp/overlay/lib/modules/*/* /tmp/extroot_modules/modules - local modules="$(grep -l '# May be required for rootfs' /tmp/extroot_modules/modules.d/* 2>/dev/null)" - cd /tmp/extroot_modules/modules && [ -n "$modules" ] && { - cat $modules | sed -e 's/^\([^#].*\)/insmod \.\/\1.ko/'| sh 2>&- || : - } - rm -rf /tmp/extroot_modules -} - -pivot_rom() { # <new_root> <old_root> - mount -o move /proc $1/proc && \ - pivot_root $1 $1$2 && { - mount -o move $2/dev /dev - mount -o move $2/tmp /tmp - mount -o move $2/sys /sys 2>&- - return 0 - } -} - |