Menu

Main Menu
Talk Get Daily Search

Member's Online

    User Name
    Password

    Maemo5 boot process

    Reply
    Page 1 of 3 | 1   2     3   | Next
    reinob | # 1 | 2012-11-21, 08:51 | Report

    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

    Edit | Forward | Quote | Quick Reply | Thanks
    Attached Files
    File Type: txt Maemo5 Boot.txt (2.9 KB, 210 views)
    The Following 36 Users Say Thank You to reinob For This Useful Post:
    AapoRantalainen, ade, anthonie, casketizer, dzano, Fatalist, ffha, foobar, fw190, handaxe, hongquan, Hurrian, iDont, int_ua, joerg_rw, Ken-Young, malfunctioning, MartinK, Mentalist Traceur, misiak, mosiomm, mr_pingu, nkirk, peterleinchen, phap, pichlo, sicelo, sifo, sixwheeledbeast, Sohil876, thedead1440, vi_, wicket, Wikiwide, Zaerc, _David_

     
    vi_ | # 2 | 2012-11-21, 09:10 | Report

    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!

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 2 Users Say Thank You to vi_ For This Useful Post:
    reinob, Wikiwide

     
    Hurrian | # 3 | 2012-11-21, 11:40 | Report

    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.

    Edit | Forward | Quote | Quick Reply | Thanks

     
    reinob | # 4 | 2012-11-21, 13:21 | Report

    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.

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 8 Users Say Thank You to reinob For This Useful Post:
    AapoRantalainen, foobar, handaxe, int_ua, Mentalist Traceur, mosiomm, pichlo, Wikiwide

     
    foobar | # 5 | 2012-11-21, 13:47 | Report

    pulseaudio in actdead?

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 2 Users Say Thank You to foobar For This Useful Post:
    int_ua, Wikiwide

     
    reinob | # 6 | 2012-11-21, 15:21 | Report

    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.

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 12 Users Say Thank You to reinob For This Useful Post:
    AapoRantalainen, foobar, int_ua, Mentalist Traceur, misiak, mosiomm, mr_pingu, peterleinchen, pichlo, saponga, Sourav.dubey, Wikiwide

     
    sifo | # 7 | 2012-11-21, 16:12 | Report

    Nice work reinob
    btw can you guys wiki this thread up ?

    ./sifo

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following User Says Thank You to sifo For This Useful Post:
    Wikiwide

     
    vi_ | # 8 | 2012-11-21, 16:56 | Report

    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.

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 11 Users Say Thank You to vi_ For This Useful Post:
    foobar, fw190, hongquan, int_ua, Mentalist Traceur, misiak, mosiomm, pichlo, reinob, saponga, Wikiwide

     
    reinob | # 9 | 2012-11-21, 19:46 | Report

    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..

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following User Says Thank You to reinob For This Useful Post:
    Wikiwide

     
    mr_pingu | # 10 | 2012-11-21, 21:36 | Report

    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?

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 6 Users Say Thank You to mr_pingu For This Useful Post:
    fw190, int_ua, misiak, mosiomm, pichlo, Wikiwide

     
    Page 1 of 3 | 1   2     3   | Next
vBulletin® Version 3.8.8
Normal Logout