Changeset 26109 for trunk


Ignore:
Timestamp:
2011-03-13T10:24:24+01:00 (5 years ago)
Author:
cshore
Message:

[package] extroot: block-mount block-extroot: Added ability to do a whole disk extroot instead of only an overlay-based extroot.

Location:
trunk/package
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/block-extroot/files/50_determine_usb_root

    r24230 r26109  
    3838                config_load fstab 
    3939                config_foreach config_mount_by_section mount 1 
     40                ER_OVERLAY_ROM="/no-extroot" 
    4041                 
    4142                [ "$rootfs_found" = "1" ] && grep -q ' /overlay ' /proc/mounts && {  
    4243                        pi_extroot_mount_success=true 
    4344                        pi_mount_skip_next=false 
     45                        ER_OVERLAY_ROM="/overlay" 
     46                } 
     47                [ "$rootfs_found" = "1" ] && grep -q ' /rom ' /proc/mounts && {  
     48                        pi_extroot_mount_success=true 
     49                        pi_mount_skip_next=false 
     50                        ER_OVERLAY_ROM="/rom" 
    4451                } 
    4552        } 
  • trunk/package/block-extroot/files/55_determine_extroot_sysupgrade

    r25269 r26109  
    1414        fi 
    1515 
    16         local er_overlay_file="/overlay/etc/extroot.md5sum" 
     16        local er_overlay_file="${ER_OVERLAY_ROM}/etc/extroot.md5sum" 
    1717 
    1818        local er_extroot_overlay_md5sum 
     
    2525        elif [ "$er_extroot_overlay_md5sum" != "$er_extroot_md5sum" ]; then 
    2626                pi_extroot_mount_success="false" 
    27                 mkdir -p /tmp/overlay-disabled 
    28                 mount --move /overlay /tmp/overlay-disabled 
     27                mkdir -p /tmp${ER_OVERLAY_ROM}-disabled 
     28                mount --move ${ER_OVERLAY_ROM} /tmp${ER_OVERLAY_ROM}-disabled 
    2929        fi 
    3030} 
  • trunk/package/block-extroot/files/60_pivot_usb_root

    r20356 r26109  
    1010        check_skip || [ "$pi_extroot_mount_success" != "true" ] || { 
    1111                echo "switching to external rootfs" 
    12                 if [ "$ER_IS_SQUASHFS" = "true" ]; then 
    13                         umount /tmp/overlay 
     12                if [ "$ER_OVERLAY_ROM" = "/overlay" ]; then 
     13                        if [ "$ER_IS_SQUASHFS" = "true" ]; then 
     14                                umount /tmp/overlay 
     15                        fi 
     16                        mount -o remount,ro / && fopivot /overlay /rom && pi_mount_skip_next=true 
     17                elif [ "$ER_OVERLAY_ROM" = "/rom" ]; then 
     18                        if [ "$ER_IS_SQUASHFS" = "true" ]; then 
     19                                umount /tmp/overlay 
     20                        fi 
     21                        mount -o remount,ro / && pivot_rom /rom /rom && pi_mount_skip_next=true 
    1422                fi 
    15                 mount -o remount,ro / && fopivot /overlay /rom && pi_mount_skip_next=true 
    1623        } 
    1724} 
  • trunk/package/block-extroot/files/extmount.sh

    r25259 r26109  
    2525} 
    2626 
     27pivot_rom() { # <new_root> <old_root> 
     28        mount -o move /proc $1/proc && \ 
     29        pivot_root $1 $1$2 && { 
     30                mount -o move $2/dev /dev 
     31                mount -o move $2/tmp /tmp 
     32                mount -o move $2/sys /sys 2>&- 
     33                return 0 
     34        } 
     35} 
     36 
  • trunk/package/block-mount/files/mount.sh

    r25787 r26109  
    4242                                    if [ "$is_rootfs" -eq 1 ]; then 
    4343                                        target=/overlay 
     44                                    elif [ "$target" = "/" ]; then 
     45                                        target=/rom 
    4446                                    fi 
    4547                                else 
    4648                                    if [ "$is_rootfs" -eq 1 ] || [ "$target" = "/overlay" ]; then 
    4749                                        target=/tmp/overlay-disabled 
     50                                    elif [ "$target" = "/" ] || [ "$target" = "/rom" ]; then 
     51                                        target="/tmp/rom-disabled" 
    4852                                    fi 
    4953                                fi 
     
    5862                [ "$find_rootfs" = "1" ] && { 
    5963                    [ "$target" = "/overlay" ] && { 
     64                        rootfs_found=1 
     65                    } 
     66                    [ "$target" = "/rom" ] && { 
    6067                        rootfs_found=1 
    6168                    } 
Note: See TracChangeset for help on using the changeset viewer.