mirror of
				https://git.launchpad.net/livecd-rootfs
				synced 2025-11-04 10:54:07 +00:00 
			
		
		
		
	Import patches-unapplied version 2.374 to ubuntu/xenial-proposed
Imported using git-ubuntu import.
Changelog parent: b668a9f9f9048b0fa06523dc084d8fb308fcd9c5
New changelog entries:
  [ Michael Vogt ]
  * ubuntu-core:
    - include the dpkg.list in the device tarball
    - store /usr/share/snappy/dpkg.list manifest on the OS tarball
  [ Dimitri John Ledkov ]
  * ubuntu-cpc:
    - exclude s390x from should_install_grub
  [ Steve Langasek ]
  * Refactor/reorder ubuntu-cpc support for consistency with other flavors,
    so that subarch overrides can be applied correctly.
  [ Ben Howard ]
  * ubuntu-cpc:
    - fixed loop setup due to change of kpartx output
    - only use grub-install logic for Intel architectures
			
			
This commit is contained in:
		
							parent
							
								
									b668a9f9f9
								
							
						
					
					
						commit
						2ace5b787b
					
				
							
								
								
									
										22
									
								
								debian/changelog
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								debian/changelog
									
									
									
									
										vendored
									
									
								
							@ -1,3 +1,25 @@
 | 
			
		||||
livecd-rootfs (2.374) xenial; urgency=medium
 | 
			
		||||
 | 
			
		||||
  [ Michael Vogt ]
 | 
			
		||||
  * ubuntu-core:
 | 
			
		||||
    - include the dpkg.list in the device tarball
 | 
			
		||||
    - store /usr/share/snappy/dpkg.list manifest on the OS tarball
 | 
			
		||||
 | 
			
		||||
  [ Dimitri John Ledkov ]
 | 
			
		||||
  * ubuntu-cpc:
 | 
			
		||||
    - exclude s390x from should_install_grub
 | 
			
		||||
 | 
			
		||||
  [ Steve Langasek ]
 | 
			
		||||
  * Refactor/reorder ubuntu-cpc support for consistency with other flavors,
 | 
			
		||||
    so that subarch overrides can be applied correctly.
 | 
			
		||||
 | 
			
		||||
  [ Ben Howard ]
 | 
			
		||||
  * ubuntu-cpc:
 | 
			
		||||
    - fixed loop setup due to change of kpartx output
 | 
			
		||||
    - only use grub-install logic for Intel architectures
 | 
			
		||||
 | 
			
		||||
 -- Ben Howard <ben.howard@ubuntu.com>  Tue, 02 Feb 2016 10:18:14 -0700
 | 
			
		||||
 | 
			
		||||
livecd-rootfs (2.373) xenial; urgency=medium
 | 
			
		||||
 | 
			
		||||
  * Set timeout options so ppc64el cloud images don't display a grub boot
 | 
			
		||||
 | 
			
		||||
@ -395,6 +395,8 @@ case $PROJECT:$SUBPROJECT in
 | 
			
		||||
        Chroot chroot "apt-get -y install initramfs-tools-ubuntu-core linux-firmware xz-utils"
 | 
			
		||||
        Chroot chroot "apt-get -y install $linux_package"
 | 
			
		||||
 | 
			
		||||
        Chroot chroot "dpkg -l" > chroot/dpkg.list
 | 
			
		||||
        
 | 
			
		||||
        # clean up
 | 
			
		||||
        lb chroot_devpts remove "$@"
 | 
			
		||||
        lb chroot_sysfs remove "$@"
 | 
			
		||||
@ -436,6 +438,9 @@ case $PROJECT:$SUBPROJECT in
 | 
			
		||||
           esac
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        # copy dpkg manifest
 | 
			
		||||
        cp -ar dpkg.list $TMPDIR/assets
 | 
			
		||||
 | 
			
		||||
        # create hardware.yaml
 | 
			
		||||
        # this assumes armhf == u-boot
 | 
			
		||||
        # and all others grub
 | 
			
		||||
 | 
			
		||||
@ -470,6 +470,31 @@ case $PROJECT in
 | 
			
		||||
		;;
 | 
			
		||||
 | 
			
		||||
	ubuntu-cpc)
 | 
			
		||||
		add_task install minimal standard cloud-image
 | 
			
		||||
		add_package install ubuntu-minimal
 | 
			
		||||
 | 
			
		||||
		BINARY_REMOVE_LINUX=false
 | 
			
		||||
		OPTS="${OPTS:+$OPTS }--initramfs=none"
 | 
			
		||||
		KERNEL_FLAVOURS=virtual
 | 
			
		||||
		case $ARCH in
 | 
			
		||||
			armhf)
 | 
			
		||||
				KERNEL_FLAVOURS=generic-lpae
 | 
			
		||||
				add_package install flash-kernel
 | 
			
		||||
				add_task install server
 | 
			
		||||
				;;
 | 
			
		||||
			arm64)
 | 
			
		||||
				KERNEL_FLAVOURS=generic
 | 
			
		||||
				add_package install flash-kernel
 | 
			
		||||
				add_task install server
 | 
			
		||||
				;;
 | 
			
		||||
			ppc64el)
 | 
			
		||||
				add_task install server
 | 
			
		||||
				;;
 | 
			
		||||
		esac
 | 
			
		||||
		OPTS="${OPTS:+$OPTS }--system=normal"
 | 
			
		||||
		OPTS="${OPTS:+$OPTS }--hdd-label=cloudimg-rootfs"
 | 
			
		||||
		OPTS="${OPTS:+$OPTS }--ext-resize-blocks=536870912 --ext-block-size=4096"
 | 
			
		||||
		OPTS="${OPTS:+$OPTS }--ext-fudge-factor=15"
 | 
			
		||||
		;;
 | 
			
		||||
 | 
			
		||||
	*)
 | 
			
		||||
@ -555,33 +580,6 @@ case $PROJECT in
 | 
			
		||||
		esac
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
if [ "$PROJECT" = "ubuntu-cpc" ]; then
 | 
			
		||||
	BINARY_REMOVE_LINUX=false
 | 
			
		||||
	OPTS="${OPTS:+$OPTS }--initramfs=none"
 | 
			
		||||
	KERNEL_FLAVOURS=virtual
 | 
			
		||||
	case $ARCH in
 | 
			
		||||
		armhf)
 | 
			
		||||
			KERNEL_FLAVOURS=generic-lpae
 | 
			
		||||
			add_package install flash-kernel
 | 
			
		||||
			add_task install server
 | 
			
		||||
			;;
 | 
			
		||||
		arm64)
 | 
			
		||||
			KERNEL_FLAVOURS=generic
 | 
			
		||||
			add_package install flash-kernel
 | 
			
		||||
			add_task install server
 | 
			
		||||
			;;
 | 
			
		||||
		ppc64el)
 | 
			
		||||
			add_task install server
 | 
			
		||||
			;;
 | 
			
		||||
	esac
 | 
			
		||||
	OPTS="${OPTS:+$OPTS }--system=normal"
 | 
			
		||||
	OPTS="${OPTS:+$OPTS }--hdd-label=cloudimg-rootfs"
 | 
			
		||||
	OPTS="${OPTS:+$OPTS }--ext-resize-blocks=536870912 --ext-block-size=4096"
 | 
			
		||||
	OPTS="${OPTS:+$OPTS }--ext-fudge-factor=15"
 | 
			
		||||
	add_task install minimal standard cloud-image
 | 
			
		||||
	add_package install ubuntu-minimal
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
add_chroot_hook update-apt-file-cache
 | 
			
		||||
add_chroot_hook update-apt-xapian-index
 | 
			
		||||
add_chroot_hook update-mlocate-database
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,12 @@ echo "I: Removing the debian legacy"
 | 
			
		||||
 | 
			
		||||
PREFIX=binary/boot/filesystem.dir
 | 
			
		||||
 | 
			
		||||
# store manifest of all installed packages
 | 
			
		||||
(cd $PREFIX
 | 
			
		||||
 install -m755 -d usr/share/snappy
 | 
			
		||||
 chroot . dpkg -l > usr/share/snappy/dpkg.list
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# dpkg-deb and dpkg purposefully left behind
 | 
			
		||||
(cd $PREFIX
 | 
			
		||||
    chroot . dpkg --purge apt
 | 
			
		||||
 | 
			
		||||
@ -11,15 +11,16 @@ backing_img=
 | 
			
		||||
apt-get -qqy install dosfstools gdisk
 | 
			
		||||
 | 
			
		||||
clean_loops() {
 | 
			
		||||
 | 
			
		||||
    if [ -n "${backing_img}" ]; then
 | 
			
		||||
        kpartx -v -d "${backing_img}"
 | 
			
		||||
        unset backing_img
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [ -z "${rootfs_dev_mapper}" ]; then
 | 
			
		||||
        return 0
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if [ -n "${backing_img}" ]; then
 | 
			
		||||
        kpartx -v -d "${backing_img}"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    unset backing_img
 | 
			
		||||
    unset loop_device
 | 
			
		||||
    unset loop_raw
 | 
			
		||||
    unset rootfs_dev_mapper
 | 
			
		||||
@ -40,11 +41,27 @@ mount_image() {
 | 
			
		||||
    apt-get install -qqy kpartx
 | 
			
		||||
    trap clean_loops EXIT
 | 
			
		||||
    backing_img="$1"
 | 
			
		||||
    loop_raw="$(kpartx -s -v -a "$1" )"
 | 
			
		||||
    loop_device="$(echo -e "${loop_raw}" | head -n1 | awk '{print($(NF-1))}')"
 | 
			
		||||
    rootfs_dev_mapper="/dev/mapper${loop_device///dev/}p1"
 | 
			
		||||
    [ ! -b "${rootfs_dev_mapper}" ] &&
 | 
			
		||||
        echo "${rootfs_dev_mapper} is not a block device" && exit 1
 | 
			
		||||
    kpartx_mapping="$(kpartx -s -v -a ${backing_img})"
 | 
			
		||||
 | 
			
		||||
    # Find the loop device
 | 
			
		||||
    loop_p1="$(echo -e ${kpartx_mapping} | head -n1 | awk '{print$3}')"
 | 
			
		||||
    loop_device="/dev/loop$(echo ${loop_p1} | cut -b5)"
 | 
			
		||||
    if [ ! -b ${loop_device} ]; then
 | 
			
		||||
        echo "unable to find loop device for ${backing_img}"
 | 
			
		||||
        exit 1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Find the rootfs location
 | 
			
		||||
    rootfs_dev_mapper="/dev/mapper/${loop_p1}"
 | 
			
		||||
    if [ ! -b "${rootfs_dev_mapper}" ]; then
 | 
			
		||||
        echo "${rootfs_dev_mapper} is not a block device";
 | 
			
		||||
        exit 1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Add some information to the debug logs
 | 
			
		||||
    echo "Mounted disk image ${backing_img} to ${rootfs_dev_mapper}"
 | 
			
		||||
    blkid ${rootfs_dev_mapper}
 | 
			
		||||
 | 
			
		||||
    return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -32,24 +32,23 @@ cp -a chroot/* mountpoint/
 | 
			
		||||
umount mountpoint
 | 
			
		||||
rmdir mountpoint
 | 
			
		||||
 | 
			
		||||
should_install_grub() {
 | 
			
		||||
    case $architecture in
 | 
			
		||||
        armhf|arm64|s390x)
 | 
			
		||||
            return 1
 | 
			
		||||
            ;;
 | 
			
		||||
        *)
 | 
			
		||||
            return 0
 | 
			
		||||
            ;;
 | 
			
		||||
    esac
 | 
			
		||||
}
 | 
			
		||||
case $architecture in
 | 
			
		||||
    amd64|i386) should_install_grub=1;;
 | 
			
		||||
             *) should_install_grub=0;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
if should_install_grub; then
 | 
			
		||||
if [ "${should_install_grub}" -eq 1 ]; then
 | 
			
		||||
    mkdir mountpoint
 | 
			
		||||
    mount_partition "${rootfs_dev_mapper}" mountpoint
 | 
			
		||||
 | 
			
		||||
    echo "(hd0) ${loop_device}" > mountpoint/tmp/device.map
 | 
			
		||||
    chroot mountpoint grub-install ${loop_device}
 | 
			
		||||
    chroot mountpoint grub-bios-setup --boot-image=i386-pc/boot.img --core-image=i386-pc/core.img --skip-fs-probe --device-map=/tmp/device.map ${loop_device}
 | 
			
		||||
    chroot mountpoint grub-bios-setup \
 | 
			
		||||
        --boot-image=i386-pc/boot.img \
 | 
			
		||||
        --core-image=i386-pc/core.img \
 | 
			
		||||
        --skip-fs-probe \
 | 
			
		||||
        --device-map=/tmp/device.map \
 | 
			
		||||
        ${loop_device}
 | 
			
		||||
 | 
			
		||||
    rm mountpoint/tmp/device.map
 | 
			
		||||
    umount_partition mountpoint
 | 
			
		||||
@ -75,7 +74,15 @@ parameters = root=LABEL=cloudimg-rootfs
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
    # Create bootmap file
 | 
			
		||||
    mountpoint/sbin/zipl -V --image=mountpoint/boot/vmlinuz --ramdisk=mountpoint/boot/initrd.img --parameters='root=LABEL=cloudimg-rootfs' --target=mountpoint/boot/ --targetbase=/dev/loop0 --targettype=SCSI --targetblocksize=512 --targetoffset=2048
 | 
			
		||||
    mountpoint/sbin/zipl -V \
 | 
			
		||||
        --image=mountpoint/boot/vmlinuz \
 | 
			
		||||
        --ramdisk=mountpoint/boot/initrd.img \
 | 
			
		||||
        --parameters='root=LABEL=cloudimg-rootfs' \
 | 
			
		||||
        --target=mountpoint/boot/ \
 | 
			
		||||
        --targetbase=/dev/loop0 \
 | 
			
		||||
        --targettype=SCSI \
 | 
			
		||||
        --targetblocksize=512 \
 | 
			
		||||
        --targetoffset=2048
 | 
			
		||||
 | 
			
		||||
    umount_partition mountpoint
 | 
			
		||||
    rmdir mountpoint
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user