mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-11-04 05:12:30 +00:00 
			
		
		
		
	Use overlay mount type for squashfs diskless images
This commit is contained in:
		@@ -52,11 +52,21 @@ if [ -r /rootimg.sfs ]; then
 | 
			
		||||
  mkdir -p /rw
 | 
			
		||||
  mount -t squashfs /rootimg.sfs /ro
 | 
			
		||||
  mount -t tmpfs rw /rw
 | 
			
		||||
  mount -t aufs -o dirs=/rw:/ro mergedroot $NEWROOT
 | 
			
		||||
  mkdir -p $NEWROOT/ro
 | 
			
		||||
  mkdir -p $NEWROOT/rw
 | 
			
		||||
  mount --move /ro $NEWROOT/ro
 | 
			
		||||
  mount --move /rw $NEWROOT/rw
 | 
			
		||||
  modinfo overlay
 | 
			
		||||
  if [ $? -eq 0 ]; then
 | 
			
		||||
      echo "Mounting $NEWROOT with type overlay"
 | 
			
		||||
      mkdir -p /rw/upper
 | 
			
		||||
      mkdir -p /rw/work
 | 
			
		||||
      modprobe overlay
 | 
			
		||||
      mount -t overlay -o lowerdir=/ro,upperdir=/rw/upper,workdir=/rw/work mergedroot $NEWROOT
 | 
			
		||||
  else
 | 
			
		||||
      echo "Mounting $NEWROOT with type aufs"
 | 
			
		||||
      mount -t aufs -o dirs=/rw:/ro mergedroot $NEWROOT
 | 
			
		||||
      mkdir -p $NEWROOT/ro
 | 
			
		||||
      mkdir -p $NEWROOT/rw
 | 
			
		||||
      mount --move /ro $NEWROOT/ro
 | 
			
		||||
      mount --move /rw $NEWROOT/rw
 | 
			
		||||
  fi
 | 
			
		||||
elif [ -r /rootimg.gz ]; then
 | 
			
		||||
  echo Setting up RAM-root tmpfs.
 | 
			
		||||
  if [ -z $rootlimit ];then
 | 
			
		||||
 
 | 
			
		||||
@@ -62,11 +62,21 @@ if [ -r /rootimg.sfs ]; then
 | 
			
		||||
  mkdir -p /rw
 | 
			
		||||
  mount -t squashfs /rootimg.sfs /ro
 | 
			
		||||
  mount -t tmpfs rw /rw
 | 
			
		||||
  mount -t aufs -o dirs=/rw:/ro mergedroot $NEWROOT
 | 
			
		||||
  mkdir -p $NEWROOT/ro
 | 
			
		||||
  mkdir -p $NEWROOT/rw
 | 
			
		||||
  mount --move /ro $NEWROOT/ro
 | 
			
		||||
  mount --move /rw $NEWROOT/rw
 | 
			
		||||
  modinfo overlay
 | 
			
		||||
  if [ $? -eq 0 ]; then
 | 
			
		||||
      echo "Mounting $NEWROOT with type overlay"
 | 
			
		||||
      mkdir -p /rw/upper
 | 
			
		||||
      mkdir -p /rw/work
 | 
			
		||||
      modprobe overlay
 | 
			
		||||
      mount -t overlay -o lowerdir=/ro,upperdir=/rw/upper,workdir=/rw/work mergedroot $NEWROOT
 | 
			
		||||
  else
 | 
			
		||||
      echo "Mounting $NEWROOT with type aufs"
 | 
			
		||||
      mount -t aufs -o dirs=/rw:/ro mergedroot $NEWROOT
 | 
			
		||||
      mkdir -p $NEWROOT/ro
 | 
			
		||||
      mkdir -p $NEWROOT/rw
 | 
			
		||||
      mount --move /ro $NEWROOT/ro
 | 
			
		||||
      mount --move /rw $NEWROOT/rw
 | 
			
		||||
  fi
 | 
			
		||||
elif [ -r /rootimg.cpio.gz ] || [ -r /rootimg.cpio.xz ]; then
 | 
			
		||||
  [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "rootimg downloaded,setting up RAM-root tmpfs...."
 | 
			
		||||
  echo Setting up RAM-root tmpfs.
 | 
			
		||||
 
 | 
			
		||||
@@ -69,11 +69,21 @@ if [ -r /rootimg.sfs ]; then
 | 
			
		||||
    mkdir -p /rw
 | 
			
		||||
    mount -t squashfs /rootimg.sfs /ro
 | 
			
		||||
    mount -t tmpfs rw /rw
 | 
			
		||||
    mount -t aufs -o dirs=/rw:/ro mergedroot $NEWROOT
 | 
			
		||||
    mkdir -p $NEWROOT/ro
 | 
			
		||||
    mkdir -p $NEWROOT/rw
 | 
			
		||||
    mount --move /ro $NEWROOT/ro
 | 
			
		||||
    mount --move /rw $NEWROOT/rw
 | 
			
		||||
    modinfo overlay
 | 
			
		||||
    if [ $? -eq 0 ]; then
 | 
			
		||||
        echo "Mounting $NEWROOT with type overlay"
 | 
			
		||||
        mkdir -p /rw/upper
 | 
			
		||||
        mkdir -p /rw/work
 | 
			
		||||
        modprobe overlay
 | 
			
		||||
        mount -t overlay -o lowerdir=/ro,upperdir=/rw/upper,workdir=/rw/work mergedroot $NEWROOT
 | 
			
		||||
    else
 | 
			
		||||
        echo "Mounting $NEWROOT with type aufs"
 | 
			
		||||
        mount -t aufs -o dirs=/rw:/ro mergedroot $NEWROOT
 | 
			
		||||
        mkdir -p $NEWROOT/ro
 | 
			
		||||
        mkdir -p $NEWROOT/rw
 | 
			
		||||
        mount --move /ro $NEWROOT/ro
 | 
			
		||||
        mount --move /rw $NEWROOT/rw
 | 
			
		||||
    fi
 | 
			
		||||
elif [ -r /rootimg.cpio.gz ] || [ -r /rootimg.cpio.xz ]; then
 | 
			
		||||
    logger $SYSLOGHOST -t $log_label -p local4.info "Setting up RAM-root tmpfs on downloaded rootimg.cpio.[gz/xz]..."
 | 
			
		||||
    echo Setting up RAM-root tmpfs.
 | 
			
		||||
 
 | 
			
		||||
@@ -69,11 +69,21 @@ if [ -r /rootimg.sfs ]; then
 | 
			
		||||
    mkdir -p /rw
 | 
			
		||||
    mount -t squashfs /rootimg.sfs /ro
 | 
			
		||||
    mount -t tmpfs rw /rw
 | 
			
		||||
    mount -t aufs -o dirs=/rw:/ro mergedroot $NEWROOT
 | 
			
		||||
    mkdir -p $NEWROOT/ro
 | 
			
		||||
    mkdir -p $NEWROOT/rw
 | 
			
		||||
    mount --move /ro $NEWROOT/ro
 | 
			
		||||
    mount --move /rw $NEWROOT/rw
 | 
			
		||||
    modinfo overlay
 | 
			
		||||
    if [ $? -eq 0 ]; then
 | 
			
		||||
        echo "Mounting $NEWROOT with type overlay"
 | 
			
		||||
        mkdir -p /rw/upper
 | 
			
		||||
        mkdir -p /rw/work
 | 
			
		||||
        modprobe overlay
 | 
			
		||||
        mount -t overlay -o lowerdir=/ro,upperdir=/rw/upper,workdir=/rw/work mergedroot $NEWROOT
 | 
			
		||||
    else
 | 
			
		||||
        echo "Mounting $NEWROOT with type aufs"
 | 
			
		||||
        mount -t aufs -o dirs=/rw:/ro mergedroot $NEWROOT
 | 
			
		||||
        mkdir -p $NEWROOT/ro
 | 
			
		||||
        mkdir -p $NEWROOT/rw
 | 
			
		||||
        mount --move /ro $NEWROOT/ro
 | 
			
		||||
        mount --move /rw $NEWROOT/rw
 | 
			
		||||
    fi
 | 
			
		||||
elif [ -r /rootimg.cpio.gz ] || [ -r /rootimg.cpio.xz ]; then
 | 
			
		||||
    logger $SYSLOGHOST -t $log_label -p local4.info "Setting up RAM-root tmpfs on downloaded rootimg.cpio.[gz/xz]..."
 | 
			
		||||
    echo Setting up RAM-root tmpfs.
 | 
			
		||||
 
 | 
			
		||||
@@ -66,10 +66,20 @@ if [ -r /rootimg.sfs ]; then
 | 
			
		||||
  mount -t squashfs /rootimg.sfs /ro
 | 
			
		||||
  mount -t tmpfs rw /rw
 | 
			
		||||
  mount -t aufs -o dirs=/rw:/ro mergedroot $NEWROOT
 | 
			
		||||
  mkdir -p $NEWROOT/ro
 | 
			
		||||
  mkdir -p $NEWROOT/rw
 | 
			
		||||
  mount --move /ro $NEWROOT/ro
 | 
			
		||||
  mount --move /rw $NEWROOT/rw
 | 
			
		||||
  modinfo overlay
 | 
			
		||||
  if [ $? -eq 0 ]; then
 | 
			
		||||
      echo "Mounting $NEWROOT with type overlay"
 | 
			
		||||
      mkdir -p /rw/upper
 | 
			
		||||
      mkdir -p /rw/work
 | 
			
		||||
      modprobe overlay
 | 
			
		||||
      mount -t overlay -o lowerdir=/ro,upperdir=/rw/upper,workdir=/rw/work mergedroot $NEWROOT
 | 
			
		||||
  else
 | 
			
		||||
      echo "Mounting $NEWROOT with type aufs"
 | 
			
		||||
      mkdir -p $NEWROOT/ro
 | 
			
		||||
      mkdir -p $NEWROOT/rw
 | 
			
		||||
      mount --move /ro $NEWROOT/ro
 | 
			
		||||
      mount --move /rw $NEWROOT/rw
 | 
			
		||||
  fi
 | 
			
		||||
elif [ -r /rootimg.cpio.gz ] || [ -r /rootimg.cpio.xz ]; then
 | 
			
		||||
  logger $SYSLOGHOST -t $log_label -p local4.info "Setting up RAM-root tmpfs on downloaded rootimg.cpio.[gz/xz]..."
 | 
			
		||||
  echo Setting up RAM-root tmpfs.
 | 
			
		||||
 
 | 
			
		||||
@@ -34,11 +34,21 @@ if [ -r /rootimg.sfs ]; then
 | 
			
		||||
  mkdir -p /rw
 | 
			
		||||
  mount -t squashfs /rootimg.sfs /ro
 | 
			
		||||
  mount -t tmpfs rw /rw
 | 
			
		||||
  mount -t aufs -o dirs=/rw:/ro mergedroot $NEWROOT
 | 
			
		||||
  mkdir -p $NEWROOT/ro
 | 
			
		||||
  mkdir -p $NEWROOT/rw
 | 
			
		||||
  mount --move /ro $NEWROOT/ro
 | 
			
		||||
  mount --move /rw $NEWROOT/rw
 | 
			
		||||
  modinfo overlay
 | 
			
		||||
  if [ $? -eq 0 ]; then
 | 
			
		||||
      echo "Mounting $NEWROOT with type overlay"
 | 
			
		||||
      mkdir -p /rw/upper
 | 
			
		||||
      mkdir -p /rw/work
 | 
			
		||||
      modprobe overlay
 | 
			
		||||
      mount -t overlay -o lowerdir=/ro,upperdir=/rw/upper,workdir=/rw/work mergedroot $NEWROOT
 | 
			
		||||
  else
 | 
			
		||||
      echo "Mounting $NEWROOT with type aufs"
 | 
			
		||||
      mount -t aufs -o dirs=/rw:/ro mergedroot $NEWROOT
 | 
			
		||||
      mkdir -p $NEWROOT/ro
 | 
			
		||||
      mkdir -p $NEWROOT/rw
 | 
			
		||||
      mount --move /ro $NEWROOT/ro
 | 
			
		||||
      mount --move /rw $NEWROOT/rw
 | 
			
		||||
  fi
 | 
			
		||||
elif [ -r /rootimg.cpio.gz ] || [ -r /rootimg.cpio.xz ]; then
 | 
			
		||||
  echo Setting up RAM-root tmpfs.
 | 
			
		||||
  mount -t tmpfs -o mode=755 rootfs $NEWROOT
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user