Rockpro64 and stock arch linux - Printable Version +- PINE64 (https://forum.pine64.org) +-- Forum: ROCKPRO64 (https://forum.pine64.org/forumdisplay.php?fid=98) +--- Forum: Linux on RockPro64 (https://forum.pine64.org/forumdisplay.php?fid=101) +--- Thread: Rockpro64 and stock arch linux (/showthread.php?tid=7992) |
Rockpro64 and stock arch linux - TaborFife - 09-21-2019 I've gotten the stock rootfs running on the Rockpro64 SBC, using steps from a variety of sources. If desired, I'll try to hunt down the locations. Steps below: Section 1 - Making a Good SPL 0. Perform these steps from a functional image, on the board, such as Armbian -note: may need to "apt-get install gcc-arm-none-eabi binutils-arm-none-eabi" 1. Get u-boot, cd into the folder #git clone https://gitlab.denx.de/u-boot/u-boot.git #cd u-boot #make clean 2. Get, make the Trusted code, copy it into the u-boot folder #git clone https://github.com/ARM-software/arm-trusted-firmware.git atf #make -C atf PLAT=rk3399 bl31 #cp bl31.elf ../ 3. Make u-boot #make rockpro64-rk3399_defconfig #make ARCH=arm -j7 4. Write loaders to disk, or copy them to storage for Section 2 #tools/mkimage -n rk3399 -T rksd -d tpl/u-boot-tpl-dtb.bin tpl-spl.img #cat spl/u-boot-spl-dtb.bin >> tpl-spl.img #dd if=tpl-spl.img of=/dev/mmcblkN seek=64 conv=fsync #dd if=u-boot.itb of=/dev/mmcblkN seek=16384 conv=fsync Section 2 - Install Arch 0. This must be performed from a different computer, make sure uboot-tools is installed 1. Zero the beginning of the SD card: #dd if=/dev/zero of=/dev/sdX bs=1M count=32 2. Start fdisk to partition the SD card: #fdisk /dev/sdX 3. At the fdisk prompt, create the new partition: Type o. This will clear out any partitions on the drive. Type n, then p for primary, 1 for the first partition on the drive, 32768 for the first sector, and then +4G -this creates a 4G partition Write the partition table and exit by typing w. 4 . Create the ext4 filesystem: #mkfs.ext4 /dev/sdX1 5. Mount the filesystem: #mkdir something #mount /dev/sdX1 something 5. Download and extract the root filesystem (as root, not via sudo): #wget http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz #tar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C something 6. Use this as boot.txt, place in something/boot/ Code: # MAC address (use spaces instead of colons) 7. in the something/boot/ directory, generate boot.scr from the boot.txt #mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d boot.txt boot.scr 8. Unmount the partition #umount something 9. Write the bootloader to the sd card #dd if=tpl-spl.img of=/dev/sdX seek=64 conv=fsync #dd if=u-boot.itb of=/dev/sdX seek=16384 conv=fsync 10. Insert SD, apply voltage 11. Initialize the pacman keyring and populate the Arch Linux ARM package signing keys: #pacman-key --init #pacman-key --populate archlinuxarm 12. Update #pacman -Syu #pacman -S uboot-tools Further Notes: hdmi may be kinda weird from the supplied boot.txt, depending on the monitor used. RE: Rockpro64 and stock arch linux - Yoast - 11-29-2019 Thanks for the write-up TaborFife. I repeated your steps and everything worked out fine. I did cross-compile u-boot and the trusted-firmware on another computer however. Currently the kernel version is: Code: $ uname -a RE: Rockpro64 and stock arch linux - Yoast - 01-02-2020 @TaborFife, have you managed to get this working using an eMMC module instead of a SD card? I tried it, but it doesn't boot: Code: U-Boot TPL 2020.01-rc5-00042-g6cb87cbb14 (Jan 02 2020 - 15:30:57) RE: Rockpro64 and stock arch linux - dragop - 01-07-2020 (01-02-2020, 09:25 AM)Yoast Wrote: @TaborFife, have you managed to get this working using an eMMC module instead of a SD card? I tried it, but it doesn't boot:Hi, I'm able to boot from eMMC using the latest ROOTFS tarball. The latest kernel update seems to have nuked my setup though. RE: Rockpro64 and stock arch linux - abdel - 01-08-2020 There is indeed a regression in linux kernel > 5.4.6 details here: https://gitlab.manjaro.org/manjaro-arm/packages/core/linux-aarch64/issues/5 This impact both manjaro and arch linux. If your system is impacted, there is a work around: remove stmmac-platform.ko and rebuild it with this patch diff -Naur linux-5.4-7/./drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c linux-5.4-6/./drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c --- linux-5.4-7/./drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c 2020-01-07 11:17:04.817218153 +0100 +++ linux-5.4-6/./drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c 2020-01-07 11:16:25.770550353 +0100 @@ -320,7 +320,7 @@ static int stmmac_dt_phy(struct plat_stmmacenet_data *plat, struct device_node *np, struct device *dev) { - bool mdio = false; + bool mdio = true; static const struct of_device_id need_mdio_ids[] = { { .compatible = "snps,dwc-qos-ethernet-4.10" }, {}, They are urrently testing a fix and discussing it here: https://lkml.org/lkml/2020/1/7/375 By the way, you have to know that there is an another issue an archlinux: They think they are applying patches but then dont. They use git apply outside of a git repo : linux kernel is a .xz file and patches applied with git apply. They just dropped my pull request: https://github.com/archlinuxarm/PKGBUILDs/pull/1749 I m currently using manjaro, so I didnt care about that. RE: Rockpro64 and stock arch linux - Yoast - 01-13-2020 (01-07-2020, 03:12 PM)dragop Wrote:(01-02-2020, 09:25 AM)Yoast Wrote: @TaborFife, have you managed to get this working using an eMMC module instead of a SD card? I tried it, but it doesn't boot:Hi, I'm able to boot from eMMC using the latest ROOTFS tarball. The latest kernel update seems to have nuked my setup though. Good to know that it worked for you. Can you confirm the U-Boot version you are using? Is it also the 2020.01-rc5 version? RE: Rockpro64 and stock arch linux - dragop - 01-15-2020 (01-13-2020, 03:15 PM)Yoast Wrote:(01-07-2020, 03:12 PM)dragop Wrote:(01-02-2020, 09:25 AM)Yoast Wrote: @TaborFife, have you managed to get this working using an eMMC module instead of a SD card? I tried it, but it doesn't boot:Hi, I'm able to boot from eMMC using the latest ROOTFS tarball. The latest kernel update seems to have nuked my setup though. I cloned the master at the time. Since it booted right away, I didn't really try a proper release. |