s243a

initrd/init:setup_onepupdrv() - Tahrpup

Apr 15th, 2018
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.37 KB | None | 0 0
  1. setup_onepupdrv() { #Line 360 of initrd/init
  2. # "$1" - sfs spec - ex: sdb2,ext4,/pup/mydrv-1.2.3.sfs
  3. # "$2" - suffix for "pup_" branch directory - ex: a
  4. # "$3" - prepend after rw layer indicator - ex: p
  5.  ONE_LAYER=""
  6.  [ "$1" ] || return 1
  7.  [ "$2" ] || return 1
  8.  ONE_PART="$(echo "${1}" | cut -f 1 -d ',')"
  9.  [ "$ONE_PART" ] || return 1
  10.  ONE_REL_FN="$(echo "${1}" | cut -f 3 -d ',')"
  11.  [ "$ONE_REL_FN" ] || return 1
  12.  ONE_SFX="${2}"
  13.  ONE_PREP="${3}"
  14.  if [ "$ONE_PART" = "rootfs" ];then #humongous initrd.
  15.   ONE_MP="" #actually it's '/'.
  16.   COPY2RAM='yes' #actually it is already in ram, but load_sfs_file code puts it in a tmpfs.
  17.  else
  18.   if [ "$ONE_PART" = "$P_PART" ];then
  19.    ONE_MP="$P_MP"
  20.   else
  21.    ONE_MP="$(mount | grep -m1 "/dev/$ONE_PART " | cut -f 3 -d ' ')"
  22.    [ "$ONE_MP" ] || return 2
  23.   fi
  24.  fi
  25.  ONE_FN="${ONE_MP}${ONE_REL_FN}"
  26.  ONE_BASENAME="$(basename $ONE_REL_FN)"
  27.  #validate sfs here
  28.  [ -s "$ONE_FN" ] || return 3 #sfs not Ok
  29.  load_sfs_file
  30.  [ "$ONE_LAYER" ] || return 4 #sfs mount failed
  31.  if [ "$ONE_PREP" ];then
  32.   echo "mount -o remount,add:1:$ONE_LAYER /pup_new" #debug
  33.   mount -o remount,add:1:$ONE_LAYER /pup_new
  34.   [ $? -eq 0 ] || return 5
  35.  else
  36.   echo "mount -o remount,append:$ONE_LAYER /pup_new" #debug
  37.   mount -o remount,append:$ONE_LAYER /pup_new
  38.   [ $? -eq 0 ] || return 5
  39.  fi
  40.  NEWUNIONRECORD="${NEWUNIONRECORD}${ONE_BASENAME} "
  41.  return 0
  42. }
Advertisement
Add Comment
Please, Sign In to add comment