libera/#devuan-arm/ Friday, 2024-11-08

rrqbuilding "arm" i stoo hard for me .. (whether cross-compiling or on an armhf filesystem) .. the source includes some aarch64-special opcodes where I would need to learn the inner workings too deeply to device armv7 alternatives.01:23
rrqI'm now exploring the path of building an arm64 u-boot with legacy kernel loading .. though having random crash issues with gcc 14.2.0 :(01:27
gnarfacehmm, i thought that between having the right cross-compilation flags and the right settings in u-boot's menuconfig it should work01:30
gnarfacebut also, gcc 14 really already?01:30
gnarfacei think i last tried this between gcc 7.x something and gcc 9.x something, and i know for sure it didn't work on any version of gcc earlier than that, so maybe it's just a gcc glitch again? cross-builds seem hard...01:31
gnarfacewhat are you setting, specifically, for $ARCH and $CROSS_COMPILE on your make commands?01:32
rrqI'm building on a recent ceres arm64 setup on an amd64, using the "binfmt approach", and thus no ARCH and CROSS_COMPILE arguments01:34
gnarfacehmmm01:34
gnarfaceyou might still need to set ARCH01:35
gnarfaceand also, you will definitely still have had to enable multi-arch inside the chroot (it's a chroot, right?) for arm, (as in arm32) to have all the right stuff01:36
rrqpossibly; though "uname -m" says aarch64 so I'd expect that to fool everything01:36
gnarfacehmmm01:36
rrqit's a chroot01:36
gnarfacei did mine with cross-compiling but for some reason still needed binfmt...01:37
gnarfacei might have gotten some steps from conflicting paths there confused, but it still worked, but, also, i was doing a arm64 build01:37
gnarfacethe thing is, i could have sworn that early on i built arm32 accidentally and didn't figure that out until after first boot, but it's so long ago now i'm not sure...01:38
rrqpossibly this problem is because I'm using the "sunxi" branch that has the orangepi_3_lts_defconfig01:39
gnarfaceah, maybe01:39
gnarfacei just used the regular upstream vanilla u-boot version01:39
gnarfaceand uh... i forget exactly but something like sun50i_pine64_plus_defconfig?01:40
gnarfaceand for the OG pinebook i just used pinebook_defconfig (i did this successfully a couple times for different A64 stuff from pine64, but that's the limit of my experience)01:40
gnarfaceoh... hmm, but those would be in the ./arch/arm64 directory, and there's probably no 32-bit equivalents in the ./arch/arm/ directory... i wonder if that matters01:42
gnarfaceyea, i used sun50i-a64-pinebook for the OG pinebook and sun50i-a64-pine64-plus for the SoC boards01:44
gnarfacethis most recent time01:44
rrqI want to build for sun50i-h6-orangepi-3-lts01:45
gnarfaceso maybe you have to build a 64-bit binary after all and just change menuconfig options to add multiarch support or something01:45
gnarfacenot sure now01:45
rrqcan I tell sun50i-h6-orangepi-3-lts on to make, to focus on that?01:46
gnarfaceyou should be able to01:46
gnarfacei seem to have last tested with gcc11 btw fyi, according to my logs01:46
gnarfacethree steps: 1) make sun50i-h6-orangepi-3-lts 2) make menuconfig 3) make -j401:47
gnarfaceon my cross-build environment i also set ARCH and CROSS_COMPILE of course01:47
gnarfaceARCH="arm64" CROSS_COMPILE="aarch64-linux-gnu-" make pinebook_defconfig01:47
gnarface(old notes)01:48
gnarfaceis it possible you neglected to build the arm trusted firmware and copy the right file from there into the u-boot source tree first?01:48
rrqhmm "make sun50i-h6-orangepi-3-lts" complains about missing targte01:48
gnarfaceis it possible you neglected to build the arm trusted firmware and copy the right file from there into the u-boot source tree first?01:48
gnarfacefrom my notes, i used $BUILDROOT/build/sun50iw1p1/release/bl31.bin but that's hardware specific01:49
rrq ah.. I did build that on the armhf trial(s) . but now forgot about it for the arm64 trials... thanks01:49
* rrq back to trials...01:50
gnarfaceyou should have to copy some file from there, and it probably also has to be built to the right arch, i assume01:50
gnarfacewhat's the point of what you're trying to do here? you should be able to just boot aarch64 devuan on that hardware and use multi-arch for any 32-bit stuff you need...02:11
gnarfacemulti-arch works on the pine64 stuff, i assume it should work on those too02:11
rrqyes I have an aarch64 devuan but I want to have it run armhf (aarch32) kernel as well as filesystem02:18
rrq(to be an armhf/armel build host)02:19
gnarfaceah, i see02:19
rrqnow a I also wonder whether there's an EFI load path with a 64->32 load wrapping02:20
rrq(will explore when my current trial path fails)02:36
rrq.. I changed to use gcc-12 (-t daedalus) and still have the random segfaults; most likely not due to gcc itself, but rather to me running arm64 on amd64 (through binfmt)06:40
gnarfacedid you maybe accidentally use a amd64 rootfs in the chroot instead of an arm64 one? i did that by accident once and i think the result was lots of segfaults...08:49
rrqno, but it was a ceres; I now will use the arm64 on the pi3 for building my own u-boot; I got it going by reusing the first 4M of the debian image, but I haven't found the source of that u-boot10:55
rrqthat u-boot doesn't include bootz and I'm generally unsure about it10:56
rrqthat will be a daedalus (debootstrap)10:58
rrqactually the debian image u-boot is within 1M; the 4M includes a blanked out gap of the u-boot's FAT11:00
rrq(I guess)11:00

Generated by irclog2html.py 2.17.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!