Skip to content

Commit

Permalink
pkg: pine64: device-pine64-pinetab: include boot script
Browse files Browse the repository at this point in the history
Move the u-boot configuration to the device meta-package, and change
mmc_bootdev to devnum for compatibility with tow-boot.

When booting from tow-boot mmc_bootdev points at the emmc, even if arch
is installed to the sd card, devnum gets set to be the correct device
though.
  • Loading branch information
ArenM committed Mar 30, 2023
1 parent 9f46902 commit a7b6a5d
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 5 deletions.
20 changes: 15 additions & 5 deletions PKGBUILDS/pine64/device-pine64-pinetab/PKGBUILD
Original file line number Diff line number Diff line change
@@ -1,21 +1,26 @@
# Maintainer: Danct12 <[email protected]>
pkgname=device-pine64-pinetab
pkgver=0.2
pkgrel=3
pkgrel=4
pkgdesc="PineTab device package"
arch=(aarch64)
url="https://github.com/dreemurrs-embedded/Pine64-Arch"
license=('MIT')
install="$pkgname.install"
backup=("boot/boot.txt")
depends=(linux-megi
uboot-pinephone
rtl8723bt-firmware
ov5640-firmware
alsa-ucm-pinetab)
uboot-tools # we need this for mkscr
alsa-ucm-pinetab
uboot-pinephone)
source=(pinetab-suspend-hook.sh
phoc.ini
machine-info
pulseaudio-pinetweaks.conf
gsk-renderer-gl.sh)
gsk-renderer-gl.sh
boot.txt
mkscr)

package() {
# Current workaround for suspend
Expand All @@ -29,10 +34,15 @@ package() {
install -Dm644 "$srcdir"/pulseaudio-pinetweaks.conf "$pkgdir"/etc/pulse/daemon.conf.d/pinetweaks.conf

install -Dm755 "$srcdir"/gsk-renderer-gl.sh -t "$pkgdir"/etc/profile.d/

# u-boot startup script
install -Dm644 -t "${pkgdir}"/boot boot.txt mkscr
}

md5sums=('b0912b95d7d810a0f161d9bd79fc162b'
'ecd8742a921d805e6756abc522da1dba'
'340993065eb26f928700733369be2d9b'
'1504e684e5a2aec439e0674cdfc9d3c1'
'df623da01912f5ce89c178639fc22656')
'df623da01912f5ce89c178639fc22656'
'57662f9c45c1432c2756149724422f6d'
'021623a04afd29ac3f368977140cfbfd')
47 changes: 47 additions & 0 deletions PKGBUILDS/pine64/device-pine64-pinetab/boot.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
if test ${devnum} -eq 0; then
echo "Booting from SD"
setenv linux_mmcdev 0
else
echo "Booting from eMMC"
setenv linux_mmcdev 2
fi

# If we have at least 2 partitions, then the 1st one is /boot, and / is #2
if part size mmc ${devnum} 2 none; then
setenv rootpart 2
else
setenv rootpart 1
setenv bootdir "/boot"
fi

setenv bootargs loglevel=4 console=${console} console=tty0 root=/dev/mmcblk${linux_mmcdev}p${rootpart} rw rootwait quiet bootsplash.bootfile=bootsplash-themes/danctnix/bootsplash

echo "Loading kernel..."
load mmc ${devnum}:1 ${ramdisk_addr_r} ${bootdir}/Image.gz

echo "Uncompressing kernel..."
unzip ${ramdisk_addr_r} ${kernel_addr_r}

echo "Loading initramfs..."
load mmc ${devnum}:1 ${ramdisk_addr_r} ${bootdir}/initramfs-linux.img
setenv ramdisk_size ${filesize}

echo "Loading dtb..."
load mmc ${devnum}:1 ${fdt_addr_r} ${bootdir}/dtbs/${fdtfile}

echo Resizing FDT
fdt addr ${fdt_addr_r}
fdt resize

echo Adding FTD RAM clock
fdt mknode / memory
fdt set /memory ram_freq ${ram_freq}
fdt list /memory

echo Loading user script
setenv user_scriptaddr 0x61dbc200
load mmc ${devnum}:1 ${user_scriptaddr} ${bootdir}/user.scr
if test $? -eq 0; then source ${user_scriptaddr}; else echo No user script found; fi

echo "Booting..."
booti ${kernel_addr_r} ${ramdisk_addr_r}:0x${ramdisk_size} ${fdt_addr_r}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
post_upgrade() {
echo "Generating U-Boot script"
mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d /boot/boot.txt /boot/boot.scr
}

post_install() {
post_upgrade
}
9 changes: 9 additions & 0 deletions PKGBUILDS/pine64/device-pine64-pinetab/mkscr
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/bin/bash

if [[ ! -x /usr/bin/mkimage ]]; then
echo "mkimage not found. Please install uboot-tools:"
echo " pacman -S uboot-tools"
exit 1
fi

mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d boot.txt boot.scr

0 comments on commit a7b6a5d

Please sign in to comment.