Difference between revisions of "PinePhone Pro/Create a multi-distribution image using rk2aw"
Jump to navigation
Jump to search
Line 29: | Line 29: | ||
#: └─loop2p2 /media/xxx/3d99072c-9fd6-4316-8526-9192e192c441 | #: └─loop2p2 /media/xxx/3d99072c-9fd6-4316-8526-9192e192c441 | ||
#: └─sdb disk '' (after each dd command you'll see the partition id name to adjust into scripts.)'' | #: └─sdb disk '' (after each dd command you'll see the partition id name to adjust into scripts.)'' | ||
# <code>sudo dd if=/dev/zero of=/dev/sdb count=945728 bs=32768 status=progress</code> ''# erase sd card. i.e. # 32GB SDcard (30989615104bytes/32768dim=945728volte)'' | # <code>sudo dd if=/dev/zero of=/dev/sdb count=945728 bs=32768 status=progress</code> ''# erase sd card. i.e. # 32GB SDcard (30989615104bytes/32768dim=945728volte)''<br/> | ||
<code>sudo dd if=/dev/zero of=/dev/sdb count=1 bs=32768 status=progress</code> ''# erase sd card. i.e. # 32GB SDcard (30989615104bytes/32768dim=1volta) )'' | |||
# ''Partition sd card (min <del>64</del>32GB)'' | # ''Partition sd card (min <del>64</del>32GB)'' | ||
sudo sfdisk /dev/sdb <<EOF | sudo sfdisk /dev/sdb <<EOF |
Revision as of 14:06, 6 August 2023
Flash Rk2Aw BootLoader to SPI & Multidistro SDcard
References: https://xff.cz/kernels/rk2aw/rk2aw-rk3399-pinephone-pro/INSTALL and https://xnux.eu/rk2aw/. Thanks Megi at https://xnux.eu/log/
Requirements: SSH connection from linux machine to PinePhonePro, internet connection.
Preloader and userspace utility to flash it are non-free.
Download and Run Rk2Aw SPI Flasher
- Connect PinePhonePro to linux machine and start a ssh connection
ssh <user>@<phoneip>
# set a connectioncd ~/Downloads
# enter to directorycurl -O https://xff.cz/kernels/bootloaders/ppp.tar.gz
# download installertar -xvzf ppp.tar.gz -C ~/Downloads
# extract# scp -r ~/Downloads/ppp <user>@<phoneip>:~/Downloads
# copy to phone, non neededsudo ./spinor-flash-initial-setup.sh
# flash SPI
Flash MultiDistro SD Card
- Get distro compressend images and decompress them. (i.e. Manjaro.phosh.beta34, Mobian.6.1, ArchLinux)
- Mount distro images both partitions "/boot", "/root" for each distro
lsblk
# find /loop, /sd references. Useblkid
to see the UUID for the partition- ├─loop0p1 /media/xxx/BOOT_MNJRO
- └─loop0p2 /media/xxx/ROOT_MNJRO
- ├─loop1p1 /media/xxx/boot
- └─loop1p2 /media/xxx/rootfs
- ├─loop2p1 /media/xxx/52CA-6165
- └─loop2p2 /media/xxx/3d99072c-9fd6-4316-8526-9192e192c441
- └─sdb disk (after each dd command you'll see the partition id name to adjust into scripts.)
sudo dd if=/dev/zero of=/dev/sdb count=945728 bs=32768 status=progress
# erase sd card. i.e. # 32GB SDcard (30989615104bytes/32768dim=945728volte)
sudo dd if=/dev/zero of=/dev/sdb count=1 bs=32768 status=progress
# erase sd card. i.e. # 32GB SDcard (30989615104bytes/32768dim=1volta) )
- Partition sd card (min
6432GB)
sudo sfdisk /dev/sdb <<EOF label: gpt first-lba: 64 table-length: 8 start=64, size=32704, type=D7B1F817-AA75-2F4F-830D-84818A145370, name="loader", attrs=RequiredPartition size=9G, name="MANJARO", attrs="RequiredPartition,LegacyBIOSBootable" size=9G, name="MOBIAN", attrs="RequiredPartition,LegacyBIOSBootable" size=+, name="ALARM", attrs="RequiredPartition,LegacyBIOSBootable" EOF
lsblk
# list partitions on sd and mounted distro images- Device Start End Sectors Size Type
- /dev/sdb1 64 32767 32704 16M unknown
- /dev/sdb2 32768 16809983 16777216 8G Linux filesystem
- /dev/sdb3 16809984 33587199 16777216 8G Linux filesystem
- /dev/sdb4 33587200 60524543 26937344 12.8G Linux filesystem
- Copy files for ManJaro
sudo dd if=/dev/loop0p2 of=/dev/sdb2 bs=1M status=progress conv=fsync
# copy rootfs to sd part2sudo scp -r /media/xxx/BOOT_MNJRO/* /media/xxx/ROOT_MNJRO1/boot
# copy bootfs to to part2/bootsudo nano /media/xxx/ROOT_MNJRO1/etc/fstab
# edit address to UUID=a871300c-a20c-4601-80f5-c91585bf79edsudo mv /media/xxx/ROOT_MNJRO1/boot/boot.scr /media/xxx/ROOT_MNJRO1/boot/boot.scrORIG
# hide auto-menu itemsudo mkdir /media/xxx/ROOT_MNJRO1/boot/extlinux
# add directorysudo nano /media/xxx/ROOT_MNJRO1/boot/extlinux/extlinux.conf
#add file
#/boot/extlinux/extlinux.conf MENU TITLE Pinephone Pro Boot Menu LABEL l0 MENU LABEL ManJaro FDT /boot/dtbs/rockchip/rk3399-pinephone-pro.dtb KERNEL /boot/Image INITRD /boot/initramfs-linux.img APPEND root=UUID=a871300c-a20c-4601-80f5-c91585bf79ed console=ttyS2,115200 console=tty0 loglevel=4 rw rootwait fbcon=rotate:0 pinephone_keyboard.disable_input
- Copy files for MObian
sudo dd if=/dev/loop1p2 of=/dev/sdb3 bs=1M status=progress conv=fsync
# copy rootfs to sd part3sudo scp -r /media/xxx/boot/* /media/xxx/rootfs1/boot
# copy bootfs to to part3/bootsudo nano /media/xxx/rootfs1/etc/fstab
# edit address to UID=57d51edc-c461-4157-8d10-242b4082fc75 and delete UUID=34b4af8c-79f8-4903-a547-fd2efa90e8bb from second line.sudo nano /media/xxx/rootfs1/boot/extlinux/extlinux.conf
# edit path from /bootfs to /part3/boot
>linux /boot/vmlinuz-6.1-rockchip >initrd /boot/initrd.img-6.1-rockchip >fdtdir /boot/dtb-6.1-rockchip/
- Copy files for Arch Linux ARM
sudo dd if=/dev/loop2p2 of=/dev/sdb4 bs=1M status=progress conv=fsync
# copy rootfs to sd part4sudo scp -r /media/xxx/52CA-6165/* /media/xxx/3d99072c-9fd6-4316-8526-9192e192c441
# copy bootfs to to part4/boot1/bootsudo mv /media/xxx/3d99072c-9fd6-4316-8526-9192e192c441
# hide auto-menu item1/boot/boot.scr /media/xxx/3d99072c-9fd6-4316-8526-9192e192c4411/boot/boot.scrORIGsudo nano /media/xxx/3d99072c-9fd6-4316-8526-9192e192c441
# remove 52CA-6165 from second line1/etc/fstabsudo mkdir /media/xxx/3d99072c-9fd6-4316-8526-9192e192c441
# add directory1/boot/extlinuxsudo nano /media/xxx/3d99072c-9fd6-4316-8526-9192e192c441
# add file1/boot/extlinux/extlinux.conf
#/boot/extlinux/extlinux.conf MENU TITLE Pinephone Pro Boot Menu LABEL l0 MENU LABEL ALarm FDT /boot/dtbs/rockchip/rk3399-pinephone-pro.dtb KERNEL /boot/Image INITRD /boot/initramfs-linux.img APPEND root=UUID=3d99072c-9fd6-4316-8526-9192e192c441 console=ttyS2,115200 console=tty0 loglevel=4 rw rootwait fbcon=rotate:0 pinephone_keyboard.disable_input