Episode: 3588 Title: HPR3588: Linux Inlaws S01E55: Get yer boots on for a fresh look at init systems Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3588/hpr3588.mp3 Transcribed: 2025-10-25 01:50:55 --- This is Hacker Public Radio Episode 3,588 for Wednesday the 4th of May 2022. Today's show is entitled, Lanusa Law's Side. Get your boots on for a fresh look at in its systems. It is part of the series Linux and laws. It is hosted by Monochromic, and is about 46 minutes long. It carries an explicit flag. The summary is, Martin and Chris discuss what happens when you turn on a computer preferably running Linux. This is Linux It laws, a podcast on topics around free and open source software, any associated contraband, communism, the revolution in general, and whatever else, fans is critical. Please note that this and other episodes may contain strong language, offensive humor, and other certainly not politically correct language. You have been warned. So our parents insisted on this disclaimer. Happy Mom? That's the content is not suitable for consumption in the workplace, especially when played back on a speaker in an open plan office or similar environments. Any miners under the age of 35, or any pets including fluffy little killer bunnies, your trusted guide dog, unless on speed, and Qt-rexes or other associated dinosaurs. This is something called Linux It laws, season one, episode 670,000, 528. On a much more serious note, this is in laws, season one, episode 55. Oh, you know, no, no, no, no, yes, we do, we do, we do, we do. How are things today? Oh, yeah, good question. It depends whether we go into the, the big issue or not, but apart from that, everything is fine. Big issue being in its systems, of course. As in today's topic. No, no, no, no, they're not, they're not the big issue, they're, they're straightforward, as you know. This is what Martin Pigs, yes, it does Martin, do enlighten me about the big issue. Big issue? Oh, well, a friend in the East is not so friendly anymore. He's no longer a friend. You mean China? You mean Trump? Oh, from it. Well, I don't think Trump's in West, really. Well, you see, it depends on your perspective. If you just go, he's far enough East, you will meet him kind of on the other side. Yes, very true, very true. Okay. So what, what East are you exactly referring to? Well, you're East, but then stop by the, stop by the sea. Have a sea. Hmm. Ocean. Well, we'll see the ocean. Yeah. That makes it the Bearing Street. As in the divide between the US or sorry, Alaska and China. Among all the, one of it is other geographies failing me. Martin is usually, I'm lost. Okay. Oh, I guess you hadn't noticed there's been a invasion of Ukraine. Ah. The war. Well, it's been time you look at it. Some people don't call it war, apparently. Yes. We are recording this on September 27th, 2025, apparently. The war, the war that Martin is referring to, started in February of 2022. And apparently still going on. What? Nobody has sussed yet. And I'm joking. Yes. I do. Of course, I'm joking with the recording date. Actually, as a matter of fact, recording this kind of mid April, mid March, almost anyway. What nobody has to use us is to keep the Kremlin at bay, especially the Falcons, NATO or NATO, sorry, what the pronunciation, NATO has just extent, has to extend. The membership offer to Russia, because at that, if they accept, and if Mr Putin would put aside his, what's the word I'm looking for, reservations for one of better expression, we would all be friends and there's no need to attack friendly neighboring states. So Vladimir, if you're listening, shut down the arms, get the troops of the Ukraine, the Linux in loss, will maybe get in touch with Brussels and maybe work something out with the guards to including you in NATO. And then it's all said and done. There is no point in further in further in further killings, never mind putting innocent lives at risk. So Vladimir, think about it. And if Brussels. The Kremlin is in loss. Yeah. Exactly. Exactly. The email. Feedback. They lose in loss. And if Brussels finally extend that offer, just do it, just accept it. Russia will be a better place. No more wars. And we finally can live in peace for a change. And don't worry about Donald Trump, we'll sort him out as the US goes along. But this is not the political or global crisis podcasts, but rather Linux in loss about today's subject, which is Martin. In its system, somebody. In its system, yes, before we start on that, you haven't told me how you are. Well, I'm fine, I'm on my second bottle, the first bottle of beer. That's a hero. It's a quiet night. It's a lonely run, a lonely run. Oh, no. Exactly. Yes. No, things are done here in, what's the, what's the one I'm looking for, Kiev or whatever I would, it's not Kiev, no, no, we're going to edit this out. No, it's actually Frankfurt, Germany. So the Russians have haven't approached yet, because we still have a few boarding countries in between. So go buffer zones. Yes. Yes. Yes. Yes. Yes. Indeed. And this is it. Vladimir, if you're listening, just think ahead. And I don't know how many people are at risk if NATO would go out for a bit, pull the nuclear option because that would do that would just result in amigurten. And Vladimir, this is not something you want to do. If history is everything to go by and history does repeat itself, just don't do it. In case Mr. Putin is listening, I do not know. But back to it in its systems. Back to it in its systems, indeed. Yes. So what do you know about it in its systems? Well, every, the next system has one. I'm tempted to say that every computer has its next one. Well, yes, that's true. Yes, yes, very nice. So it's just we are the next podcast we're talking about it. Do we know? But this wouldn't be inclusive now, would it? No, we don't. Exactly, Mark. Yeah. Yeah. OK, before we go into the difficulty details of system D, OpenRC, system B, and all the rest of it, maybe we should take a look at the big picture and see what happens, actually, if you turn on the power on a device called normally known as a computer. Any thoughts? Well, there's various things to happen. Can't do it lighten as what the technical details. There are hardware bits and pieces, there are many bits inside your computer. OK, we only have about two hours left for this episode. So why don't I basically give the cover of 20,000 mile overview of what happens, actually, if you turn on the power on a device called the next time, it's 20,000 miles. I don't have a small spec, otherwise. So it's computer normally has something called a CPU unit and some storage devices known as in the old days, e-proms, proms, as an arraysable program, read only memory, program or read only memory and all the rest of it. Now we know it is probably part of the system system on the chip configuration, known as an SOC and consisting of flash memory, for example. So essentially what happens, if you turn on power, the CPU doesn't reset, puts itself into the front state and starts to execute executions normally at a pretty far address. Hasn't changed within the last 50 years, I mean, going back to the mainframe, you could actually configure this address before the IPL, before I'm back to the mainframe now, as in the initial program load, same goes for the, what's called, as there 88, zero something, zero there, as in the first 88 as an Intel 88 base micro computer, but in a nutshell, the CPU starts to read instruction from a predefined address in the early home computer that was just ROM, as in you put something onto a screen like a prompt and then you let the user check out for us. But with the advent of things like an IBM PC and friends, this procedure became just more complicated. Going back in history about 50 years, it makes actually 40 years, as in I'm specifically referring to an IBM PC type thing, the CPU, the power up the machine, the CPU starts to read some instructions, this basically would mean a jump to something called the basic input output system, also known as BIOS. And then that BIOS would do some initial hardware initialization, like clicking on the screen, initializing controllers and all the rest of it. And then would see what devices are there in terms of do we have a heart test, do we have floppy disk, and then try to load an initial bootloader from set device that hasn't really changed. Over time, the BIOS became replaced with something called a UEFI, as in universal, extensible firmware interface, which is still essentially a BIOS, but it's capable of much more complicated things, like booting a trusted operating system, signed with keys and all the rest of it. So essentially, UEFI BIOS also contains parts of a PCR or a public infrastructure. The bottom line is that the original boot process hasn't changed, hasn't really changed that much. Essentially, you take a look at the at the storage devices, you take a look at what's out there, you load a portion of that device into memory and then transfer control to it. So in terms of Linux, more often than not these days, that means some sort of grab, grab setting for a modern question, GNOME interface or something, no it's not, interesting. What is actually the name sketch me too, it's GNOME, maybe the details might be in the show notes. Yes, bootloaders, and I can even bootload them. Yes. Vicky Peter to the rescue, to the rescue, the GNOME grand, unified bootloader, what's the name of this grab? So the way the grab works, essentially, in NBR-based systems, as in the traditional PC, RBMPC type system, systems would take a look at the, at the master's units and would try to load even NBR or GPT partition of the disk and then in GPT or NBR-based systems, the BIOS would take a look at the first hearted sector in GPT system, it's like different, same goes for U of EI, but in that case you're looking at a whole partition rather than the sector. Anyway, doesn't matter, the way it works is, and it hasn't really changed, you get some sort of initial bootloader into main memory, you execute that bootloader and that bootloader then would take care of loading the kernel into into main memory and then executing an NBR system. With grab, as in the GNOME grand, unified bootloader, this bootloader is already capable of understanding for example file systems, like X3, like X4, like FAT file systems, so it's able to understand this file system structure and at least is able to load a kernel and init RD, like a RAM disk and depending on the distro that is booting, also a configuration file. With, armed with this essentially, it's able to load a kernel, provide the kernel with an initial image for one of a better wallet, normally basically just contains some redundant or rather rudimentary user land, which is just there in basic terms to get the system up and running, kernel executes that user land, initially user land, and then at some stage the kernel pivots into the real user land, which essentially does a start on disk. For this it needs a so called init system, as we are talking about or as we are sticking to it to the little's case, of course there are multiple init systems out there, ranging from the original RSC init system, right over to system V init, system D, open RSC and the whole lot, which naturally brings us back to the whole system D debate. So Martin, the number of clues has come, what can you tell us about upstart? Let's say defund, it's a replacement demon starting, it starts to process asyncrasy, it's in the memory, yes, very good, but maybe we should start from a historical perspective at the very beginning. In the olden days, and we're talking about 1970, there was something called the init system V, system V, yes, as a Unix system 5, hence the name system V init, maybe now it's time to shed some light on run levels, run levels essentially describe the state of an option of a Unix based operating system, like you have a single user state where you do not have any demons up and running, no services have been created yet, a single user about normally consists of just a shell, a root shell to be precise, where the user, certainly from a terminal has anything, has any rights that he or she needs to do system administration tasks, much more importantly, there are no other users on the system at that given stage. In contrast to this, another round of a multi user, in that case, most of the demons would have started, typically you would have the line print, the line print system up and running, you would have terminal services, listen on serial devices or network interfaces, accepting SSH based connections and all the rest of it, or simply TDY process in terms of serial communication, and the other remaining tasks. In the 80s slash 90s, that run level system was complemented with, I think it's called GUI stage or something like this, these tests, maybe in the show notes, where actually on the main console you would have a windowing system up and running, in the 90s more often they're not something like X windows, keys, this is grand part, I am sorry, because these tests, this would be more like wailing and friends, not necessarily X windows, because as we all know, X has almost formed by the wayside to be replaced with wailing stuff, because it's funny enough, not that many people use a network windowing system anymore these days. Anyway, so run levels, a couple of advantages, but also had disadvantages, going back to the original system V in it, system design, in terms of, so for example, services tended to depend on other services, i.e. it doesn't make much sense to start the TTY process before the networking layer was up and running, because without network connection you simply cannot connect unless you're talking about serial consoles, you cannot connect to a computer. You may explain what a serial console is, but... A serial console, yes, it's not finished in the olden days, for the hipsters most... Exactly, in the olden days you would use acoustic couplers or other modems to connect to a computer using a technology called RS232, otherwise known as V24, as in a serial connection that would shove off the bits to the target system in the serial fashion, typically achieving lightning speeds like 300 bits per second, and yes, you're talking 80s. Things... I wonder how many people know what a modem is in the less than 30 years. Well, you say if you use ADSL or some other DSL based technology, yes, essentially you're still using the modem, but you're talking about loud speeds up to, if the reason vectoring DSL up to 200 megabits a second, maybe even more depending on your kit. So this has come a long way from 300 bits per second give or take, but going back to the internet system. So, well, essentially, it's back then there weren't any cut videos, so you didn't need it, right? Yes, that's a requirement for me to read, yes, that's a thing. But with this simple system V and it's, especially with regards to the dependencies, things became very complex, very clunky very quickly, because essentially what you had to do, you had to hard-code these dependencies in your init files. But some V in it, that wouldn't mean you have to define a miracle order in which the associated choice, because that's essentially what this thing V is, V in it, would be executed. Never mind timing issues. So, depending on the service at hand, you have to fill around with sleep statements on all the rest of it, ensuring that a service, which is depending on another service or which was depending on another service, didn't start up before the other service was finished. Yeah, not great. Well, it took a long time to be, well, not to be initialized. Yes, and it didn't help with the booting times, exactly. The sweet thing is, basically, that in contrast to other operating systems, you do not reboot Linux systems regularly, whereas in contrast, other operating systems have apparently to be rebooted regularly in order to avoid memory issues and stuff. I'm not naming any names, but a distinguished colleague of mine, we just had a chat about a month ago. Pardon me out of the fact that his Debian-based system had an uptime of about four years. He seemed to be pretty chuffed with it or wasn't, because taking a look at Mazoo, the longest uptime, and the uptime essentially is the period of time where a Linux-based system has been up and running since its last reboot. The longest uptime in Mazoo, and that's a ARM-based system running alarm soon to be decommissioned by the way, because it's 30-bit, has an uptime of about six years. So, I'm still running an engine kernel on it. I think 3.0 something for my resource, correct? Needless to say, I do update the user and quite frequently, but at the end of the day, that machine hasn't rebooted for that amount of time, which goes to say, of course, that Linux is a rock solid system, especially although even let's put it this way, even if you're using a hipster operating system like this distribution called Arch. Anyway, but I'm digressing. So, quite a few people identified the shortcomings of system V in it and came up with alternative solutions. One of the more prominent ones probably was canonical in the mid teens when they came up with an in-system called upstart, details, maybe in the show notes if I can dig them up. That essentially modeled dependencies and other interesting things in a very intuitive way, let's put it this way. But at that stage, a guy called Leonard Pettering and Kai Zivas had already also taken a look at this issue and had come up with something called system D. Now, of course, these have been to show us again, system D, and if history says anything to go by has taken the upper hand in terms of this sort of the rest of it. So canonical, I think, give up on upstart about six years ago, back in 2016, 2017, some others, details will be in the show notes when actually canonical switched from upstart to something called system D, which at that stage, quite a few distributions had already adopted the ones like Arch. Fedora, probably, maybe it was prominent example, because funny that Kai and Leonard work for a company called Botan. Attabts, perhaps. Indeed, this is why your Hello subscription does pay off. Very much so, yes. The Hello Magazine would feature some other source. Botan, you're not saying you pay for the brotherly thing, but never read it? Are you serious? Well, what do you think? You heard it here first. You haven't had an subscription, but doesn't read the bloody thing. That's impressive. What does your wife say to this? Actually, I could be wrong. I could be wrong. It could be full of liver buttering and dimmestor welds and all those people I haven't actually, but it does seem somewhat unlikely. Sorry, sorry. It's a very good fit of reading for you, right? I'm just wondering, I mean, what happens? The postal service in the US, also known as the Post Office, delivers set Hello Magazine to your doorstep. Sorry, sorry, sorry, the UK Posting Service, I made a mistake, of course. The UK Posting Service delivers it to your doorstep. So it's on your doorstep, it's in your mailbox. What happens then? The wife picks it up, reads it and then puts it onto the coffee table. The kids go through it and then what? I don't know, why don't you ask someone? Unfortunately, they're not. We don't have it in our household. I'll let you know if I find someone who actually reads the thing or has a subscription, let's put it down. Martin, I'm sorry, disappointed because if you have a Hello subscription, you should read it, because in that case, you would know about these things, like it's Lannaportering, all the rest of them, right? Yeah. There you go. Anyway, but I'm digressing. Yeah, just a bit. Anyway, so over time, System D has essentially evolved from me and in System too much, much, much, much more. And this is where the fun starts. So Martin, it defines on you. What's your perspective on System D? Well, it works. Yes. What else? Interesting. Don't tend to do a great deal with it. There's some sometimes you need to add something to it, but like Tanners and services. Yeah, like, like certificate renewals. Yes, Martin, it's a different unit indeed. Okay, full desktop era. I wouldn't say I may convert it for a little fashion, but let's take a look at how System D has evolved. It started off as an instance as an init system. Over time, much, much more was added to System D. It now does time zone controlling. It now has. Yes. What do you mean time zone controlling? It's called time sync CTL. Okay, so there's no longer an external demon or a demon. No, it can interface to an intp service. It can interface. So you don't need an intp demon. No. What do you do? But maybe not on that machine, unless you can get the network time protocol from a different server, but it's quite capable of controlling the time itself. There's also some rudimentary DNS result functionality built into it. And it also has a rudimentary container system, both machine D, if not just correct. So it has progressed quite beyond a simple init system. And some people, and what's falling now, full disclosure, is my very own personal opinion. You may disagree. Please do send hate mail to feed back a little's in the study you and clearly put Martin in the subject line. It's the important bit. Yeah, I'm joking. I can relate. Martin has a corresponding truck mail filter on his account. So no worries. Anyway, no, I'm up jokes aside. And some people take offense and are implying that this zoo of functionality born for one of our project expressions. How is this pure Spanish sense? Exactly. The purest amongst ourselves are that this functionality is against the original unique philosophy. Now Martin, of course, the back's question, what is the original unique philosophy? For the two people under the age of 50, listen to this podcast. That's a good question. Well, I suppose if I were to think of the top my head, I would say that every piece has its function. Yes. I don't know if that's what it is, but that has even got to spot on. Yes, that kind of feeling about it, right? Back in the 70s, when 80s had down to device, something called the successor of Multics, known as Unix these days, Pike, Kerdingham, Thompson, and the original event has came up with this philosophy of essentially toolbox where the operating system on top of running on top of the kernel, especially the user land, what consists of 20,000 plus tools, I'm exaggerating, like quite a comprehensive number of little programs that would work in concert to achieve goal. Hence this notion, for example, pipes, hence this notion of process substitutions found in most of the shelves, like you would combine these little tools in order to get the job done. Yes, and this is now in my personal opinion where the misconception sets in. The system D is still that collection of tools. It's just the packaging apparently that many people take offense to in terms of they perceive this init system and it's corresponding functionality because these days it's much more like just an init system to be a threat to the overall original Unix philosophy, like you have a collection of tools and they work in concert and tell them to achieve one thing. System D at the very core and of course this is a matter of philosophy, debate and rename it hasn't really changed that philosophy because if you take a close look at system D, you have the init system, you have the resolver, you have anti-p-like functionality and all the rest of it, but at the end of the day, okay, yes, they are packaged into more or less one code base, but at the end of the day, the separation of concern still applies. So I'm not really sure that I get the revolutionists like the deaf ones of the world, for those people who run devian, the deaf one is a spin-to-group hate mails to feedback at Linux Indos that are you. The deaf one is essentially a different system without system D integrated. So I think to the best of my knowledge, they still rely on system V in it, if I remember correctly. Of course, people don't get me wrong, this is still an open source software, so of course you can do whatever the heck you want to do because the source code is available to just go for it. If you want to do some OpenC-based Debian with some strange sort of an assistant, but let me just go ahead, fork the user land, get rid of system D, slot in your own functional agent off you go. As usual, everything. Go ahead, Martin. No, no, it can't finish for you. As usual, evolution will decide on what's vital or not. So what about Slackware? We are looking at 2022, before the year is over, we have an episode on Slackware. We will? Yes, we will. Eric, Patrick, if you're listening, I sent you numerous emails. I finally have a reply to any of the smart recollections. We are working on replacements and Patrick, if you want to get the show, you want to make this quick because we have already waiting lists of Slack users booting up to be on the show. I'm just saying. Indeed, indeed. Okay, let's not talk about Slackware right now. Let me please come in on the show. You saw, but you had a question on this. Well, it's, it's, yeah, so it's one of the few image distors that's still using in it. Well, that one will be the next. Yeah, yeah, this is. There might be more open up open WRT is using something is using something called open RC from, if not research correct, sorry, of course, open WRT being one of the major embedded limits distributions for the likes of modems and so forth. And of course, the BSDs of the world, which of course, not Linux goes without saying. Haven't gotten around to this to be yet, but as far as I know, three BSDs and at these open BSDs still use system B and ads. If I'm wrong, please send mail to feedback and links in the sort of but at the end, I thought they were doing something. No, Debian is using system has been using system B for the has been using system D, sorry, for the last five years, six years. Okay. The methods which mid last decade, I think, if my research correct. There were, there weren't the, the foreigners, but eventually they adopted this because everybody, well, everybody else was like the rails, the figures of the world, the arches of the world, and you name them. And you name them. I think they came after Ubuntu, but I might be wrong with the rest of time, with the rest of timing. Okay. So any final thoughts on any systems? Well, final thoughts. I mean, what about the, so, so you're a reasonable mentioning stack was that, well, we can do it in the episode, but they had some, or it's the main stack where I found there had some issues with system D as well, right? But Patrick, yes. He's known to be a rabble, yes. Yeah, so that was, but I think as you say, most of the districts have adopted it now, so. Well, that's one slack where, and the, just sort of that shall go on name still stands out, but that's about it. The rest would have adopted system D by now. And there for one people, if you disagree with the following statement, please do get in touch with, with us at hate mail, which is the first, if forward feedback, I'm joking, but if start anything to go by, death warden has, has yet to master the adoption curve of because they're not quite there yet. So, actually, you're running arm on your arm would be CPU architecture. Yes, as a hardware, yes. Yes, I'm using arm, yes, with which you're listening? I'm Google, if you're listening, the email address is sponsored. Some of the, I reckon about half of my own course do run something called Android or some sort of spin of the, of the AOSP, like the Android open source project. And the other ones would run either allow arm as an arch links on arm or some sort of debian spin. Okay, both of which of course come with system D, because debian would be native debian for arm 32. Okay, let's say I'm quite good to know, and so it is portable to many other, or portable, it's not hardware dependent, which makes entry. System D. No, system D just requires a lens kernel. Yeah, it can run a lens kernel, it can run on, it can run on any lens kernel after 219 something, because well, at least it goes for system D versions that are about 2 to 3 years old, all it would require from the kernel are control groups and namespaces. Because essentially this is what you use, or this is what you need for some sort of ordinary, elementary container control, and things like private temporary directory, private proc, directory and some other features that system D exhibits, especially if you are talking about system D services that have to run in isolate contact. Because one of the features, again, in comparison to system V in it, is that you can isolate a system D service pretty much to the extent that it's almost comparable to container. System D, what the system D, the thing that system D brings to the table with regards to isolation of, for example, a service, bordering on something that a container raised to the table in terms of, you can isolate to the extent that it has its own temporary file system, it has its own set of capabilities of the rest of it, meaning that it's almost running in its own container, and that's exactly why you need something called control groups and namespaces. These concepts have been in the kernel since I think 2935 or some others, each has nothing to show notes. Very good. Now, before we lose the revenue to listeners, I hope you still awake. This is the important thing. Feedback? It depends whether you're using us to get feedback. As usual, it goes to complaints at redhat.com. I'm joking, people. Of course, the feedback goes to feedback. I don't even say those, but are you? What else is there to say? Of course, credits have to go to Hacker Public Radio for hosting us. Can you for listening? Thank you. Go remind him, are good, and thank you, L. I think that captures the real languages that can, that can, can speak. How about German? Can you speak, can, if you, if you can, I'm ginger, I don't know. And of course, let me do a thing about this proposal. And please, if you do give me, give the Linux in-laws credit for this, just in case. This is the Linux in-laws. You come for the knowledge. But stay for the madness. Thank you for listening. This podcast is licensed under the latest version of the creative commons license type attribution chair like credits for the entry music go to blue zeroesters for the songs of the market to twin flames for their piece called the flow used for the second intros. And finally, to the lesser ground for the songs we just use by the dark side. You find these and other details licensed under cc hmando. A website dedicated to liberate the music industry from choking copyright legislation and other crap concepts. What's interesting is that the, the thing is quicker as well, the echo nonsense. Yes, that's what I noticed. The locks will probably tell you why this is. That sounds like too much effort. One day, and not really, this is this is the important bit. One day, we will come to the conclusion that a proper system administrator learning curve is not the worst thing that could happen. As a really deep down. It's not so much about the system and the administrator. This is just about having the time to sort out all this stuff. This is otherwise known as a lame excuse. Nevermind focus and priorities. Yeah. You get my drift. I rest my case. Feel free. Who uses PSD? I do on a daily basis. I thought you used arch. It's really what's macOS at its very core. It's a freeBSD user running on top. It's next to us or whatever it's called. Martin, I think you still have to do some reading up on things. The line macOS. No, I mean, I do. It you do too, apparently. And you do too. You use macOS? I'm afraid so, yes. Yeah, you use the freeBSD essentially. Because that's what Darwin is. Darwin is a combination of a freeBSD personality running on top of a map of a heavily modified micro channel called XNU or something like this. You have been listening to Hacker Public Radio at HackerPublicRadio.org. Today's show was contributed by a HBR listener like yourself. If you ever thought of recording a podcast, you click on our contribute link to find out how easy it leads. Hosting for HBR has been kindly provided by an honesthost.com, the internet archive, and our syncs.net. On this otherwise stated, today's show is released under Creative Commons Attribution 4.0 International License.