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
apritzel has quit [Ping timeout: 252 seconds]
mraynal has quit [Read error: Connection reset by peer]
mraynal has joined #armlinux
alpernebbi has quit [Ping timeout: 246 seconds]
alpernebbi has joined #armlinux
Nact has quit [Quit: Konversation terminated!]
kaiwan has joined #armlinux
hanetzer has quit [Quit: WeeChat 3.6]
heat has quit [Ping timeout: 260 seconds]
balrog has quit [Ping timeout: 260 seconds]
balrog has joined #armlinux
kaiwanbill has joined #armlinux
kaiwan has quit [Ping timeout: 268 seconds]
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #armlinux
plappermaul has joined #armlinux
kaiwan has joined #armlinux
kaiwanbill has quit [Ping timeout: 252 seconds]
apritzel has joined #armlinux
apritzel has quit [Ping timeout: 265 seconds]
headless has joined #armlinux
kaiwan has quit [Ping timeout: 246 seconds]
Guest88 has joined #armlinux
<Guest88> Hello
<Guest88> ?
<Guest88> Anybody?
Guest88 has quit [Client Quit]
Guest88 has joined #armlinux
<jn> Guest88: hi welcome. please ask the question that brings you here, instead of "anybody?"
Guest88 is now known as Mojo9876
Mojo9876 has quit [Quit: Client closed]
Guest88 has joined #armlinux
apritzel has joined #armlinux
<Guest88> What language is the arm kernel compiled in?
Guest88 has quit [Quit: Client closed]
Guest88 has joined #armlinux
<Xogium> Guest88: what do you mean what language ?
<Xogium> its compiled into raw binary your machine understands
<Xogium> like pretty much any other program
<Guest88> I was reading up on how kernels are made. I presume they are compiled in a language like basic, cobol, or c right?
<Xogium> oh yes, in that sense
<Xogium> the linux kernel is written in a few languages, C for the most part, but there's a little bit of c++
<Xogium> things like that
<jn> it *written* in C (by human programmers)
<Xogium> not to say you can't write a kernel in other language, but the kernel is ancient, so it started with C
<Guest88> But what exactly is a kernel? Is code that moves memory around, and calling programs back and forth?
<Xogium> ;p
<jn> it is *compiled* from C over ARM assembly language to ARM machine code
<Xogium> hello, jn :)
<jn> hi Xogium :)
<Xogium> oh boy the what is a kernel question. That one is tricky
<Xogium> so many definitions depending on what kind of kernel you mean, like micro kernel
<jn> Guest88: feels like "what is an elephant?" i could list a few aspects, but no ultimate definition
<Xogium> jn: at the risk of sparking a mini debate, just for fun and because I'm curious, would you have prefered linux be a micro kernel or a monolithic one ?
<jn> Guest88: the kernel runs in a higher privilege mode ("ring" in x86 terminology) than application programs
<jn> Guest88: the kernel manages page tables and provides the virtual file system API (read, write, open, close, etc.)
<Guest88> Yeah, can't seem to get a clear description of what it is. I suppose my long term objective is to find what I have to do to get software and hardware integration. At the computer level rather than the driver level.
<Xogium> manages hardware too
<jn> Guest88: the kernel schedules processes
<jn> Guest88: what do you mean by "software and hardware integration"? when would you consider it achieved?
<Guest88> Schedule processes.
<Xogium> the other day I had to explain to someone who was very curious that no, you can't have a shell and OS and all of that running if you don't have a kernel
<jn> oh, btw, when we talk about "the kernel" here, we mostly mean a specific kernel, the Linux kernel
<Xogium> but that was a fun talk
<jn> Guest88: processes are scheduled all the time, you don't need to think about it, just like you don't need to think about the blood that's pumped through your body by your heart
<jn> Xogium: i slightly disagree, you can very well have *a* shell, just not a fully featured unixiod shell, without a scheduler
<Guest88> Prosthetic arm for example. Input and output sensors at different pressures. How would a kernel handle the on and off sequence, hardware input, output. And other minutia of processes?
<jn> to avoid confusion right away, please say prothetic leg
<Xogium> there's only one thing I don't like much in linux, the way it can kill misbehaving kernel modules and simultaneously shoot itself in the foot doing so. Then again I suppose you just shouldn't use misbehaving drivers...
<jn> confusion between arm (body part) and ARM (CPU architecture)
<Guest88> Lmao I see...
<Xogium> rofl nice one
<Xogium> awesome confusion
<Guest88> It was coll that you caught that.
<Guest88> /Cool
<Xogium> when I saw the message about replacement limbs I was like, huh ? And then it clicked hehehehe
<Xogium> but jn was faster
<Xogium> I blame it on my not yet fully awake brain
<jn> anyway, i haven't worked with the internal details of a prosthetic leg that works with a bunch of sensors, you'd have a control loop in the main application. it would poll the sensors, calculate some things, and perhaps drive the actuators depending on the calculated values
<jn> this loop would probably run a fixed rate (for example, 100 iterations per second)
<Guest88> Lol, I'm trying to sleep but I been trying to wrap my head around this kernel concept.
<jn> when one iteration is done, the application would tell the kernel: please wake me up in 3.2 milliseconds, or whatever
<jn> a prosthetic leg is so far removed from a general-purpose computer that it could do very well without many of the features that are present in the linux kernel
<jn> you don't need a filesystem, a network stack, or even necessarily multiple processes there
<Xogium> indeed
<Xogium> rtos ? Maybe
<Xogium> or even bare metal
<jn> yeah, it seems like a classic case for a lightweight real-time operating system (RTOS)
<Xogium> aka no kernel and just running a little program that controls the whole thing
<jn> (which arguably also has a kernel, but a smaller one)
<Guest88> RTOS like arduinos?
<Xogium> hmm do arduino have rtos ? Good question. I think those run only tiny programs
<jn> Guest88: when you run an application on an arduino, it's usually the bare-metal case as Xogium described
<jn> without an RTOS
<Xogium> they would be too tiny to have a full OS, however small in them
<jn> you *could* put a tiny OS on there, but it adds complexity and arduinos are designed for beginners
<Xogium> yep
<Xogium> there's that too
<Xogium> jn: speaking of rtos and such, I'm trying to make an hardware synth and porting espeak-ng to stm32 :) this would talk over serial to speakup
<Guest88> So you're talking more about RPI's then. Which is what I'm trying to work with. But not exactly on prosthetics, more of a control center for a few turbines and a phletora of sensors that would control other equipment.
<jn> Xogium: fun project! does espeak have a voice that sounds a little better, by now?
<Xogium> jn: depends... Its got lots of variants to choose from, but its never going to sound human, due to how it is built
<jn> Guest88: what i mentioned about a control loop applies in general
<jn> Xogium: ah, i guess you have to get used to espeak's idiosyncracies then :)
<Xogium> but the thing is I'm sometimes having issues where my linux audio just goes on vacation so to speak, and I get stuck. Sometimes its a kernel update, sometimes its a pulseaudio update, and sometimes it can be alsa-lib. I need to get something I can count on to be still working after this has gone to hell
<jn> makes sense
<Xogium> so that sparked the idea of making a modern hardware tts and that snowballed from there
<Guest88> Got ya.
<Guest88> Thanks.
<Xogium> Guest88: no prob :D
<Xogium> so I discovered there is in fact, next to no usable tts on microcontrollers
<Xogium> and it seems like noone ever attempted to port espeak, which should be easily doable. Considering it is a direct decendent of a program that was written long ago in the 80's
<Xogium> but the task is a lot more complex than we thought it would be
<Xogium> like the fact that phoneme generation is done on the fly from some files that take ~1 MB of ram
<jn> Guest88: one term to perhaps research while designing your turbine control thing: SCADA
<Guest88> SCADA? Heard mention of it. But I must Google it.
<Xogium> jn: also trying to render speakup/espeakup software bridge multi-user capable
<Xogium> currently it can only be made to work with a single user, which is root by default, or you could have some acl added by systemd for your user kind of thing, but that still doesn't give multi-user support. So idea is to have a sort of espeakup launcher daemon that will control every user instance of espeakup and handle the talk between the espeakups and speakup. That way, this runs as root but doesn't
<Xogium> prevent you from having your own instance of espeakup for your user
<Xogium> that would also solve the whole mess with having to run espeakup as root for it to access the kernel module, which means your user can't hear it unless you hack away at pulseaudio
nsaenz has quit [Quit: Leaving]
Guest88 is now known as M0j0J0J0
M0j0J0J0 is now known as M0J0J0J0
M0J0J0J0 has quit [Quit: Ping timeout (120 seconds)]
Guest88 has joined #armlinux
Guest88 has quit [Client Quit]
M0J0J0J0 has joined #armlinux
M0J0J0J0 has quit [Client Quit]
M0J0J0J0 has joined #armlinux
M0J0J0J0 has quit [Client Quit]
M0J0J0J0 has joined #armlinux
M0J0J0J0 has quit [Client Quit]
M0J0J0J0 has joined #armlinux
headless has quit [Quit: Konversation terminated!]
M0J0J0J0 has quit [Quit: Client closed]
M0J0J0J0 has joined #armlinux
M0J0J0J0 has quit [Client Quit]
M0J0J0J0 has joined #armlinux
M0J0J0J0 has quit [Ping timeout: 252 seconds]
hanetzer has joined #armlinux
plappermaul has quit [Quit: Client closed]
headless has joined #armlinux
macromorgan has quit [Ping timeout: 268 seconds]
nsaenz has joined #armlinux
apritzel has quit [Ping timeout: 265 seconds]
macromorgan has joined #armlinux
headless has quit [Quit: Konversation terminated!]
apritzel has joined #armlinux
plappermaul has joined #armlinux
apritzel has quit [Ping timeout: 252 seconds]
heat has joined #armlinux
headless has joined #armlinux
headless has quit [Ping timeout: 268 seconds]
chipxxx has joined #armlinux
chip_x has joined #armlinux
plappermaul has quit [Quit: Client closed]
chipxxx has quit [Ping timeout: 252 seconds]
snalty has quit [Read error: Connection reset by peer]
snalty has joined #armlinux
nsaenz has quit [Quit: Leaving]
apritzel has joined #armlinux
prabhakarlad has joined #armlinux
prabhakarlad has quit [Client Quit]
prabhakarlad has joined #armlinux