Alpine Linux
#11
Question 
I have tried it without the possibility with SPI Flash, so only trying to start from SD card. (I am a kernelnewbie)

Currently only the EVB RK3328 is supported on the Rockchip-site, I think that does not work:
http://opensource.rock-chips.com/wiki_Boot_option

U-boot-guide (but i think there is missing the instruction ways for rock64)
https://github.com/qemu/u-boot/blob/mast...E.rockchip

Quote:However i clone the uboot-tree:
git clone https://github.com/u-boot/u-boot

Compile U-boot:
make CROSS_COMPILE=aarch64-linux-gnu- rock64-rk3328_defconfig
make CROSS_COMPILE=aarch64-linux-gnu-

Than i follow this instruction: (https://github.com/u-boot/u-boot/commit/...6e627972a0)
This series allow building u-boot SPL and u-boot.itb for Rock64
board. The proprietary TPL is stil required for deploy:

 ./tools/mkimage -n rk3328 -T rksd \
   -d ./rkbin/bin/rk33/rk3328_ddr_333MHz_v1.16.bin idbloader.img
 cat ./spl/u-boot-spl.bin >> idbloader.img
 dd if=idbloader.img of=/dev/sdcard seek=64 conv=notrunc
 dd if=u-boot.itb of=/dev/sdcard seek=16384 conv=notrunc


Quote:So I did the following:
git clone https://github.com/rockchip-linux/rkbin
./tools/mkimage -n rk3328 -T rksd \
-d ./rkbin/bin/rk33/rk3328_ddr_333MHz_v1.16.bin idbloader.img

./tools/mkimage -n rk3328 -T rksd \
-d ./rkbin/bin/rk33/rk3328_ddr_333MHz_v1.16.bin u-boot.itb

cat ./spl/u-boot-spl.bin >> idbloader.img
dd if=idbloader.img of=/dev/sdcard seek=64 conv=notrunc
dd if=u-boot.itb of=/dev/sdcard seek=16384 conv=notrunc

BUT on https://github.com/qemu/u-boot/blob/mast...E.rockchip there is the following instruction and I do not know what the difference is and why:
Booting from an SD card on Pine64 Rock64 (RK3328)
For Rock64 rk3328 board the following three parts are required:
TPL, SPL, and the u-boot image tree blob.

- Create TPL/SPL image
=> tools/mkimage -n rk3328 -T rksd -d tpl/u-boot-tpl.bin idbloader.img
=> cat spl/u-boot-spl.bin >> idbloader.img

- Write TPL/SPL image at 64 sector
=> sudo dd if=idbloader.img of=/dev/mmcblk0 seek=64

- Write u-boot image tree blob at 16384 sector
=> sudo dd if=u-boot.itb of=/dev/mmcblk0 seek=16384

Quote:I compiled the kernel according to the Alpinelinux manual:
(https://wiki.alpinelinux.org/wiki/DIY_Fu...r_ARM_SOCs)
apt-get -y -qq install git Please make sure you have the following options as follows
KERNEL_ONLY="yes" //compile only kernel, u-boot and other packages and not buid complete OS image
KERNEL_CONFIGURE="yes"  //to include your modules
CLEAN_LEVEL="make,images,debs"
KERNEL_KEEP_CONFIG="yes"

Quote:Create boot.scr
boot.scr contains needed uboot commands for loading kernel, initrd, setting kernel parameters and booting.
To create boot.scr first make a u-boot script boot.cmd with the u-boot commands you need for booting the system:
  • setenv fdt_high ffffffff
  • setenv machid 1029
  • setenv bootargs earlyprintk /boot/vmlinuz-4.6.0-rc1-sunxi modules=loop,squashfs,sd-mod,usb-storage modloop=/boot/modloop-sunxi console=${console}
  • load mmc 0:1 0x43000000 boot/dtbs/sun8i-h3-orangepi-pc.dtb
  • load mmc 0:1 0x41000000 boot/vmlinuz-4.6.0-rc1-sunxi
  • load mmc 0:1 0x45000000 boot/initramfs-sunxi-new
  • bootz 0x41000000 0x45000000 0x43000000
Then translate this to a boot.scr by using the mkimage command
mkimage -C none -A arm -T script -d boot.cmd boot.scr

On https://a-delacruz.github.io/alpine/alpine-linux.html is a good guide for step 7 (Creating Initramfs File) and 8 (Creating modloop File) from the Alpinelinux-guide. I did it that way.

Then I replaced the files and copied everything to the SD card and did all the steps. Finally it does not work, i get no signal over hdmi when I try to boot. Maybe I forgot something or did something wrong. I think u-boot or boot.scr is the problem.

I will try the following instructions, but it would be better if i could only start with SD card: 
https://github.com/ayufan-rock64/linux-b...ash-spi.md

I hope somebody can do it and publish a manual. Confused
  Reply
#12
Lightbulb 
I made a few mistakes but now it works:
Ready to use solution: https://codeberg.org/AVG7/diy_hardened_alpine_linux

Create Initramfs and modloop File, this guides will help: 
https://wiki.alpinelinux.org/wiki/DIY_Fu...r_ARM_SOCs
https://a-delacruz.github.io/alpine/alpine-linux.html

Delete from the Alpine Linux Download all folders except the folders “apks” “boot” and “alpine.apkovl.tar.gz”. Replace all files in the dtbs and boot-folder with the files from ayufan (https://github.com/ayufan-rock64/linux-kernel/releases) or https://codeberg.org/AVG7/diy_hardened_alpine_linux and your initramfs and modloop file.

Create a textfile and name it extlinux.conf with the following content (replace XXX with the filenames of the files from ayufan and your initramfs and modloop file):
LABEL XXX
KERNEL /boot/vmlinuz-XXX
INITRD /boot/initramfs-XXX
FDT /boot/dtbs/XXX.dtb
APPEND modules=loop,squashfs,sd-mod,usb-storage

Create a folder in the boot-folder with name extlinux and place in this folder the extlinux.conf textfile.

Then for SPI follow this guide: https://github.com/ayufan-rock64/linux-b...ash-spi.md

Then create a partition on a emty sdcard with gparted and mark it bootable. Place the folder “apks” “boot” and “alpine.apkovl.tar.gz” on the sdcard.

Use Serial Console (https://forum.pine64.org/showthread.php?tid=4928) at first boot if hdmi does not work at first boot.

Then run setup-alpine.


Or simply follow this guide: https://codeberg.org/AVG7/diy_hardened_alpine_linux

Good to know:
Howto cross-compile Upstream U-Boot for rock64: https://forum.pine64.org/showthread.php?tid=8174

This page has been archived:
http://archive.is/w3uQN
https://web.archive.org/web/201910222216...881&page=2
  Reply
#13
Does alpine linux now support the rock64? when looking through the dtb/rockchip folder I found a file called rk3328-rock64.dtb?
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  irradium (based on crux linux) Rock64 riscv64, aarch64 mara 0 51 03-24-2024, 01:07 PM
Last Post: mara
  MIPI-CSI IMX214 on Linux NO SUCCESS zeus666 2 1,630 06-02-2023, 07:52 AM
Last Post: diederik
  Linux 5.15 Kernel - openSuse mark1250 0 1,243 12-02-2021, 04:36 PM
Last Post: mark1250
Lightbulb RK3399 Linux rtl8822cu module bluetooth not working shivarj89 0 1,316 07-29-2021, 07:19 AM
Last Post: shivarj89
Information Linux Mainline ayufan 63 90,215 05-14-2021, 10:41 AM
Last Post: Wizzard
  Linux Images (ROCK64) pineadmin 164 276,468 02-12-2021, 10:14 AM
Last Post: useful64
  Arch Linux Arm --> Kernel 5.8 breaks installation as365n4 12 11,985 08-31-2020, 01:41 AM
Last Post: as365n4
  Arch Linux ARM on the Rock64 V3 justinweiss 2 4,782 08-24-2020, 05:16 PM
Last Post: justinweiss
  Arch Linux Arm - external RTC problem max 1 2,906 08-17-2020, 10:35 AM
Last Post: max
Sad Is there a none-headless Linux OS that really works now for Rock64? AkiraSensei 7 9,392 07-09-2020, 10:02 PM
Last Post: nethammer

Forum Jump:


Users browsing this thread: 2 Guest(s)