dongshanpi-nezhastu: new device (MR 3814)
[ci:skip-build]: Already built successfully in CI
This commit is contained in:
parent
68defa831e
commit
cd1ddc03b6
4 changed files with 218 additions and 0 deletions
62
device/testing/device-dongshanpi-nezhastu/APKBUILD
Normal file
62
device/testing/device-dongshanpi-nezhastu/APKBUILD
Normal file
|
@ -0,0 +1,62 @@
|
|||
# Reference: <https://postmarketos.org/devicepkg>
|
||||
pkgname=device-dongshanpi-nezhastu
|
||||
pkgdesc="DongshanPi NeZha STU"
|
||||
pkgver=0.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-dongshanpi-nezhastu
|
||||
"
|
||||
makedepends="
|
||||
devicepkg-dev
|
||||
grub
|
||||
grub-efi
|
||||
"
|
||||
source="deviceinfo"
|
||||
|
||||
build() {
|
||||
devicepkg_build $startdir $pkgname
|
||||
|
||||
grub-mkimage \
|
||||
--prefix="/grub" \
|
||||
--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
|
||||
}
|
||||
|
||||
package() {
|
||||
devicepkg_package $startdir $pkgname
|
||||
install -Dm644 "$srcdir"/bootriscv64.efi \
|
||||
"$pkgdir"/boot/efi/boot/bootriscv64.efi
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
35daa118d1c1df00c3e1bf5ad9c1b484031630e89a1ae5a28c1fb94353d5b2eafd238395493f0a58988d43ae45428edb2a34fb728e2354666b4b819ccf0e785d deviceinfo
|
||||
"
|
27
device/testing/device-dongshanpi-nezhastu/deviceinfo
Normal file
27
device/testing/device-dongshanpi-nezhastu/deviceinfo
Normal file
|
@ -0,0 +1,27 @@
|
|||
# Reference: <https://postmarketos.org/deviceinfo>
|
||||
# Please use double quotes only. You can source this file in shell
|
||||
# scripts.
|
||||
|
||||
deviceinfo_format_version="0"
|
||||
deviceinfo_name="DongshanPi NeZha STU"
|
||||
deviceinfo_manufacturer="DongshanPi"
|
||||
deviceinfo_codename="dongshanpi-nezhastu"
|
||||
deviceinfo_year="2022"
|
||||
deviceinfo_dtb="allwinner/sun20i-d1-dongshan-nezha-stu"
|
||||
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/dongshan_nezha_stu/u-boot-sunxi-with-spl.bin:8"
|
||||
deviceinfo_boot_part_start="8192"
|
||||
deviceinfo_kernel_cmdline="console=ttyS0,115200 no_console_suspend panic=10 PMOS_NO_OUTPUT_REDIRECT"
|
||||
deviceinfo_generate_grub_config="true"
|
39
device/testing/u-boot-dongshanpi-nezhastu/APKBUILD
Normal file
39
device/testing/u-boot-dongshanpi-nezhastu/APKBUILD
Normal file
|
@ -0,0 +1,39 @@
|
|||
pkgname=u-boot-dongshanpi-nezhastu
|
||||
pkgver=2022.10_git20221101
|
||||
pkgrel=0
|
||||
pkgdesc="U-Boot for DongshanPi NeZhaSTU"
|
||||
url="https://github.com/smaeul/u-boot/tree/d1-wip"
|
||||
arch="riscv64"
|
||||
license="GPL-2.0-or-later OFL-1.1 BSD-2-Clause BSD-3-Clause eCos-2.0 IBM-pibs
|
||||
ISC LGPL-2.0-only LGPL-2.1-only X11"
|
||||
makedepends="$depends_dev py3-setuptools bc dtc python3-dev swig bison flex openssl-dev opensbi"
|
||||
options="!check"
|
||||
# d1-wip branch
|
||||
_commit="528ae9bc6c55edd3ffe642734b4132a8246ea777"
|
||||
source="u-boot-$_commit.tar.gz::https://github.com/smaeul/u-boot/archive/$_commit.tar.gz
|
||||
update-u-boot
|
||||
"
|
||||
builddir="$srcdir"/u-boot-$_commit
|
||||
|
||||
build() {
|
||||
touch include/config.h
|
||||
LC_ALL=C date +'#define U_BOOT_DATE "%b %d %C%y"' > include/timestamp_autogenerated.h
|
||||
LC_ALL=C date +'#define U_BOOT_TIME "%T"' >> include/timestamp_autogenerated.h
|
||||
|
||||
export OPENSBI="/usr/share/opensbi/generic/firmware/fw_dynamic.bin"
|
||||
export BUILD_DIR="$builddir"/build
|
||||
mkdir -p "$BUILD_DIR"
|
||||
make O="$BUILD_DIR" dongshan_nezha_stu_defconfig
|
||||
make O="$BUILD_DIR" all
|
||||
}
|
||||
|
||||
package() {
|
||||
install -Dm644 build/u-boot-sunxi-with-spl.bin \
|
||||
"$pkgdir"/usr/share/u-boot/dongshan_nezha_stu/u-boot-sunxi-with-spl.bin
|
||||
install -Dm755 "$srcdir"/update-u-boot "$pkgdir"/usr/sbin/update-u-boot
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
41cac25c10c6a1ac951a10af336df96ad77283b036cf17d7aca64bf81bc7e04b8c145778fb250b429cae71ac3350e1ba42ef8d9604d52d03c5fe8715901994b3 u-boot-528ae9bc6c55edd3ffe642734b4132a8246ea777.tar.gz
|
||||
5e3473031bacf6443fb476373f5f40d01f63a0369f0c93814421b6937db15baa7b20dc9ecfac0cc9f8e43491b1e61d581bf9542e215368c537c365aa388de711 update-u-boot
|
||||
"
|
90
device/testing/u-boot-dongshanpi-nezhastu/update-u-boot
Normal file
90
device/testing/u-boot-dongshanpi-nezhastu/update-u-boot
Normal file
|
@ -0,0 +1,90 @@
|
|||
#!/bin/sh
|
||||
|
||||
verbose=
|
||||
board=
|
||||
device=
|
||||
dryrun=
|
||||
imagedir=
|
||||
|
||||
|
||||
die() {
|
||||
echo "ERROR: $@"
|
||||
exit 1
|
||||
}
|
||||
|
||||
usage() {
|
||||
get_defaults
|
||||
|
||||
cat <<EOF
|
||||
usage: $0 [-n,--dry-run] [-i,--imagedir <imagedir>] [-b|--board <board-type>] [-d|--device <device>]
|
||||
|
||||
options:
|
||||
|
||||
-b,--board <board> Specify the board type: dongshanpi-nezhastu
|
||||
(current default: ${board:-none})
|
||||
|
||||
-d,--device <device> Specify the device where to install u-boot
|
||||
(current default: ${device:-none})
|
||||
|
||||
-i,--imagedir <imagedir> Specify u-boot image directory
|
||||
(current default: ${imagedir:-none})
|
||||
|
||||
-n,--dry-run Print commands but don't execute them
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
opt="$1"
|
||||
shift
|
||||
case "$opt" in
|
||||
-b|--board)
|
||||
case "$1" in
|
||||
dongshanpi-nezhastu) board="dongshan_nezha_stu" ;;
|
||||
*) usage; exit 1;;
|
||||
esac
|
||||
shift
|
||||
;;
|
||||
-d|--device)
|
||||
device="$1"
|
||||
shift
|
||||
;;
|
||||
-i|--imagedir)
|
||||
imagedir="$1"
|
||||
shift
|
||||
;;
|
||||
-n|--dry-run)
|
||||
dryrun="echo"
|
||||
;;
|
||||
--)
|
||||
break
|
||||
;;
|
||||
-*)
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$board" -o -z "$device" -o -z "$imagedir" -o ! -e "$imagedir" ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$dryrun" ]; then
|
||||
echo "Updating $board u-boot in $device in 3 seconds..."
|
||||
sleep 3
|
||||
fi
|
||||
|
||||
(
|
||||
set -e
|
||||
case "$board" in
|
||||
dongshan_nezha_stu)
|
||||
[ -e "$imagedir/dongshan_nezha_stu" ] || die "dongshanpi-nezhastu images not installed, apk add u-boot-dongshanpi-nezhastu"
|
||||
$dryrun dd if=$imagedir/dongshan_nezha_stu/u-boot-sunxi-with-spl.bin of=$device bs=8192 seek=16 status=none
|
||||
;;
|
||||
esac
|
||||
$dryrun sync
|
||||
) || die "U-Boot installation in $device failed"
|
||||
|
||||
[ -z "$dryrun" ] && echo "Completed successfully."
|
Loading…
Reference in a new issue