A Look at minit
Sys-V init has long been the standard solution for booting. It's kind of easy to work with, it kind of works and everybody kind of knows it. However, being open minded, let's look at an alternative approach.
There are quite a few alternatives. All of them focus on improving boot times. This is accomplished by starting and running different processes simultaneously and asynchronously. Doing type of boot attempts to use all (more) parts of the hardware simultaneously and avoid having to wait for slow hardware.
In an embedded setting, one more factor to look for is keeping the footprint and number of processes down (each process comes with an overhead - albeit small).
One of the alternatives that I've looked at is minit by Felix von Leitner of diet-libc fame. What can it do? Well, the most basic feature is that it can start services and takes dependencies into account, e.g. it waits for the network to be up before it starts the web server. It also does respawning and handles ctrl+alt+delete.
Being the brain child of von Leitner, it is also minimalist (to the extreme?) and works with diet-libc. So, how does it work?
The configuration lives in /etc/minit, where each sub-directory contains one or services. Each service is configured from a number of symlinks and text files, all listed in detail in this howto. Basically, you create a symlink called "run" pointing at the program to start, a text file called "depends" with the names of any prerequisite services, an empty file called "respawn" if the service is to be respawned upon termination, and so on.
Having configured all your services, create a directory called "default" and add a depends file there listing your services. That will kickstart the system.
Image courtesy of http://www.flickr.com/photos/livingos/ / CC BY-SA 2.0. Original: at Flickr.
Johan Thelin is a consultant working with Qt, embedded and free
software. On-line, he is known as e8johan.
Today’s modular x86 servers are compute-centric, designed as a least common denominator to support a wide range of IT workloads. Those generic, virtualized IT workloads have much different resource optimization requirements than hyperscale and cloud applications. They have resulted in a “one size fits all” enterprise IT architecture that is not optimized for a specific set of IT workloads, and especially not emerging hyperscale workloads, such as web applications, big data, and object storage. In this report, you will learn how shifting the focus from traditional compute-centric IT architectures to an innovative disaggregated fabric-based architecture can optimize and scale your data center.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
| Non-Linux FOSS: Seashore | May 10, 2013 |
| Trying to Tame the Tablet | May 08, 2013 |
| Dart: a New Web Programming Experience | May 07, 2013 |
- RSS Feeds
- New Products
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Home, My Backup Data Center
- A Topic for Discussion - Open Source Feature-Richness?
- What's the tweeting protocol?
- Dart: a New Web Programming Experience
- Developer Poll
- May 2013 Issue of Linux Journal: Raspberry Pi
- Reply to comment | Linux Journal
3 min 23 sec ago - Reply to comment | Linux Journal
2 hours 35 min ago - Reply to comment | Linux Journal
3 hours 53 min ago - great post
4 hours 28 min ago - Google Docs
4 hours 50 min ago - Reply to comment | Linux Journal
9 hours 39 min ago - Reply to comment | Linux Journal
10 hours 25 min ago - Web Hosting IQ
11 hours 59 min ago - Thanks for taking the time to
13 hours 36 min ago - Linux is good
15 hours 34 min ago



Comments
Upstart
The major distributions (Fedora and Ubuntu at least and I suspect OpenSuSe too) Started using upstart a while ago instead of sysvinit. I believe upstart is also used by a certain Linux based smart phone operating system beginning with A, owned by a company you might have heard of beginning with G.
Upstart is a big contributing factor towards why the Ubuntu LTS release boots in under 20 seconds on a netbook sporting an SSD.
While the upstart developers have not yet reached their goals for a 1.0 release, upstart is very stable, widely adopted and supported by Canonical.
It is event based so it has much greater flexibility than minit.
http://upstart.ubuntu.com/
OpenRC: http://roy.marples.na
OpenRC:
http://roy.marples.name/projects/openrc
OpenRC in Gentoo:
http://www.gentoo.org/doc/en/openrc-migration.xml
Thanks for the tip!
Thanks for the tip! I'v allready googled up the pages and added to my TODO surfing queue :-)
Johan Thelin is a consultant working with Qt, embedded and free
software. On-line, he is known as e8johan.
That's cool init, but nothing
That's cool init, but nothing prevents you from taking look at / using outstanding OpenRC package being developed mainly for Gentoo Linux, but also with very strong pressure put on usability in containters like OpenVZ, LXC etc.
OpenRC is small, fast, nice and easy to use.
Brilliant
What a lovely introduction and an interesting alternative - well done, Johan. :)
John Knight is the New Projects columnist for Linux Journal.