mangopi-mq-pro: new device (MR 3761)

[ci:skip-build]: already built successfully in CI
This commit is contained in:
exkc 2022-12-26 12:42:30 +08:00 committed by Oliver Smith
parent eea97fa1a8
commit 09670b7395
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB
5 changed files with 142 additions and 0 deletions

View file

@ -0,0 +1,84 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-mangopi-mq-pro
pkgdesc="MangoPi MQ-Pro"
pkgver=1
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="riscv64"
# pmb:strict: avoid grub-related install error during build with pmbootstrap
options="!check !archcheck pmb:strict"
depends="
linux-postmarketos-allwinner-d1
postmarketos-base
u-boot-tools
u-boot-mangopi-mq-pro
"
makedepends="
devicepkg-dev
grub
grub-efi
"
source="
deviceinfo
grub_early.cfg
grub.cfg
uboot-script.cmd
"
build() {
devicepkg_build $startdir $pkgname
grub-mkimage \
--config="$srcdir/grub_early.cfg" \
--prefix="" \
--output="BOOTRISCV64.EFI" \
--format="riscv64-efi" \
--compression="xz" \
\
all_video \
cat \
configfile \
disk \
echo \
efi_gop \
fat \
ext2 \
gzio \
help \
iso9660 \
linux \
ls \
normal \
part_gpt \
part_msdos \
search \
search_label \
test \
true
mkimage -A riscv -O linux -T script -C none -a 0 -e 0 \
-n postmarketos -d "$srcdir"/uboot-script.cmd \
"$srcdir"/boot.scr
}
package() {
devicepkg_package $startdir $pkgname
install -Dm644 "$srcdir"/BOOTRISCV64.EFI \
"$pkgdir"/boot/EFI/BOOT/BOOTRISCV64.EFI
install -D "$srcdir"/grub.cfg \
"$pkgdir"/boot/grub/grub.cfg
install -D -m644 "$srcdir"/boot.scr \
"$pkgdir"/boot/boot.scr
}
sha512sums="
d30ee6bea102258278a0ba23b9e8512e8f969220175bd275faa7aeb51ad922215d9b4a73c68dfc8f93a681690d307c76807c4238b28c69ea30346a0a63010138 deviceinfo
611908cde1084216ac5013b86019edc91cdae42c3557fd87e244df1815150a2b0a95e24951ee1cc43fc47771a136cf1c1afa95d9daf7ee17d3158a50bd2d1c0d grub.cfg
95cbead11ff1c299e8f47af5a8b36c6e55ec8b41eb5dee54c9db28d707b42ffac94a81115edb960f844aa8fce417ec23a82d39e334090698e0fc45a3d880b471 grub_early.cfg
54824f653c983be53afdbc7f024245562c7ca52413b0eeb1bbec74b70d8edc453a52437da9eeb331625bcc51f7a80928e40fca7de927f09879dc13fcb07e54ad uboot-script.cmd
"

View file

@ -0,0 +1,26 @@
# Reference: <https://postmarketos.org/deviceinfo>
# Please use double quotes only. You can source this file in shell
# scripts.
deviceinfo_format_version="0"
deviceinfo_name="MangoPi MQ-Pro"
deviceinfo_manufacturer="MangoPi"
deviceinfo_codename="mangopi-mq-pro"
deviceinfo_year="2022"
deviceinfo_dtb="allwinner/sun20i-d1-mangopi-mq-pro"
deviceinfo_arch="riscv64"
# Device related
deviceinfo_gpu_accelerated="false"
deviceinfo_chassis="embedded"
deviceinfo_keyboard="true"
deviceinfo_external_storage="true"
deviceinfo_screen_width="1920"
deviceinfo_screen_height="1080"
deviceinfo_getty="ttyS0;115200"
# Bootloader related
deviceinfo_flash_method="none"
deviceinfo_sd_embed_firmware="u-boot/mangopi_mq_pro/u-boot-sunxi-with-spl.bin:256"

View file

@ -0,0 +1,9 @@
timeout=0
menuentry "postmarketOS" {
linux ($root)/vmlinuz init=/init.sh rw console=tty0 console=ttyS0,115200 pmos_boot=/dev/mmcblk0p1 pmos_root=/dev/mmcblk0p2
initrd ($root)/initramfs
devicetree ($root)/sun20i-d1-mangopi-mq-pro.dtb
}

View file

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

View file

@ -0,0 +1,19 @@
setenv bootdev 0
printenv
echo Loading DTB
load mmc ${mmc_bootdev}:1 ${fdt_addr_r} /sun20i-d1-mangopi-mq-pro.dtb
echo Loading Grub
load mmc ${mmc_bootdev}:1 ${kernel_addr_r} /EFI/BOOT/BOOTRISCV64.EFI
echo Resizing FDT
fdt addr ${fdt_addr_r}
fdt resize
echo Booting Grub
bootefi ${kernel_addr_r} ${fdt_addr_r}