Guest User

Untitled

a guest
Mar 5th, 2014
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.13 KB | None | 0 0
  1. # RPI specific live script          -*- shell-script -*-
  2.  
  3. if [ -e /scripts/functions ]
  4. then
  5.     . /scripts/functions
  6. fi
  7.  
  8. mountroot()
  9. {
  10.     modprobe loop
  11.     modprobe aufs
  12.     wait_for_udev 10
  13.     mntpts=""
  14.     aufs=""
  15.     i=0
  16.     mkdir -p /live-media
  17.     mkdir -p /live-loop
  18.     mount -t vfat /dev/mmcblk0p1 /live-media
  19.  
  20.     for f in /live-media/live/*.squashfs; do
  21.         losetup /dev/loop${i} ${f}
  22.         mkdir /live-loop/ro${i}
  23.         mount -t squashfs -o loop,ro /dev/loop${i} /live-loop/ro${i}
  24.         aufs="${aufs}:/live-loop/ro${i}=ro"
  25.         mntpts="${mntpts} /live-loop/ro${i}"
  26.         i=$(( ${i} + 1 ))
  27.     done
  28.  
  29.     mkdir /live-loop/cow
  30.     mntpts="${mntpts} /live-loop/cow"
  31.     if [ -e /live-media/live/rpi-live ]; then
  32.         mount -o loop /live-media/live/rpi-live /live-loop/cow
  33.     else
  34.         mount -t tmpfs tmpfs /live-loop/cow
  35.     fi
  36.     aufs="noatime,noxino,dirs=/live-loop/cow=rw${aufs}"
  37.     mount -t aufs -o ${aufs} aufs ${rootmnt}
  38.     sleep 1
  39.  
  40.     for mntpt in ${mntpts}
  41.     do
  42.         local newmount
  43.         newmount="${rootmnt}/lib/live/mount/${mntpt#/live/}"
  44.         mkdir -p "${newmount}"
  45.         mount -o move "${mntpt}" "${newmount}" > /dev/null 2>&1 || \
  46.         mount -o bind "${mntpt}" "${newmount}" > /dev/null
  47.     done
  48. }
Advertisement
Add Comment
Please, Sign In to add comment