Talk:DIY Fully working Alpine Linux for Allwinner and Other ARM SOCs

From Alpine Linux
Revision as of 05:23, 18 February 2020 by Jchdel (talk | contribs) (add stepped procedure)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Hi,
I'm currently trying the procedure to install AL on orange-pi-pc.
I'm cross compiling from a debian box.
Compilation of kernel (linux-sunxi) fails with

$ make zImage
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: 'include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
arm-linux-gnueabihf-ld: no machine record defined
arch/arm/kernel/built-in.o: In function `kretprobe_trampoline':
/srv/r_and_d/linux-sunxi/arch/arm/kernel/kprobes.c:379: undefined reference to `trampoline_handler'
Makefile:875: recipe for target '.tmp_vmlinux1' failed
make: *** [.tmp_vmlinux1] Error 1

I'm trying to search any clue on the net to fix this but nothing so far :(
any idea?

--Jchdel (talk) 07:03, 15 February 2020 (UTC)

I went the alternate way and build the kernel with armbian toolbox.
I'm now a happy Alpine Linux user on orange-pi-pc. It took be about 7 hours to complete "setup-alpine" starting from scratch.
A point of attention is the size of initramfs!
I learned a lot about arm ecosystem. Thanks a lot for this great introduction!

started to prepare an Alpine Linux SD card for the orange-pi-pc

  1. compile kernel from source (kernel-sunxi)
  2. compile kernel modules from source
  3. compile u-boot from source
  4. download rootfs from alpinelinux.org
  5. extract initramfs
  6. extract modloop
  7. extract SPL
  8. extract dtb
  9. extract kernel
  10. extract modules
  11. extract firmware
  12. adapt and generate initramfs
  13. adapt and generate modloop
  14. prepare u-boot macro (boot.cmd)
  15. generate u-boot macro (boot.scr)
  16. flash spl
  17. flash u-boot
  18. partition SD
  19. format new partition
  20. mount new partition
  21. copy kernel, initramfs, modloop, dtp, and u-boot macro
  22. umount
  23. put SD in orange-pi-pc
  24. power on
  25. enjoy!

--Jchdel (talk) 08:30, 16 February 2020 (UTC)