ChanServ changed the topic of #armlinux to: ARM kernel talk [Upstream kernel, find your vendor forums for questions about their kernels] | https://libera.irclog.whitequark.org/armlinux
iivanov has joined #armlinux
iivanov has quit [Ping timeout: 252 seconds]
iivanov has joined #armlinux
iivanov has quit [Ping timeout: 264 seconds]
iivanov has joined #armlinux
iivanov has quit [Ping timeout: 268 seconds]
vingu has quit [Ping timeout: 264 seconds]
vingu has joined #armlinux
System_Error has quit [Ping timeout: 260 seconds]
vingu has quit [Ping timeout: 256 seconds]
vingu has joined #armlinux
iivanov has joined #armlinux
iivanov has quit [Ping timeout: 252 seconds]
System_Error has joined #armlinux
hanetzer has joined #armlinux
rockosov has quit [Ping timeout: 264 seconds]
rockosov has joined #armlinux
vingu has quit [Ping timeout: 268 seconds]
vingu has joined #armlinux
iivanov has joined #armlinux
iivanov has quit [Ping timeout: 252 seconds]
ungeskriptet has joined #armlinux
System_Error has quit [Remote host closed the connection]
System_Error has joined #armlinux
vingu has quit [Ping timeout: 268 seconds]
vingu has joined #armlinux
amitk has joined #armlinux
iivanov has joined #armlinux
iivanov has quit [Ping timeout: 260 seconds]
iivanov has joined #armlinux
amitk has quit [Remote host closed the connection]
iivanov has quit [Remote host closed the connection]
vingu has quit [Ping timeout: 255 seconds]
vingu has joined #armlinux
vingu has quit [Ping timeout: 256 seconds]
vingu has joined #armlinux
cbeznea_ has joined #armlinux
vingu has quit [Ping timeout: 255 seconds]
vingu has joined #armlinux
TheCoffeMaker_ has quit [Ping timeout: 255 seconds]
TheCoffeMaker has joined #armlinux
monstr has joined #armlinux
monstr has quit [Remote host closed the connection]
rvalue has quit [Read error: Connection reset by peer]
<arnd>
militantorc: ok, so that's just a cortex-a7 as I expected. Any chance you are running an old kernel?
<militantorc>
Its most probably quite ancient
<militantorc>
Let me check
<militantorc>
Linux version 3.4.67, (gcc version 4.7 (GCC)
<militantorc>
arnd, its an old cellphone
<militantorc>
(this is from /proc/version so the gcc version is probably the one used to build the kernel, not the one i intend to compile)
<militantorc>
arnd, is lpae something that should have existed on the CPU features?
<arnd>
militantorc: yes, all cortex-a7 are arm7ve and have lpae, it's just that before linux-3.10 it was not reported in /proc/cpuinfo
<militantorc>
I see
<militantorc>
is there any other way to detect its existence?
<militantorc>
I have a crosscompiler running on my pc
<militantorc>
I can run a linux syscll or whatever to test it
<arnd>
As far as I know, the feature registers are only accessible from the kernel and not exposed any other way besides hwcap and /proc/cpuinfo. In runtime code, you'd normally use hwcap, but that change was added in the same 3.10 commit as the /proc/cpuinfo one
<militantorc>
I can run asm to test the register
<militantorc>
i don't know asm but if you give me some code i can try executing it on my phone
<arnd>
militantorc: no need, I promise it's there. the discussion between ardb and me yesterday was just about a really obscure corner case from a single SoC that was put into the first generation Google Chromecast IIRC
<militantorc>
I see
<militantorc>
I'd just like to clarify nevertheless becuse the system seems very whiny about small changes even
<militantorc>
For example I got a gcc somehow don't ask me how
<militantorc>
i used something called musl-gcc to cross compile gcc
<militantorc>
used a similar process for binutils
<militantorc>
and now the linker whines the compiler emitted code that uses VFP registers
<militantorc>
and that it failes to merge
<arnd>
right, it's a bit tricky to find the right toolchain. Most distros come with working cross-compilers, but then those require having a copy of the glibc installed on the device. With musl-libc gcc can build a statically linked executable at least
<militantorc>
arnd, my cross compiler works fine
<militantorc>
I use -static
<militantorc>
to generate binaries
<militantorc>
and they execute fine
<militantorc>
My issue is I am trying to create a native gcc that works on the phone itself
<militantorc>
to avoid this crosscompiling bs for more complex projects where static might be hard or impossible
<militantorc>
note that i can build static binaries fine without musl for small simple programs
<arnd>
I see. That is a bit unusual though, most people find it much easier to cross compile in this scenario
<militantorc>
i used musl only for stuff that failed to link staatically with glibc
<arnd>
if you want native compilation, you could install an debian armhf into a chroot environment and run things in there
<militantorc>
arnd, lets say i am building a complex project like say emacs (just randm example) how does one go about doing that in a cross compile mode?
<militantorc>
I have no idea how to link the libraries on the phone itself
<arnd>
militantorc: usually you start with a distro that is already cross-compiling everything: openembedded, buildroot, aosp, ... whichever you are most experienced with
<militantorc>
so does that distro also ship with a native gcc for arm?
<arnd>
no
<arnd>
but they have packages for most of the normal projects, and you can add your own packages that link against the distro libraries
<militantorc>
ah i see
<militantorc>
yes that sounds good
<militantorc>
so this thing, i'd need to somehow build a chroot for that?
<militantorc>
and then i can use its package manager like normal?
<arnd>
it depends, in the simplest case the output of the build system is a preconfigured rootfs that you copy to the target machine after you build all the binaries
<militantorc>
oh
<militantorc>
I have never used any of these oses
<arnd>
with aosp, I suppose you'd build an android package and install that through adb
<militantorc>
which would you recommend
<arnd>
if you have not done any of those but are familiar with desktop linux, you may want to start with a debian chroot and then build natively in there
<militantorc>
yes so does debin have a build available on this platform?
<arnd>
armel is usually only used for armv5, armhf works on pretty much every armv7 with very few exceptions that you don't have to worry about. The "vfpv3" in /proc/cpuinfo means that debian armhf will run, the vfpv4 and neon are additional extensions to the fpu that are in cortex-a7 and later but not in the earlier cortex-a9 and similar
<arnd>
(most a9 have neon as well)
<militantorc>
so this armhf is a safe common denominator guaranteed for this
<militantorc>
?
<arnd>
yes
<militantorc>
Ok thanks
<militantorc>
this stuff was just so confusing
vingu has quit [Ping timeout: 255 seconds]
vingu has joined #armlinux
headless has joined #armlinux
vingu has quit [Ping timeout: 255 seconds]
headless has quit [Ping timeout: 268 seconds]
vingu has joined #armlinux
<militantorc>
could it be because of really ancient kernel?
System_Error has quit [Remote host closed the connection]
Livio has joined #armlinux
System_Error has joined #armlinux
rvalue has quit [Remote host closed the connection]
rvalue has joined #armlinux
Livio has quit [Ping timeout: 264 seconds]
vingu has quit [Ping timeout: 264 seconds]
vingu has joined #armlinux
System_Error has quit [Remote host closed the connection]
System_Error has joined #armlinux
Livio has joined #armlinux
vingu has quit [Ping timeout: 268 seconds]
vingu has joined #armlinux
<militantorc>
Managed to get a native compiler working after a lot of wrestling
<militantorc>
only need to find a way to rebuild it with correcy sysroot
vingu has quit [Ping timeout: 272 seconds]
vingu has joined #armlinux
cbeznea_ has quit [Ping timeout: 264 seconds]
vingu has quit [Ping timeout: 264 seconds]
lain6141__ has quit [Remote host closed the connection]
lain6141__ has joined #armlinux
lain6141__ has quit [Changing host]
lain6141__ has joined #armlinux
vingu has joined #armlinux
headless has quit [Quit: Konversation terminated!]
vingu has quit [Ping timeout: 255 seconds]
biju has quit [Ping timeout: 268 seconds]
prabhakalad has quit [Ping timeout: 264 seconds]
vingu has joined #armlinux
prabhakalad has joined #armlinux
biju has joined #armlinux
prabhakalad has quit [Ping timeout: 256 seconds]
biju has quit [Ping timeout: 264 seconds]
prabhakalad has joined #armlinux
biju has joined #armlinux
biju has quit [Client Quit]
<NishanthMenon>
just in generic interest: not strictly an ARM linux discussion, but more of a u-boot discussion.. but if any SoC vendor is interested.. https://libera.irclog.whitequark.org/u-boot/2024-06-13#36498796 in the #u-boot channel on libera.chat.. will probably start a mail chain on u-boot mailing list as well (context: where should core system firmware binaries in advanced SoCs reside? vendor github? linux-firmware or elsewhere?)
rvalue- has joined #armlinux
rvalue has quit [Ping timeout: 268 seconds]
rvalue- is now known as rvalue
vingu has quit [Ping timeout: 268 seconds]
vingu has joined #armlinux
vingu has quit [Ping timeout: 255 seconds]
Livio has quit [Ping timeout: 240 seconds]
vingu has joined #armlinux
<javierm_>
NishanthMenon: a u-boot-firmware repo makes totally sense to me
<javierm_>
not that my opinion matters but just FWIW :)