[elbe-devel] [PATCH] Add examples for UEFI boot with grub

Manuel Traut manuel.traut at linutronix.de
Tue Apr 3 11:54:17 CEST 2018


On Thu, Mar 29, 2018 at 03:27:40PM +0200, Martin Kaistra wrote:
> Signed-off-by: Martin Kaistra <martin.kaistra at linutronix.de>

Reviewed-by: Manuel Traut <manut at linutronix.de>

> ---
>  examples/x86_64-pc-hdimg-grub-hybrid-stretch.xml | 89 ++++++++++++++++++++++++
>  examples/x86_64-pc-hdimg-grub-uefi-stretch.xml   | 80 +++++++++++++++++++++
>  2 files changed, 169 insertions(+)
>  create mode 100644 examples/x86_64-pc-hdimg-grub-hybrid-stretch.xml
>  create mode 100644 examples/x86_64-pc-hdimg-grub-uefi-stretch.xml
> 
> diff --git a/examples/x86_64-pc-hdimg-grub-hybrid-stretch.xml b/examples/x86_64-pc-hdimg-grub-hybrid-stretch.xml
> new file mode 100644
> index 00000000..21b7077b
> --- /dev/null
> +++ b/examples/x86_64-pc-hdimg-grub-hybrid-stretch.xml
> @@ -0,0 +1,89 @@
> +<ns0:RootFileSystem xmlns:ns0="https://www.linutronix.de/projects/Elbe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" created="2009-05-20T08:50:56" revision="6" xsi:schemaLocation="https://www.linutronix.de/projects/Elbe dbsfed.xsd">
> +	<project>
> +		<name>amd64-grub-hybrid-stretch</name>
> +		<version>1.0</version>
> +		<description>
> +			verify successful UEFI boot by checking
> +			lsmod | grep efi
> +			ls /sys/firmware/efi
> +
> +			the resulting image can be booted with bios and UEFI
> +
> +			test UEFI boot in qemu by installing "ovmf" and using the parameter
> +			-bios /usr/share/qemu/OVMF.fd
> +		</description>
> +		<buildtype>amd64</buildtype>
> +		<mirror>
> +			<primary_host>ftp.de.debian.org</primary_host>
> +			<primary_path>/debian</primary_path>
> +			<primary_proto>http</primary_proto>
> +			<url-list>
> +				<url>
> +					<binary>http://security.debian.org stretch/updates main</binary>
> +				</url>
> +			</url-list>
> +		</mirror>
> +		<suite>stretch</suite>
> +	</project>
> +	<target>
> +		<hostname>lxvm</hostname>
> +		<domain>tec.linutronix.de</domain>
> +		<passwd>foo</passwd>
> +		<console>ttyS0,115200</console>
> +		<package>
> +			<tar>
> +				<name>grub-hybrid-rfs.tgz</name>
> +			</tar>
> +		</package>
> +		<images>
> +			<!-- use GPT for UEFI -->
> +			<gpthd>
> +				<name>sda.img</name>
> +				<size>2GiB</size>
> +				<!-- install grub -->
> +				<grub-install/>
> +				<!-- small partition for the MBR in case of bios boot -->
> +				<partition>
> +					<size>1MiB</size>
> +					<label>bios</label>
> +					<biosgrub>true</biosgrub>
> +				</partition>
> +				<!-- the EFI system partition -->
> +				<partition> 
> +					<size>100MiB</size>
> +					<label>uefi</label>
> +					<bootable>true</bootable>
> +				</partition>
> +				<partition>
> +					<size>remain</size>
> +					<label>rfs</label>
> +				</partition>
> +			</gpthd>
> +		</images>
> +		<fstab>
> +			<bylabel>
> +				<label>rfs</label>
> +				<mountpoint>/</mountpoint>
> +				<fs>
> +					<type>ext4</type>
> +					<tune2fs>-i 0</tune2fs>
> +				</fs>
> +			</bylabel>
> +			<!-- the EFI system partition needs to be mounted at /boot/efi -->
> +			<bylabel>
> +				<label>uefi</label>
> +				<mountpoint>/boot/efi</mountpoint>
> +				<fs>
> +					<type>vfat</type>
> +				</fs>
> +			</bylabel>
> +		</fstab>
> +		<norecommend />
> +		<pkg-list>
> +			<!-- grub-efi-amd64 conflicts with grub-pc, so install grub-efi-amd64-bin and grub-pc -->
> +			<pkg>grub-efi-amd64-bin</pkg>
> +			<pkg>grub-pc</pkg>
> +			<pkg>linux-image-amd64</pkg>
> +		</pkg-list>
> +	</target>
> +</ns0:RootFileSystem>
> diff --git a/examples/x86_64-pc-hdimg-grub-uefi-stretch.xml b/examples/x86_64-pc-hdimg-grub-uefi-stretch.xml
> new file mode 100644
> index 00000000..61073e2e
> --- /dev/null
> +++ b/examples/x86_64-pc-hdimg-grub-uefi-stretch.xml
> @@ -0,0 +1,80 @@
> +<ns0:RootFileSystem xmlns:ns0="https://www.linutronix.de/projects/Elbe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" created="2009-05-20T08:50:56" revision="6" xsi:schemaLocation="https://www.linutronix.de/projects/Elbe dbsfed.xsd">
> +	<project>
> +		<name>amd64-grub-uefi-stretch</name>
> +		<version>1.0</version>
> +		<description>
> +			verify successful UEFI boot by checking
> +			lsmod | grep efi
> +			ls /sys/firmware/efi
> +
> +			test UEFI boot in qemu by installing "ovmf" and using the parameter
> +			-bios /usr/share/qemu/OVMF.fd
> +		</description>
> +		<buildtype>amd64</buildtype>
> +		<mirror>
> +			<primary_host>ftp.de.debian.org</primary_host>
> +			<primary_path>/debian</primary_path>
> +			<primary_proto>http</primary_proto>
> +			<url-list>
> +				<url>
> +					<binary>http://security.debian.org stretch/updates main</binary>
> +				</url>
> +			</url-list>
> +		</mirror>
> +		<suite>stretch</suite>
> +	</project>
> +	<target>
> +		<hostname>lxvm</hostname>
> +		<domain>tec.linutronix.de</domain>
> +		<passwd>foo</passwd>
> +		<console>ttyS0,115200</console>
> +		<package>
> +			<tar>
> +				<name>grub-uefi-rfs.tgz</name>
> +			</tar>
> +		</package>
> +		<images>
> +			<!-- use GPT for UEFI -->
> +			<gpthd>
> +				<name>sda.img</name>
> +				<size>1GiB</size>
> +				<!-- install grub -->
> +				<grub-install/>
> +				<!-- the EFI system partition -->
> +				<partition> 
> +					<size>100MiB</size>
> +					<label>uefi</label>
> +					<bootable>true</bootable>
> +				</partition>
> +				<partition>
> +					<size>remain</size>
> +					<label>rfs</label>
> +				</partition>
> +			</gpthd>
> +		</images>
> +		<fstab>
> +			<bylabel>
> +				<label>rfs</label>
> +				<mountpoint>/</mountpoint>
> +				<fs>
> +					<type>ext4</type>
> +					<tune2fs>-i 0</tune2fs>
> +				</fs>
> +			</bylabel>
> +			<!-- the EFI system partition needs to be mounted at /boot/efi -->
> +			<bylabel>
> +				<label>uefi</label>
> +				<mountpoint>/boot/efi</mountpoint>
> +				<fs>
> +					<type>vfat</type>
> +				</fs>
> +			</bylabel>
> +		</fstab>
> +		<norecommend />
> +		<pkg-list>
> +			<!-- install the EFI version of grub -->
> +			<pkg>grub-efi-amd64</pkg>
> +			<pkg>linux-image-amd64</pkg>
> +		</pkg-list>
> +	</target>
> +</ns0:RootFileSystem>
> -- 
> 2.11.0
> 
> 
> _______________________________________________
> elbe-devel mailing list
> elbe-devel at linutronix.de
> https://lists.linutronix.de/mailman/listinfo/elbe-devel



More information about the elbe-devel mailing list