-
-
Save FlorianHeigl/32fc39779295c385ffa32253f3e92e95 to your computer and use it in GitHub Desktop.
| startsituation, altes alpine setup, fehlendes modloop. | |
| aktuell bekommen und dann strip down wg. RAM | |
| u-boot tricks mitnehmen und fuer mips benutzen | |
| rpi kernel bootet nicht auf cubietruck | |
| problem war wohl u.a. dass ich mit kernelupdate das NAND nicht mehr hatte | |
| jahre spaeter beim versuch, das auf aktuelles alpine zu ziehen versehentlich noch die packages geloescht | |
| dann schritt fuer schritt reparatur | |
| (tarball auspacken, apk.static, 3.20 packages) | |
| hatte dann xen package mismatch - und dann hat der update mir die bootoptionen aus der extlinux.conf gemoppst | |
| xen config muss ich desswegen am ende neu machen | |
| cpu info | |
| https://linux-sunxi.org/A20 | |
| referenz zum loesen | |
| https://wiki.alpinelinux.org/wiki/DIY_Fully_working_Alpine_Linux_for_Allwinner_and_Other_ARM_SOCs | |
| nand geht noch nicht, sollte aber (mainline format braucht neuformatieren) | |
| https://linux-sunxi.org/MTD_Driver | |
| https://linux-sunxi.org/Mainline_NAND_Howto | |
| weitere alpine specifics | |
| - armhf-generic-uboot build existiert nicht mehr (sh hier https://dl-cdn.alpinelinux.org/alpine/v3.10/releases/armhf/) | |
| - https://wiki.alpinelinux.org/wiki/Upgrading_Alpine_Linux_to_a_new_release_branch | |
| - https://community.riocities.com/alpine_rpi_upgrade.html (nur rpi lbu mode, kein xen) | |
| mirageos xen arm builder (OS, baut cubietruck SD image) | |
| https://github.com/mirage/xen-arm-builder | |
| export TARGET=Cubietruck | |
| funktioniert nicht mehr ganz (insb. Xen) weil es pakete aus edge nehmen will, gibt wohl kein passendes edge fuer armhf oder so. | |
| # build deps | |
| apk add alpine-sdk autoconf automake bison ccache flex mkinitfs ncurses-dev perl rsync | |
| # build dir | |
| apk add lvm2 | |
| vgchange -ay | |
| modprobe ext4 | |
| mkdir /build | |
| mount /dev/cubie2/build /build | |
| swapon /dev/cubie2/swap | |
| https://linux-sunxi.org/Mainline_Kernel_Howto | |
| https://linux-sunxi.org/Linux_Kernel#Compilation | |
| https://linux-sunxi.org/Script.bin | |
| cd /build/linux | |
| # hat noch fehler, wird nicht aktiv | |
| export CCACHE_DIR=/build/ccache | |
| export CCACHE_NOCOMPRESS=true | |
| export CC="ccache gcc" | |
| export CXX="ccache g++" | |
| # hier erst make defconfig wie in anleitung machen | |
| # laedt sunxi/allwinner defaults | |
| export TERM=putty | |
| # arch=arm - unoptimierter kernel, raspi1 etc. | |
| # loesung waere -march, -mtune, s.u. ungetestet. | |
| # https://gist.github.com/fm4dd/c663217935dc17f0fc73c9c81b0aa845 | |
| # https://wits-hep.blogspot.com/2013/11/arm-cortex-a7-gcc-flags-allwinner-a20.html - s.u. | |
| # https://wits-hep.blogspot.com/2014/08/optimal-compiler-flags-for-arm.html - s.u. | |
| export CFLAGS="-march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -funsafe-math-optimizations -mfloat-abi=hard -O3 -ffastmath" | |
| export CFLAGS="-mcpu=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -funsafe-math-optimizations -mfloat-abi=hard -O3 -ffastmath" | |
| export CXXFLAGS="${CFLAGS}" | |
| make ARCH=arm menuconfig | |
| - squashfs [*] | |
| - cramfs [*] | |
| - overlayfs [*] | |
| - pstore [*] # https://stackoverflow.com/questions/28538091/using-persistent-storage-in-linux-kernel | |
| - tmpfs [*] | |
| CONFIG_BLK_DEV_DM=y | |
| CONFIG_BLK_DEV_LOOP=y | |
| CONFIG_DM_UEVENT=y | |
| CONFIG_MD=y | |
| (ich hab dann die ganze.config genommen von https://github.com/mirage/xen-arm-builder/blob/master/linux.sh | |
| weil schon 5 versuche oder so) | |
| mtd pruefen | |
| ? drivers/media/rc/keymaps/rc... | |
| war bei den IRDA treibern, oberster punkt, einfach ausmachen | |
| man muss noch einige optionen nacharbeiten, insb. auch fuer hw crypto | |
| # make -j4 war sys(%) bound auch mit ssd | |
| ARCH=arm make -j2 olddefconfig && | |
| ARCH=arm make -j2 zImage && | |
| ARCH=arm make -j2 dtbs && | |
| ARCH=arm INSTALL_HDR_PATH=/build/headers make headers_install && | |
| ARCH=arm INSTALL_MOD_PATH=/build/squashfs-root make modules modules_install | |
| sudo mount -o remount,rw /media/mmcblk0p1 | |
| cd /build/linux | |
| sudo cp arch/arm/boot/zImage /media/mmcblk0p1/boot/vmlinuz-sunxi | |
| sudo cp arch/arm/boot/dts/allwinner/sun7i-a20-cubietruck.dtb /media/mmcblk0p1/boot/dtbs/ | |
| cd /build/squashfs-root | |
| mksquashfs lib/ modloop-sunxi -noappend -always-use-fragments | |
| sudo cp modloop-sunxi /media/mmcblk0p1/boot/modloop-sunxi | |
| extlinux.conf sieht so aus: | |
| prompt funktioniert nicht glaub ich | |
| bei problemen auf vanilla (4.19) zurueck | |
| TIMEOUT 20 | |
| PROMPT 1 | |
| DEFAULT vanilla # das da immer anpassen zum testen | |
| LABEL vanilla | |
| MENU LABEL Linux vanilla | |
| KERNEL /boot/vmlinuz-vanilla | |
| INITRD /boot/initramfs-vanilla | |
| DEVICETREEDIR /boot/dtbs | |
| APPEND modules=loop,squashfs,sd-mod,usb-storage quiet modloop=/boot/modloop-vanilla | |
| LABEL sunxi | |
| MENU LABEL Linux sunxi | |
| KERNEL /boot/vmlinuz-sunxi | |
| DEVICETREEDIR /boot/dtbs | |
| APPEND modules=loop,squashfs,sd-mod,usb-storage quiet modloop=/boot/modloop-sunxi modloop_verify=no | |
| out of scope im moment: | |
| (hatte ich 2019 schon erledigt) | |
| u-boot, boot.scr, ... | |
| todo nach gitlab | |
| dockerfile aktualisieren | |
| grsec raus | |
| ftd memory erhoehen (128M root ist zu klein?) | |
| was ist $V | |
| tmem / zswap aktivieren + swap auf ssd bei boot | |
| andere SSD suchen? | |
| generic-uboot build cherrypick + CI | |
| image testboot per qemu wenn mgl oder sonst wie? | |
| reboot problem loesen | |
| https://forum.armbian.com/topic/31698-armbian-hangs-on-reboot/ | |
| oder workaround (CI freundlich) mit arduino ich glaub es gab was | |
| reset button hat loetstellen :-) | |
| nand boot | |
| https://stevensaunderson.com/CTNandBoot.htm | |
| https://linux-sunxi.org/Mainline_NAND_Howto | |
| openqa | |
| https://github.com/grisu48/openqa-serial/blob/main/README.md | |
| 3. cubietruck besorgen | |
| +SD karte | |
| +Arduino | |
| an gitlab tun | |
| build ID in image in MOTD tun | |
| serial oder ssh -> build id pruefen | |
| modloop erklaerungen und zum spicken | |
| https://superuser.com/questions/1290314/what-is-modloop-option-in-alpine | |
| https://gist.github.com/alexalouit/37c6726d60f1ed19dcf95540331d90ff | |
| Xen specific | |
| https://wiki.alpinelinux.org/wiki/Xen_Dom0 | |
| LBU specific | |
| https://wiki.alpinelinux.org/wiki/Diskless_Mode | |
| LBU apkvol edit | |
| https://wiki.alpinelinux.org/wiki/Manually_editing_a_existing_apkovl | |
| LBU upgrade commands | |
| https://wiki.alpinelinux.org/wiki/Upgrading_Alpine_Linux_to_a_new_release_branch |
tmem wurde gecancelled :-(
stripping:
- busybox (statt chrony), dropbear (start openssh)
- kann man avahi wegmachen?
- kann man dbus wegmachen?
- kann man hg statt git fuer etckeeper nehmen
- was brauchte gnutls
- unterstuetzt irgendwas seccomp
- braucht etwas zstd, lzo, xz, ...
aktuell:
Filesystem Size Used Available Use% Mounted on
tmpfs 400.0M 129.6M 270.4M 32% /
ziel 100MB, dann ist gut...
zswap ca. 200MB plus 1-2GB SSD swap sollten passen.
groesse von /var/log beachten, auslagern?
cubietruck komplettuebersicht
https://linux-sunxi.org/Cubietech_Cubietruck
u-boot austausch
https://github.com/cubieboard/Cubietruck_Plus-u-boot
howtos
kernel, u. bisschen zu nand
https://www.robert-sperling.de/mainline-kernel-fuer-cubietruck/#comment-332
vga output
https://www.robert-sperling.de/cubietruck-mainline-u-boot-unterstuetzt-nun-vga-ausgabe/
led heartbeart in dts einbauen
https://www.robert-sperling.de/cubietruck-blaue-led-im-mainline-kernel-fuer-die-heartbeat-anzeige-des-hardware-watchdogs-verwenden/?unapproved=671&moderation-hash=babdf3bf9296db1da336887a4300e13c#comment-671
uart tool
https://charmyin.github.io/cubieboard/2014/11/19/cubian-uart/
gpio pinouts
http://docs.cubieboard.org/a20-cubietruck_gpio_pin
(ich hab ein /bin/gpio auf dem nand gefunden)
spi display muesste ja auch rennen?
alpine duo S porting notes
https://fubuki.sh/blog/milkv-alpine-conversion/#user-content-fn-1
milk-v vega porting notes
milkv-vega/vega-buildroot-sdk#11
didn't replace the sd card quickly enough. such fun.
better psu, for the moment, helps
now to the interesting task of backing up the sd card as we boot to ram, then going shopping for another sandisk high endurance
amn: kernel builds wollen wirklich "KERNEL_CC" nicht "CC" insofern ist CCACHE wirklich da nicht angewesen.
weitere builds aber mit chroot oder cross damit nicht / platz verschwendet wird
dom0 mem ist auch schon reduziert, ich denke, das muss jetzt mal anders weiter gehen...
cpu0 led zeigt mist an (bei 99% idle dauerleuchten), weil nur 1 cpu vorhanden. brauche nen anderen led trigger...