X-Git-Url: https://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/cb78fb2b35533adb2b1de63c9d46b17b60becc8c..5afbbc1f9fd0cb1e4efcdf5afc4aea9cf4eed235:/blog/tags/bootsystem/index.html diff --git a/blog/tags/bootsystem/index.html b/blog/tags/bootsystem/index.html index efac2cb854..0ef0c9981f 100644 --- a/blog/tags/bootsystem/index.html +++ b/blog/tags/bootsystem/index.html @@ -1,37 +1,34 @@ - - - Petter Reinholdtsen: Entries Tagged bootsystem - - - - - -
-

- Petter Reinholdtsen - -

- -
- -

Entries tagged "bootsystem".

- - - + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + + + + Petter Reinholdtsen: Entries Tagged bootsystem + + + + + +
+

+ Petter Reinholdtsen + +

+ +
-
-
- Debian boots quicker and quicker -
-
- 2009-06-24 21:40 -
-
- -

I spent Monday and tuesday this week in London with a lot of the +

Entries tagged "bootsystem".

+ +
+ +
+ 24th June 2009 +
+
+

I spent Monday and tuesday this week in London with a lot of the people involved in the boot system on Debian and Ubuntu, to see if we could find more ways to speed up the boot system. This was an Ubuntu funded @@ -78,28 +75,26 @@ possible to run a of them in the same process. A quick way to test this would be to enable insserv and run 'mv /etc/rc2.d/S* /etc/rcS.d/; insserv'. Will need to test if that work. :)

-
-
- - - - Tags: bootsystem, debian, english. - -
-
-
- -
- -
- 2009-07-22 23:00 -
- -
- -

After several years of frustration with the lack of activity from +

+
+ + + Tags: bootsystem, debian, english. + + +
+
+
+ +
+ +
+ 22nd July 2009 +
+
+

After several years of frustration with the lack of activity from the existing sysvinit upstream developer, I decided a few weeks ago to take over the package and become the new upstream. The number of patches to track for the Debian package was becoming a burden, and the @@ -122,28 +117,26 @@ working on the future release.

It is a bit ironic that this is done now, when some of the involved distributions are moving to upstart as a syvinit replacement.

-
-
- - - - Tags: bootsystem, debian, english, nuug. - -
-
-
- -
- -
- 2009-07-27 23:50 -
- -
- -

Since this evening, with the upload of sysvinit version 2.87dsf-2, +

+
+ + + Tags: bootsystem, debian, english, nuug. + + +
+
+
+ +
+ +
+ 27th July 2009 +
+
+

Since this evening, with the upload of sysvinit version 2.87dsf-2, and the upload of insserv version 1.12.0-10 yesterday, Debian unstable have been migrated to using dependency based boot sequencing. This conclude work me and others have been doing for the last three days. @@ -155,28 +148,26 @@ are bound to show up, to get everything ready for Squeeze.

fixing the more fundamental problem of handing the event based non-predictable kernel in the early boot.

-
-
- - - - Tags: bootsystem, debian, english, nuug. - -
-
-
- -
- -
- 2010-05-06 23:25 -
- -
- -

These days, the init.d script dependencies in Squeeze are quite +

+
+ + + Tags: bootsystem, debian, english, nuug. + + +
+
+
+ +
+ +
+ 6th May 2010 +
+
+

These days, the init.d script dependencies in Squeeze are quite complete, so complete that it is actually possible to run all the init.d scripts in parallell based on these dependencies. If you want to test your Squeeze system, make sure @@ -212,28 +203,26 @@ the BTS, please usertag the report to get it to show up at the list of usertagged bugs related to this.

-
-
- - - - Tags: bootsystem, debian, english. - -
-
-
- -
- -
- 2010-05-13 22:20 -
- -
- -

The last few days a new boot system called +

+
+ + + Tags: bootsystem, debian, english. + + +
+
+
+ +
+ +
+ 13th May 2010 +
+
+

The last few days a new boot system called systemd has been introduced @@ -266,28 +255,26 @@ new version of the sysvinit package implementing this change is already in experimental. If all go well, Squeeze will be released with parallel booting enabled by default.

-
-
- - - - Tags: bootsystem, debian, english, nuug. - -
-
-
- -
- -
- 2010-05-14 22:40 -
- -
- -

Since this evening, parallel booting is the default in +

+
+ + + Tags: bootsystem, debian, english, nuug. + + +
+
+
+ +
+ +
+ 14th May 2010 +
+
+

Since this evening, parallel booting is the default in Debian/unstable for machines using dependency based boot sequencing. Apparently the testing of concurrent booting has been wider than expected, if I am to believe the @@ -314,28 +301,26 @@ the BTS, please usertag the report to get it to show up at the list of usertagged bugs related to this.

-
-
- - - - Tags: bootsystem, debian, debian edu, english. - -
-
-
- -
- -
- 2010-05-27 23:55 -
- -
- -

A few days ago, parallel booting was enabled in Debian/testing. +

+
+ + + Tags: bootsystem, debian, debian edu, english. + + +
+
+
+ +
+ +
+ 27th May 2010 +
+
+

A few days ago, parallel booting was enabled in Debian/testing. The feature seem to hold up pretty well, but three fairly serious issues are known and should be solved: @@ -375,28 +360,26 @@ list of usertagged bugs related to this.

Update: Correct bug number to file-rc issue.

-
-
- - - - Tags: bootsystem, debian, debian edu, english. - -
-
-
- -
- -
- 2010-06-01 17:05 -
- -
- -

It is strange to watch how a bug in Debian causing KDM to fail to +

+
+ + + Tags: bootsystem, debian, debian edu, english. + + +
+
+
+ +
+ +
+ 1st June 2010 +
+
+

It is strange to watch how a bug in Debian causing KDM to fail to start at boot when an NVidia video card is used is handled. The problem seem to be that the nvidia X.org driver uses a long time to initialize, and this duration is longer than kdm is configured to @@ -420,28 +403,26 @@ but I am pretty sure that waiting for each other is not it.

I wonder why we end up handling bugs this way.

-
-
- - - - Tags: bootsystem, debian, debian edu, english. - -
-
-
- -
- -
- 2010-06-06 23:55 -
- -
- -

If Debian is to migrate to upstart on Linux, I expect some init.d +

+
+ + + Tags: bootsystem, debian, debian edu, english. + + +
+
+
+ +
+ +
+ 6th June 2010 +
+
+

If Debian is to migrate to upstart on Linux, I expect some init.d scripts to migrate (some of) their operations to upstart job while keeping the init.d for hurd and kfreebsd. The packages with such needs will need a way to get their init.d scripts to behave @@ -483,28 +464,26 @@ to not be compatible with sysvinit in this regard.

looking for the UPSTART_JOB environment variable seem to be a good choice.

-
-
- - - - Tags: bootsystem, debian, english. - -
-
-
- -
- -
- 2010-06-11 22:50 -
- -
- -

The last few days I have done some upgrade testing in Debian, to +

+
+ + + Tags: bootsystem, debian, english. + + +
+
+
+ +
+ +
+ 11th June 2010 +
+
+

The last few days I have done some upgrade testing in Debian, to see if the upgrade from Lenny to Squeeze will go smoothly. A few bugs have been discovered and reported in the process (#585410 in nagios3-cgi, @@ -624,32 +603,203 @@ packages failing to clean up their obsolete init.d script during upgrades, and no such problem seem to affect the Gnome desktop+laptop packages.

-
-
- - - - Tags: bootsystem, debian, debian edu, english. - -
-
-
+
+
+ + + Tags: bootsystem, debian, debian edu, english. + + +
+
+
+ +
+
+ What should start from /etc/rcS.d/ in Debian? - almost nothing +
+
+ 30th July 2011 +
+
+

In the Debian boot system, several packages include scripts that +are started from /etc/rcS.d/. In fact, there is a bite more of them +than make sense, and this causes a few problems. What kind of +problems, you might ask. There are at least two problems. The first +is that it is not possible to recover a machine after switching to +runlevel 1. One need to actually reboot to get the machine back to +the expected state. The other is that single user boot will sometimes +run into problems because some of the subsystems are activated before +the root login is presented, causing problems when trying to recover a +machine from a problem in that subsystem. A minor additional point is +that moving more scripts out of rcS.d/ and into the other rc#.d/ +directories will increase the amount of scripts that can run in +parallel during boot, and thus decrease the boot time.

+ +

So, which scripts should start from rcS.d/. In short, only the +scripts that _have_ to execute before the root login prompt is +presented during a single user boot should go there. Everything else +should go into the numeric runlevels. This means things like +lm-sensors, fuse and x11-common should not run from rcS.d, but from +the numeric runlevels. Today in Debian, there are around 115 init.d +scripts that are started from rcS.d/, and most of them should be moved +out. Do your package have one of them? Please help us make single +user and runlevel 1 better by moving it.

+ +

Scripts setting up the screen, keyboard, system partitions +etc. should still be started from rcS.d/, but there is for example no +need to have the network enabled before the single user login prompt +is presented.

+ +

As always, things are not so easy to fix as they sound. To keep +Debian systems working while scripts migrate and during upgrades, the +scripts need to be moved from rcS.d/ to rc2.d/ in reverse dependency +order, ie the scripts that nothing in rcS.d/ depend on can be moved, +and the next ones can only be moved when their dependencies have been +moved first. This migration must be done sequentially while we ensure +that the package system upgrade packages in the right order to keep +the system state correct. This will require some coordination when it +comes to network related packages, but most of the packages with +scripts that should migrate do not have anything in rcS.d/ depending +on them. Some packages have already been updated, like the sudo +package, while others are still left to do. I wish I had time to work +on this myself, but real live constrains make it unlikely that I will +find time to push this forward.

+ +
+
+ + + Tags: bootsystem, debian, english. + + +
+
+
+ +
+
+ How is booting into runlevel 1 different from single user boots? +
+
+ 4th August 2011 +
+
+

Wouter Verhelst have some +interesting +comments and opinions on my blog post on +the +need to clean up /etc/rcS.d/ in Debian and my blog post about +the +default KDE desktop in Debian. I only have time to address one +small piece of his comment now, and though it best to address the +misunderstanding he bring forward:

+ +

+Currently, a system admin has four options: [...] boot to a +single-user system (by adding 'single' to the kernel command line; +this runs rcS and rc1 scripts) +

+ +

This make me believe Wouter believe booting into single user mode +and booting into runlevel 1 is the same. I am not surprised he +believe this, because it would make sense and is a quite sensible +thing to believe. But because the boot in Debian is slightly broken, +runlevel 1 do not work properly and it isn't the same as single user +mode. I'll try to explain what is actually happing, but it is a bit +hard to explain.

+ +

Single user mode is defined like this in /etc/inittab: +"~~:S:wait:/sbin/sulogin". This means the only thing that is +executed in single user mode is sulogin. Single user mode is a boot +state "between" the runlevels, and when booting into single user mode, +only the scripts in /etc/rcS.d/ are executed before the init process +enters the single user state. When switching to runlevel 1, the state +is in fact not ending in runlevel 1, but it passes through runlevel 1 +and end up in the single user mode (see /etc/rc1.d/S03single, which +runs "init -t1 S" to switch to single user mode at the end of runlevel +1. It is confusing that the 'S' (single user) init mode is not the +mode enabled by /etc/rcS.d/ (which is more like the initial boot +mode).

+ +

This summary might make it clearer. When booting for the first +time into single user mode, the following commands are executed: +"/etc/init.d/rc S; /sbin/sulogin". When booting into +runlevel 1, the following commands are executed: "/etc/init.d/rc +S; /etc/init.d/rc 1; /sbin/sulogin". A problem show up when +trying to continue after visiting single user mode. Not all services +are started again as they should, causing the machine to end up in an +unpredicatble state. This is why Debian admins recommend rebooting +after visiting single user mode.

+ +

A similar problem with runlevel 1 is caused by the amount of +scripts executed from /etc/rcS.d/. When switching from say runlevel 2 +to runlevel 1, the services started from /etc/rcS.d/ are not properly +stopped when passing through the scripts in /etc/rc1.d/, and not +started again when switching away from runlevel 1 to the runlevels +2-5. I believe the problem is best fixed by moving all the scripts +out of /etc/rcS.d/ that are not required to get a +functioning single user mode during boot.

+ +

I have spent several years investigating the Debian boot system, +and discovered this problem a few years ago. I suspect it originates +from when sysvinit was introduced into Debian, a long time ago.

+ +
+
+ + + Tags: bootsystem, debian, english. + + +
+
+
+ +

RSS Feed

+ - + + +

+ Created by Chronicle v4.4 +

+ +