I am the maintainer of the Epoch Init System, a single threaded Linux init system with non-intrusiveness in mind, and I'm preparing to release 2.0. It's mostly a code cleanup release, but while I'm at it, I thought I'd ask the Soylent community what features they'd like to see. I'm open to all good ideas, but I'm wary of feature creep, so as a result, I won't consider the following:
* multithreaded/parallel services, because that goes against design goals of simplicity and harms customizability
* mounting support or networking support; it's an init system, use busybox if you need a mount command.
So what do soylentils want to see in the next release of the Epoch Init System?
(Score: 2) by Arik on Sunday November 23 2014, @03:58AM
I am honestly mystified by your sentiment. How often do you reboot? Why?
"I sure don't want something like the system refusing to bring up the UI because it's waiting for a DHCP server to get around to assigning an IP address."
That sounds like some stupid software, have you tracked down exactly which upstream needs a cluebat?
If laughter is the best medicine, who are the best doctors?
(Score: 2, Redundant) by bzipitidoo on Sunday November 23 2014, @04:38AM
Frequent reboots are needed in many scenarios. Your laptop battery died. You power up and down frequently to conserve battery power. I like to shut down systems for the night, to save on my energy bill. Power outages may occur, and most people don't use a UPS. Your system can lock up. A buggy hardware driver or device can do that, thanks in part to the monolithic design of the Linux kernel. Or you could have flaky hardware that's going bad. Sometimes I work on the system, and need to reboot to check that some initialization scripts I created are working as I intended. Or I've installed a custom kernel. Or the system has done an update that requires a reboot.
While we don't have problems with the networking scenario I gave, I wish the CUPS people had gotten a few clues sooner. Try printing when you've forgotten to turn the printer on. Frequently, I've had CUPS get stuck. Turn the printer on after trying to print, and nothing happens. No printing, no feedback to the user. The print job sits in the queue, and CUPS won't detect that the printer is now on and ready. If the user tries printing again, it only makes it worse. Rebooting the computer at that point can result in some surprising and unwanted behavior. When CUPS comes back up, it detects the printer, and that there are now several jobs in the print queue, and sends them all out. A partial solution is to configure CUPS to discard jobs when it can't print them, rather than let them sit in the queue forever, and I think discard is now the default configuration. As for detecting the printer, what is the user to do? A user that doesn't have the knowledge or privileges needed to restart CUPS has little choice but to try a reboot.
USB is still messy, and potentially another reason to reboot. The weirdest part is the way the Linux system may increment the IDs it assigns. Plug in and remove the same flash drive repeatedly, and it may be /dev/sdb the 1st time, /dev/sdc the 2nd time, /dev/sdd the 3rd time, and so on. The system doesn't always do that, but I've seen that behavior on numerous occasions. /dev/sdb is somehow not available ever to be used again, until the system is rebooted.
(Score: 2) by CRCulver on Sunday November 23 2014, @08:33AM
Even if the /dev/sdX number is changing, the UUID of the USB device remains the same every time it is plugged in. For years now, fstab has allowed one to specify devices by UUID, not the /dev/ device, e.g. UUID=41c22818-fbad-4da6-8196-c816df0b7aa8 /disk2p2 ext3 defaults,errors=remount-ro 0 And in your shell scripts, it's easy to grab the UUIDs of the devices attached to your computer and do something with the corresponding device.
(Score: 0) by Anonymous Coward on Sunday November 23 2014, @09:05AM
It is a bit boring to hunt for the partition's UUID, and too hard for most users.. but funnily you can use "gnome disk utility" to deal with that crap for you (even if you're not running Gnome 3).
(Score: 2) by Arik on Sunday November 23 2014, @01:48PM
Let us list them.
"Your laptop battery died. "
Suspend to disk.
"You power up and down frequently to conserve battery power. "
Suspend to disk.
"I like to shut down systems for the night, to save on my energy bill. "
Suspend to disk.
"Power outages may occur, and most people don't use a UPS. "
Ok, here's the first one that belongs on the list. Power outages with no UPS. And that's really not good for your hardware no matter how fast you reboot. It's not that I hate people that have bad power - fact is, my power fails way more often than I would like too. But I can spare a few extra seconds in that case to make sure things are actually working after the reboot, and feel it's more appropriate to address this by eventually getting a UPS when I can afford it, rather than re-architecting the entire OS to make it slightly less annoying.
"Your system can lock up. "
Been using linux since 1991 and never yet seen it 'just lock up.'
"A buggy hardware driver or device can do that, thanks in part to the monolithic design of the Linux kernel. Or you could have flaky hardware that's going bad."
Sure, failing hardware can cause it to lock. That's a clue. You need to replace some hardware, not reboot faster. Curious as to when a proper driver has done that - it's possible but rare. And again you want to fix the problem, shaving a few seconds off the boot time doesnt do a whole lot for the underlying problem here.
"Sometimes I work on the system, and need to reboot to check that some initialization scripts I created are working as I intended. "
Alright, reason to reboot number two - I am testing my init system.
I can see why someone who develops an init system would always want it to be faster, right there. But I still dont think for me personally, or for most users, it matters much.
"Or I've installed a custom kernel. Or the system has done an update that requires a reboot."
Right. "System has done an update" is Windows speak with no clear meaning to me in this context, but installing a new kernel does require a reboot.
So there, we have 3 reasons that stood up to cursory scrutiny. How common are they?
Legitimate reasons to reboot your linux box;
1. Power went out and I havent got a UPS yet.
2. Testing changes to init system, need to see it run.
3. Testing changes to kernel/installing new kernel.
If laughter is the best medicine, who are the best doctors?
(Score: 2) by Foobar Bazbot on Sunday November 23 2014, @06:40PM
Look, suspend to disk is a good answer for most cases, but not all cases. My example may not be typical, but it is real:
I have an Eee 900A with a 4GB non-upgradeable SSD, and 2GB of RAM. The 4GB SSD is over half full. A 32GB SD card is more-or-less permanently present, and is mounted under my $HOME for storing large files/trees, but I don't want swap on that; as a removable device, it's restricted to uses that won't crash the system if it's suddenly ejected.
So what disk shall I suspend to?
This system also has truly pathetic battery life, so saving power is important -- it's not practical to leave it on or suspended to RAM when on battery.
Most of my computers are nothing like that, but one is -- and I bet a lot of other people have one or two systems with similar constraints that make suspend to disk impractical. Those systems do need to reboot more often than most systems, so they do present a legitimate reason to optimize boot time. Fortunately, not every system needs to run the same init, much less have it configured the same way, so there's a good argument for having parallelized boot as an option.
(Score: 2) by Arik on Sunday November 23 2014, @07:03PM
BTW it's a great piece of hardware but the bundled linux distro was so bad it looked like MS set it up.
If laughter is the best medicine, who are the best doctors?
(Score: 2) by Foobar Bazbot on Monday November 24 2014, @01:32AM
Note that I upgraded the RAM to 2GB (AFAIK it was never sold with more than 1GB), and AIUI suspend to disk in linux requires swap space equal to physical RAM*. And while I could probably have scrounged up the self-discipline to live with a 2GB root, 2GB swap scheme, I actually had a dual-boot with both Slackware and Arch. (Eventually, I replaced Slackware with Haiku, then finally blew away that partition for more space on Arch, so at this point scaling back to 2+2 is technically feasible, but it's a lot easier to keep a system small than to shrink it once I've got a ton of stuff installed...)
*If you are actually suspending 2GB of RAM to 1GB of swap (using compression, I guess?), I'd really appreciate more info.
(Score: 2) by Arik on Monday November 24 2014, @01:48AM
Other than that all I can say is you are pushing hard to do more than the hardware is really equipped to do. That's not always a bad thing, but I dont think the OS should be radically redesigned just for that use case. If you want it to work well, I'd heartily recommend the 2/2 partition though, because suspend to disk is really THE killer OS feature on that machine for me. It's very quick to suspend and to restart, and the battery loves it.
If laughter is the best medicine, who are the best doctors?
(Score: 0) by Anonymous Coward on Monday November 24 2014, @03:36AM
So you can see that adding storage requirements isn't always good? Especially when it is tied to RAM size. What if you have a device with a lot of RAM and little/no writable storage. What if the RAM is cheap and adding extra storage devices would screw up cost scaling. What if it is an embedded device that by design starts and stops and is not connected to power in between? Why would it be better to have a crippled system that is actually worse at the normal case, and precludes some use cases entirely, just so the programmers don't have to understand basic things like ordered requirements trees and concurrency? Your excuse that it doesn't normally hurt is weak, because a full-featured system doesn't normally hurt, either.
We've got users on this site who don't even do anything that interacts with the init system except run a config tool that turns software on/off, and yet they've been convinced that they're being oppressed by a bloated init.
It is perfectly reasonable to want to choose a slow init system for subjective reasons. It doesn't mean others are somehow wrong for wanting a full-featured one, however. It is just different choices.
I edit config files with vim, and source files with emacs. The benefits in each scenario are entirely subjective.
(Score: 2) by cafebabe on Tuesday November 25 2014, @01:43AM
Some people want a sequential init system for reliability and security. These are objective reasons.
Heretic!
1702845791×2
(Score: 0) by Anonymous Coward on Monday November 24 2014, @09:12AM
Suspend to disk used to work for me - but then I installed latest version of linux mint and now it doesn't. And I can't mount cifs anymore. And I get mysterious crashes on the graphics driver. :/
(Score: 2) by Anonymous Coward on Sunday November 23 2014, @04:47AM
I regularly shut my system down, when I go to bed, because the computer drains power while doing nothing. I'm not very well paid, and even if I was I'd still shut down at night. The extra couple of dollars I save every month can go on my mortgages, or student loan.
The power company CEO gets paid more than enough as it is.
(Score: 0) by Anonymous Coward on Sunday November 23 2014, @05:43AM
"I am honestly mystified by your sentiment. How often do you reboot? Why?"
- You are running a virtual server that, for whatever reason, gets Slashdotted all of a sudden. The hypervisor's monitoring program sees 100% capacity for a few moments and decides to clone the server on a cluster somewhere else, and then load balance the demand. Of course you want this new server to stand up as quickly as possible.
- As part of your company's reciprocal goodwill, you are forced to run services in a shithole country to keep the locals gainfully employed. The infrastructure sucks, and brownouts are common. The power goes out, and your UPS gives you about 5 minutes of power because of the extremely high power drain. Two things happen: 1) Your server is being stood quickly up on another physical cluster elsewhere, and 2) when power is finally restored, local services need to be restored as fast as possible.
Maybe not the best scenarios, but these are just off the top of my head.
Desktop Linux has no money. RedHat figured that out years ago and became the first billion dollar open-source company. Linux has two $$$ generating applications: the enterprise (almost all of your Windows AD servers have been hosted virtually on a Linux cluster for the past half-decade or so), and Android. SystemD is being written to address the former, and parallel loading of services can ultimately save millions of dollars when shit hits the fan. Android, on the other hand, is busy re-learning the lessons from the Windows 3.1 days. As a desktop user, you are somewhere in the middle, but the fact that you have no money means that you don't get a say in its direction. If arguing over init scripts is really important to you, go to OpenBSD where you will actually be heard.
(Score: 2) by epitaxial on Sunday November 23 2014, @05:56AM
I usually power down every night unless something is downloading or the computer is being used. My aging ABIT motherboard has gone flaky and sleep mode only wakes up about 2/3 of the time.
The argument about servers rebooting faster is made by people who have never touched one. Some take a few minutes to even get past the POST. Does shaving 10 seconds off that really matter?
(Score: 2) by Arik on Sunday November 23 2014, @02:23PM
Suspend to disk.
If laughter is the best medicine, who are the best doctors?
(Score: 2) by Hairyfeet on Sunday November 23 2014, @11:10PM
Go talk to your local mom & pop computer shop, we usually have tons of older boards that work well (we're all packrats in this biz and hate throwing working gear away) and most of us will sell you one pretty cheap, especially if you bullshit with us awhile as its nice to be able to talk to someone that knows the lingo instead of the clueless consumers we get all day. Had a guy a couple weeks back come in needing a replacement board because his was getting flaky, after BSing awhile I sold him a C2D board with a 1.86Ghz C2D for $25 since his had the Celery. I bet if you go to your local shop they'll have plenty of boards in the back that will take your hardware and who knows, you may end up with something better than what you had before.
As far as rebooting? Really depends on the use case i suppose. I have some in the field that are slower than Xmas when it comes to booting but that is a side effect of being in a harsh environment where lower heat and lack of fans is more important that speed. Warehouses, construction trailers, these places get seriously nasty and I've found its better to use 5400 RPM drives and slower CPUs with passive heatsinks than to risk it overheating because the grime has blocked up the cooling. You can tell 'em all day long to clean the things but they'll always forget so I can see some situations where shaving some time off boot would be of the good, especially when the physical hardware is slow.
ACs are never seen so don't bother. Always ready to show SJWs for the racists they are.
(Score: 2) by cafebabe on Tuesday November 25 2014, @01:58AM
A friend wanted to experiment with clustering about 14 years ago. We went to a local computer shop and asked for the four slowest computers in the shop. What graphics did we want? None. What sound did we want? None. At this point, the shop owner was gleeful to sell four identical desktops stored out the back of the shop.
I've also had shop assistants jostling to sell me the smallest memory sticks in the shop.
When someone asks for the lowest specification, there's a fleeting opportunity to make a good margin on stuff which may have been hanging around for years.
1702845791×2
(Score: 2) by Hairyfeet on Tuesday November 25 2014, @04:44AM
You will find assholes in every field, luckily there are plenty of shops to go around so if one is filled with assholes go to the next.
ACs are never seen so don't bother. Always ready to show SJWs for the racists they are.