summaryrefslogtreecommitdiffstats
path: root/package/block-extroot
diff options
context:
space:
mode:
Diffstat (limited to 'package/block-extroot')
-rw-r--r--package/block-extroot/Config.in17
-rw-r--r--package/block-extroot/Makefile64
-rw-r--r--package/block-extroot/files/50_determine_usb_root57
-rw-r--r--package/block-extroot/files/55_determine_extroot_sysupgrade63
-rw-r--r--package/block-extroot/files/60_pivot_usb_root27
-rw-r--r--package/block-extroot/files/extmount.sh36
6 files changed, 0 insertions, 264 deletions
diff --git a/package/block-extroot/Config.in b/package/block-extroot/Config.in
deleted file mode 100644
index dbf1041c1..000000000
--- a/package/block-extroot/Config.in
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2010 Vertical Communications
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-config EXTROOT_SETTLETIME
- int
- prompt "Settle time for root block device (s)" if PACKAGE_block-extroot
- default 20
- help
- This is the amount of time, in seconds, to wait for the block device
- the root filesystem is on to become available, after the kernel that
- modules for the rootfs and device are loaded.
-
-
diff --git a/package/block-extroot/Makefile b/package/block-extroot/Makefile
deleted file mode 100644
index 3b3ce68ca..000000000
--- a/package/block-extroot/Makefile
+++ /dev/null
@@ -1,64 +0,0 @@
-#
-# Copyright (C) 2009-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=block-extroot
-PKG_VERSION:=0.0.1
-PKG_RELEASE:=3
-
-PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/block-extroot/Default
- SECTION:=base
- CATEGORY:=Base system
- TITLE:=root filesystem on secondary storage
-endef
-
-define Package/block-extroot
- $(call Package/block-extroot/Default)
- MENU:=1
- DEPENDS:=+block-mount @PACKAGE_kmod-ide-core||PACKAGE_kmod-ata-core||PACKAGE_kmod-usb-storage||PACKAGE_kmod-mmc||PACKAGE_kmod-broadcom-sdhc
-endef
-
-define Package/block-extroot/config
- source "$(SOURCE)/Config.in"
-endef
-
-define Package/block-extroot/description
- Based on the moduluarized preinit and firstboot, adds the option to have
- the root filesystem on storage other than the jffs or the boot root device.
- For a squashfs image this package must be installed into the image, not as
- a package to add later.
-endef
-
-define Build/Prepare
-endef
-
-define Build/Configure
-endef
-
-define Build/Compile
-endef
-
-define Package/block-extroot/install
- $(INSTALL_DIR) $(1)/lib/functions
- $(INSTALL_DATA) ./files/extmount.sh $(1)/lib/functions/
- $(INSTALL_DIR) $(1)/lib/preinit
- $(INSTALL_DATA) ./files/50_determine_usb_root $(1)/lib/preinit/
- $(INSTALL_DATA) ./files/55_determine_extroot_sysupgrade $(1)/lib/preinit/
- $(INSTALL_DATA) ./files/60_pivot_usb_root $(1)/lib/preinit/
- $(INSTALL_DIR) $(1)/lib/preinit
- echo "extroot_settle_time=\"$(CONFIG_EXTROOT_SETTLETIME)\"" >$(1)/lib/preinit/00_extroot.conf
- $(INSTALL_DIR) $(1)/overlay
-endef
-
-$(eval $(call BuildPackage,block-extroot))
-
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 8c5841e32..000000000
--- 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 b0cd9036c..000000000
--- 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 b610a4ade..000000000
--- 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 44d662e63..000000000
--- 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
- }
-}
-