armtix on pinephone Partitions - sd card patition table should be mbr - make a 250mb fat32 boot partition after 5mb unpartitioned space - flag the partition as boot (required?) - make the ext4 system partition, leave 5mb unpartitioned space at the end Requirements pacman -S u-boot-tools aarch64-linux-gnu-gcc swig U-Boot - clone uboot and arm trusted platform git clone https://source.denx.de/u-boot/u-boot.git git clone https://github.com/ARM-software/arm-trusted-firmware.git - compile arm trusted platform and copy the image, if working on arm remove the cross compile flag cd arm-trusted-firmware make CROSS_COMPILE=aarch64-linux-gnu- PLAT=sun50i_a64 cp ~/arm-trusted-firmware/build/sun50i_a64/release/bl31.bin ~/u-boot/ - set flags and compile uboot cd ~/u-boot export CROSS_COMPILE=aarch64-linux-gnu- export BL31=bl31.bin export ARCH=arm64 make pinephone_defconfig make all -j - copy uboot to the sd card dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8 Data - get and extract the armtix filesystem to ~/armtixfs/ and mount the sd card partitions - copy the boot directory and the filesystem to the sd partitions rsync -avxHAX --progress ~/armtixfs/boot/* /mnt/bootp (your path to sd boot partition) rsync -avxHAX --progress ~/armtixfs/* /mnt/systemp (your path to sd system partition) Kernel - enter the sd boot partition and make the initramfs cd /mnt/bootp mkimage -A arm64 -T ramdisk -d /mnt/bootp/initramfs-linux.img mkinitramfs-linux.uimg - create the boot config file "uboot.cmd": env setenv bootargs console=${console} console=tty0 root=/dev/mmcblk0p2 rw rootwait quiet load mmc 1:1 ${fdt_addr_r} /dtbs/allwinner/sun50i-a64-pinephone-1.2.dtb load mmc 1:1 ${kernel_addr_r} /Image load mmc 1:1 ${ramdisk_addr_r} /initramfs-linux.uimg booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r} - on the emmc the root device is: root=/dev/mmcblk2p2 - make the kernel image mkimage -A arm64 -T ramdisk -d uboot.cmd boot.scr - boot - use the audio jack uart to access or ...