mirror of
				https://git.launchpad.net/livecd-rootfs
				synced 2025-10-31 08:54:06 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			82 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash -eux
 | |
| case $ARCH in
 | |
|     ppc64el|powerpc)
 | |
|         ;;
 | |
|     *)
 | |
|         exit 0
 | |
|         ;;
 | |
| esac
 | |
| 
 | |
| IMAGE_STR="# CLOUD_IMG: This file was created/modified by the Cloud Image build process"
 | |
| FS_LABEL="cloudimg-rootfs"
 | |
| 
 | |
| . config/functions
 | |
| 
 | |
| create_partitions() {
 | |
|     disk_image="$1"
 | |
|     sgdisk "${disk_image}" \
 | |
|         --zap-all
 | |
|     sgdisk "${disk_image}" \
 | |
|         --new=2::+8M \
 | |
|         --new=1:
 | |
|     sgdisk "${disk_image}" -t 2:4100
 | |
|     sgdisk "${disk_image}" \
 | |
|         --print
 | |
| }
 | |
| 
 | |
| install_grub() {
 | |
|     mkdir mountpoint
 | |
|     mount_partition "${rootfs_dev_mapper}" mountpoint
 | |
| 
 | |
|     chroot mountpoint apt-get -qqy update
 | |
|     chroot mountpoint apt-get -qqy install grub2
 | |
|     chroot mountpoint apt-get -qqy remove --purge grub-legacy-ec2
 | |
| 
 | |
|     # set the kernel commandline to use hvc0
 | |
|     mkdir -p mountpoint/etc/default/grub.d
 | |
|     cat << EOF > mountpoint/etc/default/grub.d/50-cloudimg-settings.cfg
 | |
| ${IMAGE_STR}
 | |
| 
 | |
| # Set the recordfail timeout
 | |
| GRUB_RECORDFAIL_TIMEOUT=0
 | |
| 
 | |
| # Do not wait on grub prompt
 | |
| GRUB_TIMEOUT=0
 | |
| 
 | |
| # Set the default commandline
 | |
| GRUB_CMDLINE_LINUX_DEFAULT="console=hvc0 earlyprintk"
 | |
| EOF
 | |
|     prep_partition="/dev/mapper${loop_device///dev/}p2"
 | |
|     chroot mountpoint grub-install "${prep_partition}" \
 | |
|         --no-nvram \
 | |
|         --boot-directory=/boot \
 | |
|         --target=powerpc-ieee1275
 | |
| 
 | |
|     chroot mountpoint dpkg-divert --local --rename /etc/grub.d/30_os-prober
 | |
|     chroot mountpoint update-grub
 | |
|     replace_grub_root_with_label mountpoint
 | |
|     chroot mountpoint dpkg-divert --remove --local --rename /etc/grub.d/30_os-prober
 | |
| 
 | |
|     umount_partition mountpoint
 | |
|     rmdir mountpoint
 | |
| }
 | |
| 
 | |
| disk_image=binary/boot/disk.ext4
 | |
| 
 | |
| create_empty_disk_image "${disk_image}"
 | |
| create_partitions "${disk_image}"
 | |
| mount_image "${disk_image}" 1
 | |
| 
 | |
| # Copy the chroot in to the disk
 | |
| make_ext4_partition "${rootfs_dev_mapper}"
 | |
| mkdir mountpoint
 | |
| mount "${rootfs_dev_mapper}" mountpoint
 | |
| cp -a chroot/* mountpoint/
 | |
| umount mountpoint
 | |
| rmdir mountpoint
 | |
| 
 | |
| install_grub
 | |
| 
 | |
| clean_loops
 | |
| trap - EXIT
 |