Reply
Thread Tools
Posts: 1,808 | Thanked: 4,272 times | Joined on Feb 2011 @ Germany
#1
Hi all,

I've gone through the boot process of Maemo5 and made a list of all scripts that are run, starting from /sbin/preinit all the way to /etc/X11/Xsession.post/99initdone

It's just an (indented) list. I may turn that into a nice graph some day, but I don't think it's that useful.

Please note that some Nokia-preinstalled services may not be present (if I have uninstalled them), while some of the listed services may come from additional software (e.g. sshd) not part of stock-PR1.3.

There is still the question of what role (if any) /etc/event.replace.d has (have to look at upstart source code) as well as some scripts in /etc/init.d (some are used by the /etc/event.d scripts, others not) and /etc/rc*.d.

I think /etc/rc?.d is a relic from previous Maemo versions, but I have to investigate that more in-depth. If I'm reasonably convinced that this is the case, I will wipe out those folders and see if everything works OK.

Anyway, here it is (also attached to the post).

Code:
*** Loaded by kernel
	/sbin/preinit

*** Loaded by upstart from /etc/event.d
	welcome
	rcS
		dsme
			bme (may emit G_NOKIA_READY if /var/lib/ke-recv/usb_phonet_mode)
				rc-default (emits STATE according to /tmp/STATE)
			kernel-power
		sshd

** State USER
	console (starts serial console /etc/event.d/tty* if R&D mode)
	dbus
		alsaped
		csd
		dsme-dbus
		dsme-thermal
		dsp
			dsp-manager
		hal
			rcS-late (emits MOUNTS_OK)
				pymaemo-optify
			ohmd
			sgx
				xomap
		mce
		n900-fmrx-enabler
		omap3camd0
		pulseaudio
		sms-manager
		sscd (emits cellmo poweron/reset/poweroff/sim.. signal)
		sysinfod

* on cellmo ... (emitted by sscd)
	gprs-provisioning	(on cellmo sim ready)
	pin-query		(on cellmo sim code-required)

* on G_NOKIA_READY
	phonet_at
	softupd

* on MOUNTS_OK
	clock-daemon
	hildon-control-panel-personalisation
	rc-clean-fail-thumbnail
	xsession
		(wait until xomap ready, 
			emit XSESSIONS_STARTING or XSESSIONS_ACTDEAD_STARTING if ACTDEAD
		 then
			exec /etc/X11/Xsession as user)

* on XSESSIONS_STARTING
	bluetoothd
		bluetooth-sysinfo (when starting)
		bluetooth-dun (when started)
	camkeyd
	hildon-desktop
        	app-detect
		fmtx
		funambol-cpp-api
		headphoned
		ke-recv
			nokiamessaging
		ke-recv-extra
		kernel-modules
		location-proxy
		omapcp
		tonegend
		wlancond
			dnsmasq
			icd2
	iphb
	signon

* /etc/X11/Xsession (sources, does not execute, scripts)
	if USER
		run-parts /etc/X11/Xsession.d
			00settings
			01dbus
			01maemo-xinput-sounds
			02maemo-launcher
			03alarmd
			03gtk2-engines-sapwood
			03osso-systemui
			04b_start_matchbox
			04devlock_blocker
			05connui-conndlgs-cellular
			06stop_matchbox
			07ssc-ready
			30osso-startup-wizard
			40osso-systemui
			41dbus
			41maemo-xinput-sounds
			42maemo-launcher
			50alarmd
			51osso-systemui
			60mission-control
			65hildon-sv-notification-daemon
			90gpg-agent

		run-parts /etc/X11/Xsession.post
			15hildon-status-menu
			17camera-ui
			18hildon-home
			20hildon-desktop
			21hildon-desktop-wait
			22camera-ui
			22clipboard-manager
			23tracker
			24connui-conndlgs
			25hildon-input-method-configurator
			30tablet-browser-daemon
			32mafw-gst-renderer
			32mafw-gst-iradio-source
			32mafw-tracker-source
			32mafw-upnp-source
			40hildon-application-manager
			41tmp-reaper
			55ohm-session-agent
			66maesync-controller
			68syncd
			70osso-abook-home-applet
			99initdone

	if ACTDEAD
		run-parts /etc/X11/Xsession.actdead
			00settings
			01dbus
			03alarmd
			10sapwood
			14osso-systemui
			15matchbox
			99initdone

** State ACTDEAD
	actdead
	cmt-act-dead
	console
	dbus-actdead
		alsaped
		dsme-dbus
		hal
			rcS-late (emits MOUNTS_OK)
				pymaemo-optify
			ohmd
			sgx
				xomap
		mce
		n900-fmrx-enabler
		ohmd
		pulseaudio

* on XSESSIONS_ACTDEAD_STARTING
	-

** State TEST
	wl1251-cal
Attached Files
File Type: txt Maemo5 Boot.txt (2.9 KB, 198 views)
 

The Following 36 Users Say Thank You to reinob For This Useful Post:
Posts: 1,680 | Thanked: 3,685 times | Joined on Jan 2011
#2
Wow, this is a seriously sweet post. You have a spare n900 right? We would'nt want you rm'ing /etc/rc*.d on a production device!
__________________
N900: One of God's own prototypes. A high-powered mutant of some kind never even considered for mass production. Too weird to live, and too rare to die.
 

The Following 2 Users Say Thank You to vi_ For This Useful Post:
Posts: 1,225 | Thanked: 1,905 times | Joined on Feb 2011 @ Quezon City, Philippines
#3
So, I've tested removing /etc/event.replace.d and /etc/rcX.d on my N900.

The results:

It boots just fine!

Feel free to try it, although if it doesn't work out I'd recommend having RescueOS loadable from U-Boot at the ready.
__________________
N9 PR 1.3 Open Mode + kernel-plus for Harmattan
@kenweknot, working on Glacier for Nemo.
 
Posts: 1,808 | Thanked: 4,272 times | Joined on Feb 2011 @ Germany
#4
Re. /etc/event.replace.d/

Many system services place the upstart file in /etc/event.replace.d/, but then postinstall copies it to /etc/event.d.

I guess this is a way of ensuring that the script is only really put where upstart will find it once the whole package has been extracted.

So I officially state:
BEGIN:
You can wipe out the folder if you like.
It will never be used during booting.
The only thing that could happen is that you install some program (which comes with an upstart script), and the script is placed there.
If so, GOTO BEGIN (if you like).

Next is /etc/rc?.d. Thanks @Hurrian for confirming that the N900 boots just fine after deleting those folders. Just in case I want to figure out WHO/WHAT created those folders in the first place.
 

The Following 8 Users Say Thank You to reinob For This Useful Post:
Posts: 203 | Thanked: 445 times | Joined on Mar 2010
#5
pulseaudio in actdead?
 

The Following 2 Users Say Thank You to foobar For This Useful Post:
Posts: 1,808 | Thanked: 4,272 times | Joined on Feb 2011 @ Germany
#6
Originally Posted by foobar View Post
pulseaudio in actdead?
Yup. Remember: alarms have to sound

If my list is right, the following things run when ACTDEAD:

welcome (just echo)
rcS
dsme
dme
kernel-power
sshd
actdead (just echo)
cmt-act-dead (kill modem)
console (serial console if R&D)
dbus-actdead (same as "dbus", swap USER/ACT_DEAD start/stop)
alsaped (ALSA policy daemon)
dsme-dbus
hal
rcS-late
ohmd
sgx
xomap
mce
n900-fmrx-enabler (yup, enable FM receiver
ohmd (yes, it's activated twice..)
pulseaudio
clock-daemon
hildon-control-panel-personalisation (make sure we have a theme!)
rc-clean-fail-thumbnail (absurd in ACTDEAD mode)
xsession

and then, when X is up and running:
00settings
01dbus (dbus session, system already started)
03alarmd (get them alarms ringing!
10sapwood
14osso-systemui
15matchbox (start WM, why? because we can [*]
99initdone
[*] OK, I suppose matchbox is started (and the theme framework setup) so that you get the familiar alarm UI if necessary.

When I have some more time I will make a post for each system service (or for a group of them) with an explanation of what it does. I guess a Wiki would be the best way, but I just can't find a way of creating an article

Add.: and more importantly, the reboot and shutdown process has to be duly documented.
 

The Following 12 Users Say Thank You to reinob For This Useful Post:
sifo's Avatar
Posts: 1,359 | Thanked: 1,292 times | Joined on Oct 2011 @ Tartus.Syria
#7
Nice work reinob
btw can you guys wiki this thread up ?

./sifo
__________________
[ N900-Crack ] [ The Purge ] [ New Smiles ] [ New icons ] [ ? ]
" Hey ! I've just met you and this is crazy, so install cssu maybe ? "
Please help out keeping Maemo.org alive, and consider donating.
https://www.facebook.com/ZoRk7
 

The Following User Says Thank You to sifo For This Useful Post:
Posts: 1,680 | Thanked: 3,685 times | Joined on Jan 2011
#8
Originally Posted by reinob View Post
Yup. Remember: alarms have to sound

If my list is right, the following things run when ACTDEAD:

welcome (just echo)
rcS
dsme
dme
kernel-power
sshd
actdead (just echo)
cmt-act-dead (kill modem)
console (serial console if R&D)
dbus-actdead (same as "dbus", swap USER/ACT_DEAD start/stop)
alsaped (ALSA policy daemon)
dsme-dbus
hal
rcS-late
ohmd
sgx
xomap
mce
n900-fmrx-enabler (yup, enable FM receiver
ohmd (yes, it's activated twice..)
pulseaudio
clock-daemon
hildon-control-panel-personalisation (make sure we have a theme!)
rc-clean-fail-thumbnail (absurd in ACTDEAD mode)
xsession

and then, when X is up and running:
00settings
01dbus (dbus session, system already started)
03alarmd (get them alarms ringing!
10sapwood
14osso-systemui
15matchbox (start WM, why? because we can [*]
99initdone
[*] OK, I suppose matchbox is started (and the theme framework setup) so that you get the familiar alarm UI if necessary.

When I have some more time I will make a post for each system service (or for a group of them) with an explanation of what it does. I guess a Wiki would be the best way, but I just can't find a way of creating an article

Add.: and more importantly, the reboot and shutdown process has to be duly documented.
Matchbox is started to display the 5 dots, then the UI for entering the device lock code (if you have a lock code). Matchbox is then **** down and hildon is started up.
__________________
N900: One of God's own prototypes. A high-powered mutant of some kind never even considered for mass production. Too weird to live, and too rare to die.
 

The Following 11 Users Say Thank You to vi_ For This Useful Post:
Posts: 1,808 | Thanked: 4,272 times | Joined on Feb 2011 @ Germany
#9
Originally Posted by vi_ View Post
Matchbox is started to display the 5 dots, then the UI for entering the device lock code (if you have a lock code). Matchbox is then **** down and hildon is started up.
Thanks! I fortgot about the dots (I don't have them . If my analysis is correct, then the device lock screen should NOT appear when in ACTDEAD mode.

Would be happy in somebody would confirm this.. but, how do you turn the N900 down (or rather, go to ACTDEAD) when the device is locked?!

I have to say I very rarely code-lock the N900, and when I do, I lock it manually and unlock it a few minutes later..
 

The Following User Says Thank You to reinob For This Useful Post:
Posts: 1,163 | Thanked: 1,873 times | Joined on Feb 2011 @ The Netherlands
#10
Originally Posted by vi_ View Post
Matchbox is started to display the 5 dots, then the UI for entering the device lock code (if you have a lock code). Matchbox is then **** down and hildon is started up.
Hmm matchbox is used as WM even inside hildon, doesnt it?'

I mean I have mapped ctrl + right arrow mapped to matchbox-remote --next via xbindkeys. When pressed it switches to the next application, alt-tab like That means matchbox is used in hildon or am I totally wrong?
__________________
N900 loaded with:
CSSU-T (Thumb)
720p recording,
Pierogi, Lanterne, Cooktimer, Frogatto
N9 16GB loaded with:
Kernel-Plus
--
[TCPdump & libpcap | ngrep]
--
donate
 

The Following 6 Users Say Thank You to mr_pingu For This Useful Post:
Reply


 
Forum Jump


All times are GMT. The time now is 06:46.