-
-
Notifications
You must be signed in to change notification settings - Fork 107
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
pkg: pine64: device-pine64-pinephone: include boot script
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
Showing
4 changed files
with
79 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,23 @@ | ||
# Maintainer: Danct12 <[email protected]> | ||
pkgname=device-pine64-pinephone | ||
pkgver=0.2 | ||
pkgrel=4 | ||
pkgrel=5 | ||
pkgdesc="PinePhone device package" | ||
arch=(aarch64) | ||
url="https://github.com/dreemurrs-embedded/Pine64-Arch" | ||
license=('MIT') | ||
depends=(danctnix-tweaks alsa-ucm-pinephone linux-megi uboot-pinephone rtl8723bt-firmware anx7688-firmware | ||
ov5640-firmware eg25-manager) | ||
depends=(danctnix-tweaks alsa-ucm-pinephone linux-megi rtl8723bt-firmware anx7688-firmware | ||
ov5640-firmware eg25-manager uboot-tools) | ||
optdepends=('uboot-pinephone: required if not using tow-boot') | ||
install="$pkgname.install" | ||
backup=("boot/boot.txt") | ||
source=(10-proximity.rules | ||
10-pinephone-brightness.rules | ||
pinephone-suspend-hook.sh | ||
machine-info | ||
pulseaudio-pinetweaks.conf) | ||
pulseaudio-pinetweaks.conf | ||
boot.txt | ||
mkscr) | ||
|
||
package() { | ||
# Kanged from Mobian, this is to make iio-sensor-proxy works with proximity sensor. | ||
|
@@ -28,10 +32,15 @@ package() { | |
install -Dm644 "$srcdir"/machine-info "$pkgdir"/etc/machine-info | ||
|
||
install -Dm644 "$srcdir"/pulseaudio-pinetweaks.conf "$pkgdir"/etc/pulse/daemon.conf.d/pinetweaks.conf | ||
|
||
# u-boot startup script | ||
install -Dm644 -t "${pkgdir}"/boot boot.txt mkscr | ||
} | ||
|
||
md5sums=('b72ff096c022588f72c226283ac328bd' | ||
'3a478fece4381cf41fb795009bfe8cc3' | ||
'b0912b95d7d810a0f161d9bd79fc162b' | ||
'b53781dde1d7a9a44e5076f3be463570' | ||
'1504e684e5a2aec439e0674cdfc9d3c1') | ||
'1504e684e5a2aec439e0674cdfc9d3c1' | ||
'69400a6dfe94221172b2a00f18b1a8bd' | ||
'021623a04afd29ac3f368977140cfbfd') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
gpio set 98 # Enable vibrator | ||
|
||
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..." | ||
gpio clear 98 # Disable vibrator | ||
booti ${kernel_addr_r} ${ramdisk_addr_r}:0x${ramdisk_size} ${fdt_addr_r} |
9 changes: 6 additions & 3 deletions
9
PKGBUILDS/pine64/device-pine64-pinephone/device-pine64-pinephone.install
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,10 @@ | ||
post_install() { | ||
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 | ||
|
||
systemctl enable eg25-manager | ||
} | ||
|
||
post_upgrade() { | ||
systemctl enable eg25-manager | ||
post_install() { | ||
post_upgrade | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |