Add a ppc64le template for live iso creation
This commit is contained in:
		
							parent
							
								
									3b8de2a233
								
							
						
					
					
						commit
						f3c147448a
					
				
							
								
								
									
										87
									
								
								share/templates.d/99-generic/live/ppc64le.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								share/templates.d/99-generic/live/ppc64le.tmpl
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,87 @@ | ||||
| <%page args="kernels, runtime_img, basearch, libdir, inroot, outroot, product, isolabel"/> | ||||
| <% | ||||
| configdir="tmp/config_files/ppc" | ||||
| BOOTDIR="ppc" | ||||
| GRUBDIR="boot/grub" | ||||
| LIVEDIR="LiveOS" | ||||
| LORAXDIR="usr/share/lorax/" | ||||
| 
 | ||||
| ## NOTE: yaboot freaks out and stops parsing its config if it sees a '\', | ||||
| ## so we can't use the udev escape sequences in the root arg. | ||||
| ## Instead we'll just replace any non-ASCII characters in the isolabel | ||||
| ## with '_', which means we won't need any udev escapes. | ||||
| isolabel = ''.join(ch if ch.isalnum() else '_' for ch in isolabel) | ||||
| 
 | ||||
| from os.path import basename | ||||
| %> | ||||
| 
 | ||||
| mkdir ${LIVEDIR} | ||||
| install ${runtime_img} ${LIVEDIR}/squashfs.img | ||||
| treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img | ||||
| 
 | ||||
| ## install the bootloaders | ||||
| ##   ppc/chrp: for normal PPC systems. | ||||
| ##             uses /ppc/bootinfo.txt   in the iso root | ||||
| ##             uses /boot/grub/grub.cfg in the iso root | ||||
| mkdir ${BOOTDIR} | ||||
| ## boot stuff for normal (CHRP/PREP) PPC systems | ||||
| install ${configdir}/bootinfo.txt ${BOOTDIR} | ||||
| 
 | ||||
| mkdir ${GRUBDIR}/powerpc-ieee1275 | ||||
| ## "()" means the current device to grub2 | ||||
| runcmd grub2-mkimage --format=powerpc-ieee1275 --directory=/usr/lib/grub/powerpc-ieee1275 --prefix="()/"${GRUBDIR} \ | ||||
| --output=${outroot}/${GRUBDIR}/powerpc-ieee1275/core.elf iso9660 ext2 ofnet net tftp http | ||||
| install /usr/lib/grub/powerpc-ieee1275/*.mod ${GRUBDIR}/powerpc-ieee1275 | ||||
| install /usr/lib/grub/powerpc-ieee1275/*.lst ${GRUBDIR}/powerpc-ieee1275 | ||||
| 
 | ||||
| install ${configdir}/grub.cfg.in     ${GRUBDIR}/grub.cfg | ||||
| replace @PRODUCT@ '${product.name}'  ${GRUBDIR}/grub.cfg | ||||
| replace @VERSION@ ${product.version} ${GRUBDIR}/grub.cfg | ||||
| replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${GRUBDIR}/grub.cfg | ||||
| 
 | ||||
| ## Install kernel and bootloader config (in separate places for each arch) | ||||
| %for kernel in kernels: | ||||
|     <% | ||||
|       bits = 64 | ||||
|       ## separate dirs/images for each arch | ||||
|       KERNELDIR=BOOTDIR+"/ppc%s" % bits | ||||
|     %> | ||||
|     ## install kernel | ||||
|     mkdir ${KERNELDIR} | ||||
|     installkernel images-${kernel.arch} ${kernel.path} ${KERNELDIR}/vmlinuz | ||||
|     installinitrd images-${kernel.arch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img | ||||
| 
 | ||||
|     treeinfo images-${kernel.arch} zimage | ||||
| %endfor | ||||
| 
 | ||||
| # Create optional product.img and updates.img | ||||
| <% filegraft=""; images=["product", "updates"] %> | ||||
| %for img in images: | ||||
|     %if exists("%s/%s/" % (LORAXDIR, img)): | ||||
|         installimg ${LORAXDIR}/${img}/ images/${img}.img | ||||
|         treeinfo images-${basearch} ${img}.img images/${img}.img | ||||
|         <% filegraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %> | ||||
|     %endif | ||||
| %endfor | ||||
| 
 | ||||
| # Add the license files | ||||
| %for f in glob("/usr/share/licenses/*-release/*"): | ||||
|     install ${f} ${f|basename} | ||||
|     <% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %> | ||||
| %endfor | ||||
| 
 | ||||
| ## make boot.iso | ||||
| runcmd xorrisofs -v -U -J -R \ | ||||
|         -o ${outroot}/images/boot.iso \ | ||||
|         -r -l -sysid PPC \ | ||||
|         -A "${product.name} ${product.version}" -V '${isolabel}' \ | ||||
|         -volset "${product.version}" -volset-size 1 -volset-seqno 1 \ | ||||
|         -chrp-boot \ | ||||
|         -graft-points \ | ||||
|         ${BOOTDIR}=${outroot}/${BOOTDIR} \ | ||||
|         ${GRUBDIR}=${outroot}/${GRUBDIR} \ | ||||
|         ${LIVEDIR}=${outroot}/${LIVEDIR} ${filegraft} | ||||
| 
 | ||||
| %for kernel in kernels: | ||||
|     treeinfo images-${kernel.arch} boot.iso images/boot.iso | ||||
| %endfor | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user