Compare commits

...
3 Commits
Author SHA1 Message Date
Clayton Craft 26dea68fbc qemu-amd64: support EFI boot with grub-efi 2023-05-06 19:06:55 -07:00
Clayton Craft b128456de7 DRAFT: main/grub-efi-img: new aport
This generates grub efi application images for multiple archs, and
allows installing a grub efi image on a host with a different arch (e.g.
x86 efi app on x86_64 system)
2023-05-06 19:06:48 -07:00
Clayton Craft 2b801f1194 DO NOT MERGE: boot-deploy next
only here to make it convenient to test the pmaports changes
2023-05-06 19:05:32 -07:00
5 changed files with 99 additions and 6 deletions

No files matched your search

+3 -3
View File
@@ -3,12 +3,12 @@
# Co-Maintainer: Daniele Debernardi <drebrez@gmail.com>
pkgname=device-qemu-amd64
pkgver=3
pkgrel=3
pkgrel=4
pkgdesc="Simulated device in QEMU (x86_64)"
url="https://postmarketos.org"
arch="x86_64"
license="MIT"
depends="postmarketos-base"
depends="postmarketos-base grub-efi-img-x86_64"
makedepends="devicepkg-dev"
subpackages="
$pkgname-kernel-lts:kernel_lts
@@ -71,7 +71,7 @@ kernel_edge() {
}
sha512sums="
0c9b4b50073dc6bf6bfecb07370254f0dd8a277acbc1d90a605c7891e7d00c1c211545b296b7a1a7a6e00bce05a4197102fcfa449f113f2b500d8879ad29c6bf deviceinfo
58add3e805c4f0afbfcd436790df80a1f72fd6ca07cef3f862f3fee87a0b66ad1b1d0ad07fef9afa9453537cf85d2471b98af29c8722cfcae6f560fa3e4f4e5d deviceinfo
99d32eed6c5cda59e91516e982c5bd5165ff718133e2411a0dbba04e2057d1dfad49a75e5cc67140d0e0adcbe1383671bd2892335929b782a5b19f5472e635ad mce-display-blanking.conf
de794566118f1744d068a94e6a75b61d43f6749a4b0871a5270fa7a2048164d609c71fcffa61845c2a7dd4cb5fbeb72c0e4f8b73b382f36d6ff0bcc9b8a5ae25 weston.ini
"
+2
View File
@@ -23,3 +23,5 @@ deviceinfo_dev_internal_storage_repartition="true"
deviceinfo_flash_method="none"
deviceinfo_kernel_cmdline="console=tty1 console=ttyS0 PMOS_NO_OUTPUT_REDIRECT PMOS_FORCE_PARTITION_RESIZE"
deviceinfo_disable_dhcpd="true"
deviceinfo_efi="true"
deviceinfo_bootloader_grub="true"
+5 -3
View File
@@ -1,16 +1,18 @@
# Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=boot-deploy
pkgver=0.8.1
pkgver=0.8.1_git20230506
pkgrel=0
_commit="9b8886b3957c89649ab8241573f05eb38a997482"
pkgdesc="tool for finalizing and deploying boot related files"
url="https://gitlab.com/postmarketos/boot-deploy"
arch="noarch"
license="GPL-2.0-or-later"
source="
boot-deploy.config
https://gitlab.com/postmarketOS/boot-deploy/-/archive/$pkgver/boot-deploy-$pkgver.tar.gz
https://gitlab.com/postmarketOS/boot-deploy/-/archive/$_commit/boot-deploy-$_commit.tar.gz
"
options="!check"
builddir="$srcdir/$pkgname-$_commit"
package() {
install -Dm755 boot-deploy "$pkgdir"/sbin/boot-deploy
@@ -25,5 +27,5 @@ package() {
sha512sums="
a243975b9850d9933e0f917f7eb38fc4a76ea658c3dcc56f035f60ee6c62d6740c1107143b8210bdc0231d4c9b6b2003e458120985604eb09649322d359ae89f boot-deploy.config
b5a2c182dd8786172f69100e6b62b95a02ba6e4f24bbf3b6aa8269287197f9d2546617c0631af9391b5052d5bd381d02e92ae39673311da2fd881df6045e79ed boot-deploy-0.8.1.tar.gz
9e195143220fe9857e1f0637cc7831950c5768bb77f55a122ca3fdef7336ea59fa8108d354451817573e88febb539ea5df3cabac8df0250273179f245e1e4abe boot-deploy-9b8886b3957c89649ab8241573f05eb38a997482.tar.gz
"
+87
View File
@@ -0,0 +1,87 @@
# Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=grub-efi-img
pkgdesc="Grub EFI loader"
# TODO: match upstream grub version?
pkgver=0.1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="all"
options="!check !archcheck"
depends=""
makedepends="grub grub-efi grub-efi-x86"
subpackages="
$pkgname-x86
$pkgname-x86_64
"
source="grub_early.cfg"
# Generates a grub efi app in $srcdir/out
# $1: grub arch
_mkimage() {
mkdir -p "$srcdir/out"
local _grub_arch="$1"
local _efi_arch=
case "$1" in
x86_64)
_efi_arch="x64"
;;
i386)
_efi_arch="ia32"
;;
esac
grub-mkimage \
--config="$srcdir/grub_early.cfg" \
--prefix="" \
--output="$srcdir/out/boot${_efi_arch}.efi" \
--format="${_grub_arch}-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
}
build() {
for _arch in x86_64 i386; do
_mkimage "$_arch"
done
}
package() {
for f in $(find "$srcdir/out" -iname "*.efi"); do
install -Dm644 "$f" \
-t "$pkgdir"/usr/lib/grub/efi/
done
}
x86_64() {
amove usr/lib/grub/efi/bootx64.efi
}
x86() {
amove usr/lib/grub/efi/bootia32.efi
}
sha512sums="
0f9357d4eea089628fbceb1e3e96d21a3f4329aeb6743158a6f877f967ef274506404eba949d5f01b7e1adea149f9a3aef992a5e8cd4181f93ab00909b1c5ecd grub_early.cfg
"
+2
View File
@@ -0,0 +1,2 @@
search --no-floppy --set=root --label "pmOS_boot"
set prefix=($root)/grub