Skip to main content
Topic: Rock64 (Read 1107 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Rock64

Reply #1
Should be roughly the same as for ALARM. The SoC is rather old and should be well-supported by both kernel and u-boot
ARMtix

Re: Rock64

Reply #2
https://archlinuxarm.org/platforms/armv8/rockchip/rock64#installation

Specifically:
How do i force SD boot?

what wget should be used at step 6, 7, and 9 to install armtix?

I guess I replace
Code: [Select]
wget http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz
with
Code: [Select]
wget https://repo.armtixlinux.org/armtix/os/aarch64/armtix.files.tar.xz[code]
from https://repo.armtixlinux.org/armtix/os/aarch64/
does that make
[code]bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C root
become
Code: [Select]
bsdtar -xpf armtix.files.tar.xz -C root
?

What do i do with the bootscript in step 7

Re: Rock64

Reply #3
ARMtix rootfs images are available here. The link you posted is list of files for armtix repository (repo with packages which are only built for ARMtix)
As for boot.scr, check instructions for Firefly RK3399 for example, i suppose it should be the same except for dtb file path. Check the location of the correcponding file in kernel package file list
ARMtix

Re: Rock64

Reply #4
If I get this working would you add rock64 to your compatibility?

Re: Rock64

Reply #5
following https://info.armtixlinux.org/firefly-rk3399.html
and adapting for RK3328

installed arm-none-eabi-gcc and uboot-tools
clone ATF git repo and cd to it

Code: [Select]
sudo make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3328
  CC      lib/libfdt/fdt.c
make: aarch64-linux-gnu-gcc: No such file or directory
make: *** [lib/libfdt/libfdt.mk:23: /Rock64/arm-trusted-firmware/build/rk3328/release/libfdt/fdt.o] Error 127


please advise

Edit. So derpy... please ignore

Re: Rock64

Reply #6
This got me uboot
https://forum.pine64.org/showthread.php?tid=8174

I got to this in the armtix firefly-rk3399 guide

Code: [Select]
Next, you have to create u-boot script u-boot.cmd with following contents:

setenv bootargs "consoleblank=0 root=/dev/<partname> rw rootwait console=ttyS2,1500000n8 earlycon=uart8250,mmio32,0xff1a0000 console=tty1"
load mmc 1:1 ${fdt_addr_r} /dtbs/rockchip/rk3399-firefly.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}
I think that becomes
Code: [Select]
setenv bootargs "consoleblank=0 root=/dev/<partname> rw rootwait console=ttyS2,1500000n8 earlycon=uart8250,mmio32,0xff1a0000 console=tty1"
load mmc 1:1 ${fdt_addr_r} /dtbs/rockchip/rk3328-rock64.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}
do i assume 
Code: [Select]
root=/dev/<partname>
becomes ??
Code: [Select]
root=/dev/sda

please advise

Re: Rock64

Reply #7
I think that becomes
Code: [Select]
setenv bootargs "consoleblank=0 root=/dev/<partname> rw rootwait console=ttyS2,1500000n8 earlycon=uart8250,mmio32,0xff1a0000 console=tty1"
load mmc 1:1 ${fdt_addr_r} /dtbs/rockchip/rk3328-rock64.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}
Looks correct. I'm not entirely sure whther earlycon arguments are correct for this board but you can start with those.

do i assume 
Code: [Select]
root=/dev/<partname>
becomes ??
Code: [Select]
root=/dev/sda
It's best to set it in UUID format: root=UUID=<UUID of partition used as root>
When partitioning your disk, keep in mind that u-boot has to pick up kernel, so it must be kept on partition it can read (ext4 fs is fine)
ARMtix

Re: Rock64

Reply #8
what is /Image supposed to be?


Re: Rock64

Reply #10
Image is actually Image. This is how ALARM and ARMtix kernel file names are named, not vmlinuz. There is a slight difference, though: in ALARM every kernel package provides file called Image, whereas in ARMtix Image is provided only by linux-aarch64 package and kernel files from other packages have prefixes (ltsImage for linux-aarch64-lts, for example).

is this right?
Code: [Select]
load mmc 1:1 ${kernel_addr_r} /vmlinuz-linux
No, keep /Image

but i could not read boot.scr
can i read that to see what alarm is doing?
You actualy can: just use cat. It will show some binary header made by mkimage command (from uboot-tools) and the rest will be the contents of boot.cmd
ARMtix