tablet-x64uefi: use grub instead of gummiboot (MR 2195)

Gummiboot was dropped from Alpine. Switch to grub, which is what we use
for tablet-x86uefi too.

In contrary to tablet-x86uefi, run the grub-mkimage command directly
inside the device package:
* This avoids creating another confusing grub-x86 like package (looks
  like the x86 version of alpine's grub package, as it's the case with
  grub-efi-x86, but actually it is just the result of grub-mkimage).
* In contrary to grub-efi-x86, the resulting efi file is not shared
  across several devices.
* It's consistent with uboot mkimage commands, which we also run in
  device packages.

Related: 398b7aef0b
This commit is contained in:
Oliver Smith 2021-05-24 21:51:30 +02:00
parent a842062948
commit 113f829715
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB
5 changed files with 51 additions and 24 deletions

View file

@ -1,38 +1,63 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-tablet-x64uefi
pkgdesc="Various tablets with atom CPU"
pkgver=0.1
pkgrel=10
pkgver=0.2
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="x86_64"
options="!check !archcheck"
depends="postmarketos-base linux-lts mesa-dri-swrast gummiboot"
makedepends="devicepkg-dev gummiboot"
# pmb:strict: avoid grub-related install error during build with pmbootstrap
options="!check !archcheck pmb:strict"
depends="postmarketos-base linux-lts mesa-dri-swrast"
makedepends="devicepkg-dev grub grub-efi"
source="
deviceinfo
loader.conf
postmarketos.conf
grub.cfg
grub_early.cfg
"
build() {
devicepkg_build $startdir $pkgname
grub-mkimage \
--config="$srcdir/grub_early.cfg" \
--prefix="" \
--output="bootx64.efi" \
--format="x86_64-efi" \
--compression="xz" \
\
all_video \
cat \
configfile \
disk \
echo \
efi_gop \
fat \
gzio \
help \
iso9660 \
linux \
ls \
normal \
part_gpt \
part_msdos \
search \
search_label \
test \
true
}
package() {
devicepkg_package $startdir $pkgname
mkdir -p "$pkgdir"/boot/EFI/Boot
mkdir -p "$pkgdir"/boot/loader/entries
install -D -m644 "$srcdir"/loader.conf \
"$pkgdir"/boot/loader/loader.conf
install -D -m644 "$srcdir"/postmarketos.conf \
"$pkgdir"/boot/loader/entries/postmarketos.conf
install -D -m644 /usr/lib/gummiboot/gummibootx64.efi \
install -Dm644 "$srcdir"/grub.cfg \
"$pkgdir"/boot/grub/grub.cfg
install -Dm644 "$srcdir"/bootx64.efi \
"$pkgdir"/boot/EFI/Boot/bootx64.efi
}
sha512sums="49bde5bcf1120a3a93131eb5285c0a4589260d53902ca76ce7205878e187d7c26c4b275c7f2b6f09f11e019042601e6d3cefd938392f0a4386f839923ed37356 deviceinfo
838a0a66d5513fb8f6d1a8d20743f25f24298e35a942b2a71e7f0b4aaaf35bd22a3ec245e993f1551fe60ce6e2eac7df1a4631d3e02ebc593965ce284002cffc loader.conf
8bf7002ca3ea51e018731e17154cfd1c9a8517a344c881d35e25979fb2ddbca7d48147c1d8f8cc407a65a8c8082dd9667eb6d0e1ddef060ff884b178be7af1e0 postmarketos.conf"
sha512sums="
49bde5bcf1120a3a93131eb5285c0a4589260d53902ca76ce7205878e187d7c26c4b275c7f2b6f09f11e019042601e6d3cefd938392f0a4386f839923ed37356 deviceinfo
f98771a0e34326557626522ed3a4cbdb7e30b4dd4d288f4a391c4c68055bd5eab39a6bea9f72f63d6b76933ac11689ce1da2c96a83e1048e4b00e5003e1c25aa grub.cfg
0f9357d4eea089628fbceb1e3e96d21a3f4329aeb6743158a6f877f967ef274506404eba949d5f01b7e1adea149f9a3aef992a5e8cd4181f93ab00909b1c5ecd grub_early.cfg
"

View file

@ -0,0 +1,6 @@
timeout=0
menuentry "postmarketOS" {
linux ($root)/vmlinuz-lts console=tty0 PMOS_NO_OUTPUT_REDIRECT
initrd ($root)/initramfs-lts
}

View file

@ -0,0 +1,2 @@
search --no-floppy --set=root --label "pmOS_boot"
set prefix=($root)/grub

View file

@ -1,2 +0,0 @@
default postmarketos
timeout 4

View file

@ -1,4 +0,0 @@
title postmarketOS
linux vmlinuz-lts
initrd initramfs-lts
options console=tty0 PMOS_NO_OUTPUT_REDIRECT