Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- setup_onepupdrv() { #Line 360 of initrd/init
- # "$1" - sfs spec - ex: sdb2,ext4,/pup/mydrv-1.2.3.sfs
- # "$2" - suffix for "pup_" branch directory - ex: a
- # "$3" - prepend after rw layer indicator - ex: p
- ONE_LAYER=""
- [ "$1" ] || return 1
- [ "$2" ] || return 1
- ONE_PART="$(echo "${1}" | cut -f 1 -d ',')"
- [ "$ONE_PART" ] || return 1
- ONE_REL_FN="$(echo "${1}" | cut -f 3 -d ',')"
- [ "$ONE_REL_FN" ] || return 1
- ONE_SFX="${2}"
- ONE_PREP="${3}"
- if [ "$ONE_PART" = "rootfs" ];then #humongous initrd.
- ONE_MP="" #actually it's '/'.
- COPY2RAM='yes' #actually it is already in ram, but load_sfs_file code puts it in a tmpfs.
- else
- if [ "$ONE_PART" = "$P_PART" ];then
- ONE_MP="$P_MP"
- else
- ONE_MP="$(mount | grep -m1 "/dev/$ONE_PART " | cut -f 3 -d ' ')"
- [ "$ONE_MP" ] || return 2
- fi
- fi
- ONE_FN="${ONE_MP}${ONE_REL_FN}"
- ONE_BASENAME="$(basename $ONE_REL_FN)"
- #validate sfs here
- [ -s "$ONE_FN" ] || return 3 #sfs not Ok
- load_sfs_file
- [ "$ONE_LAYER" ] || return 4 #sfs mount failed
- if [ "$ONE_PREP" ];then
- echo "mount -o remount,add:1:$ONE_LAYER /pup_new" #debug
- mount -o remount,add:1:$ONE_LAYER /pup_new
- [ $? -eq 0 ] || return 5
- else
- echo "mount -o remount,append:$ONE_LAYER /pup_new" #debug
- mount -o remount,append:$ONE_LAYER /pup_new
- [ $? -eq 0 ] || return 5
- fi
- NEWUNIONRECORD="${NEWUNIONRECORD}${ONE_BASENAME} "
- return 0
- }
Advertisement
Add Comment
Please, Sign In to add comment