device-odroid-hc2: add tools (MR 2320)
The ODROID HC2 device must have its boot partition on a microSD card while the rootfs can be on an external HDD. Provide a script to transfer the rootfs and update the U-boot script. [ci:skip-build] already built successfully in CI
This commit is contained in:
parent
c9c3790896
commit
705f673aac
4 changed files with 70 additions and 6 deletions
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
pkgname=device-odroid-hc2
|
pkgname=device-odroid-hc2
|
||||||
pkgdesc="ODROID HC2"
|
pkgdesc="ODROID HC2"
|
||||||
pkgver=0.2
|
pkgver=0.3
|
||||||
pkgrel=0
|
pkgrel=0
|
||||||
url="https://postmarketos.org"
|
url="https://postmarketos.org"
|
||||||
license="MIT"
|
license="MIT"
|
||||||
|
@ -16,10 +16,10 @@ depends="linux-odroid-hc2
|
||||||
u-boot-tools
|
u-boot-tools
|
||||||
"
|
"
|
||||||
makedepends="devicepkg-dev"
|
makedepends="devicepkg-dev"
|
||||||
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
|
subpackages="$pkgname-nonfree-firmware:nonfree_firmware $pkgname-tools"
|
||||||
_commit="42ac93dcfbbb8a08c2bdc02e19f96eb35a81891a"
|
_commit="42ac93dcfbbb8a08c2bdc02e19f96eb35a81891a"
|
||||||
install="$pkgname.post-install $pkgname.post-upgrade"
|
install="$pkgname.post-install $pkgname.post-upgrade"
|
||||||
source="deviceinfo uboot-script.cmd"
|
source="deviceinfo uboot-script.cmd install-rootfs-hdd.sh"
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
devicepkg_build $startdir $pkgname
|
devicepkg_build $startdir $pkgname
|
||||||
|
@ -47,7 +47,16 @@ nonfree_firmware() {
|
||||||
mkdir "$subpkgdir"
|
mkdir "$subpkgdir"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tools() {
|
||||||
|
pkgdesc="ODROID HC2 tools"
|
||||||
|
depends="rsync e2fsprogs-extra"
|
||||||
|
mkdir "$subpkgdir"
|
||||||
|
install -Dm744 "$srcdir"/install-rootfs-hdd.sh \
|
||||||
|
"$pkgdir"/usr/bin/install-rootfs-hdd
|
||||||
|
}
|
||||||
|
|
||||||
sha512sums="
|
sha512sums="
|
||||||
90afdace4ad938ed69747d3b51ac1678bc325cb4e7234ac4eeded7b6fa79f10bd88d15ebfc6f20f0a9252c48008288a489cb99751ae6d2cdb12f289b9154a9f3 deviceinfo
|
d02702884d47c2c6b98f1ec194fc3a11b2c6559d416c112d41ddecfbbd84f0706adfc72e13e9943f130e548d987aa7d151f4f416443d15b7dff2375d4d067144 deviceinfo
|
||||||
83a4bcc34d20c2e5e6f1c3412c291baa90a8137df7925c02d8e46d922d45615cc957d79d37a23982bed7e1cfa92f2be22fa5f11cc59d3706b79ba62a2d550263 uboot-script.cmd
|
48e76599c21dd0df595ad2f5a9fe9f71962b5c1f631c91ce6f9904fe393ee7bf7c0d71df54f08bdf7fc4ed9176d36abc2f887781159304f862bf996f2157a5bd uboot-script.cmd
|
||||||
|
8273be5a8c5a7b9a27ae91a1581ca2d247d0fb45e24e25e46ba8272955d7fce31c62562c3fae402f6a66918c9c61d838de692cca11eea3cdfde6a91f478f2955 install-rootfs-hdd.sh
|
||||||
"
|
"
|
||||||
|
|
|
@ -14,6 +14,7 @@ deviceinfo_no_framebuffer="true"
|
||||||
deviceinfo_generate_legacy_uboot_initfs="true"
|
deviceinfo_generate_legacy_uboot_initfs="true"
|
||||||
deviceinfo_getty="ttySAC2;115200"
|
deviceinfo_getty="ttySAC2;115200"
|
||||||
deviceinfo_disable_dhcpd="true"
|
deviceinfo_disable_dhcpd="true"
|
||||||
|
deviceinfo_modules_initfs="uas usb-storage scsi_mod sd_mod t10_pi"
|
||||||
|
|
||||||
# Device related
|
# Device related
|
||||||
deviceinfo_gpu_accelerated="true"
|
deviceinfo_gpu_accelerated="true"
|
||||||
|
|
54
device/testing/device-odroid-hc2/install-rootfs-hdd.sh
Normal file
54
device/testing/device-odroid-hc2/install-rootfs-hdd.sh
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
MOUNT_POINT=/mnt/hdd
|
||||||
|
MMC_ROOT_PARTITION=/dev/mmcblk0p2
|
||||||
|
|
||||||
|
echo "### Move rootfs to external HDD ###"
|
||||||
|
echo "This script requires root permissions!"
|
||||||
|
echo "This action is inreversible without reflashing your device!"
|
||||||
|
echo "Are you sure you want to continue? [y/N]"
|
||||||
|
read -n 1 ANSWER
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
if [ "$ANSWER" != "y" ]; then
|
||||||
|
echo "Operation aborted"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Which partition should be used as rootfs?:"
|
||||||
|
read HDD_ROOT_PARTITION
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
echo "### Copying rootfs to partition $HDD_ROOT_PARTITION ###"
|
||||||
|
|
||||||
|
# Mount partition
|
||||||
|
echo "Trying to unmount $HDD_ROOT_PARTITION"
|
||||||
|
umount $HDD_ROOT_PARTITION || true # may fail
|
||||||
|
echo "Mounting $HDD_ROOT_PARTITION at $MOUNT_POINT"
|
||||||
|
mkdir -p $MOUNT_POINT
|
||||||
|
mount $HDD_ROOT_PARTITION $MOUNT_POINT
|
||||||
|
|
||||||
|
# Copy rootfs
|
||||||
|
echo "Copying rootfs... This can take a while."
|
||||||
|
rsync \
|
||||||
|
-aAXx \
|
||||||
|
--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} \
|
||||||
|
/ \
|
||||||
|
$MOUNT_POINT
|
||||||
|
|
||||||
|
# Verify all files are copied
|
||||||
|
rsync \
|
||||||
|
-aAXx \
|
||||||
|
--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} \
|
||||||
|
/ \
|
||||||
|
$MOUNT_POINT
|
||||||
|
sync
|
||||||
|
echo "Rootfs successfully copied!"
|
||||||
|
|
||||||
|
# pmOS initfs looks for rootfs by label, rename partitions
|
||||||
|
echo "Renaming partitions"
|
||||||
|
e2label $MMC_ROOT_PARTITION pmOS_root_old
|
||||||
|
e2label $HDD_ROOT_PARTITION pmOS_root
|
||||||
|
|
||||||
|
echo "Rootfs moved to external HDD, you must reboot NOW!"
|
|
@ -8,7 +8,7 @@ setenv dtb_file "exynos5422-odroidhc1.dtb"
|
||||||
printenv
|
printenv
|
||||||
|
|
||||||
echo Setting bootargs
|
echo Setting bootargs
|
||||||
setenv bootargs init=/init.sh rw console=tty0 console=ttySAC2,115200 panic=10 consoleblank=0 loglevel=9 cma=256M PMOS_NO_OUTPUT_REDIRECT PMOS_FORCE_PARTITION_RESIZE pmos_boot=/dev/mmcblk0p1 pmos_root=/dev/mmcblk0p2
|
setenv bootargs init=/init.sh rw console=tty0 console=ttySAC2,115200 panic=10 consoleblank=0 loglevel=9 cma=256M PMOS_NO_OUTPUT_REDIRECT PMOS_FORCE_PARTITION_RESIZE
|
||||||
|
|
||||||
echo Loading Kernel
|
echo Loading Kernel
|
||||||
load mmc ${mmcbootdev}:${mmcbootpart} ${kernel_addr_r} ${kernel_image}
|
load mmc ${mmcbootdev}:${mmcbootpart} ${kernel_addr_r} ${kernel_image}
|
||||||
|
|
Loading…
Reference in a new issue