[LIVE] Our ideas for optimizing XBMC Live (Linux OS) for shorter perceived boot-time?
#31
Gamester17 Wrote:NTFS support is needed though, maybe not directly on boot but later once the GUI is available to the user as XBMC Live should be able to read from any NTFS formatted disk that is used for storage of music/video/picture files (when for example connected via ESATA or USB, or the internal harddrive when booting XBMC Live as a Live CD or Live USB).

They should be handled by second stage udev, hal, dbus or whatever XBMC is using, which currently starts just before xbmc. By removing the support for ntfs/nfs in the very early booting stage does not contradict the goal stated above.
Reply
#32
Question 
What about using the new "Super Read Ahead" from the Fast Boot Moblin.org project? Huh

http://moblin.org/projects/fast-boot
Quote:Fast Boot
Started by: gnagaraj on 09/26/08
Type: OS Infrastructure

We refuse to accept that booting Linux on a netbook should take more than 5 seconds.
  • Don't settle for "make boot faster," only "make boot fast" is acceptable
  • We refuse to accept boot times over 5 seconds from Linux (10 seconds with rotating storage)
  • 5 seconds is not the end
  • View the presentation given at the Linux Plumber's Conference.
  • Watch a fast boot on YouTube.
It is still experimental and version 0.02 is the first public available debian package of it:
http://moblin.org/downloads/super-read-ahead-002

Have any XBMC users or developer tried to install it on Ubuntu yet? Huh
Reply
#33
Note that the above mentioned "Super Read Ahead" (sreadahead) is not based on Fedora readahead which among other optimizations is described here:

LPC article - Booting Linux in five seconds (posted on September 22nd of 2008):
http://lwn.net/Articles/299483/

HOW-TO speed up Ubuntu boot process - the way you can feel it:
http://ubuntuforums.org/showthread.php?t=89491

Using Fedora "readahead" and "readahead_early" on Ubuntu:
http://ubuntuforums.org/showthread.php?t=6030

More ways to shorten the perceived boot-time on Linux Wink
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#34
Thumbs Up 
I've been fighting for about a week with getting my boot time in ubuntu down.

I started with a plain vanilla install, and i have totally destroyed it beyond belief. But i like the result

Image

This isn't for the faint hearted, so i don't intend to do a howto(unless someone really begs me too).

What i have done:
- Made my own kernel.
- Made my own init.
- Made my own xinitrc.
- Don't use gdm.
- Made my own readahead files(one for basic OS boot+X. One for xbmc).
- Changed some xorg and xbmc stuff to make them start faster.
- Totally pulled dbus,hal,udev. Adding those will add about 50% in boot time i believe.
- Don't use usplash. Xorg starts after 5 seconds.

So, I'm down from 19seconds(fake boot time from normal ubuntu, it stops just as gdm is launched, and not after xbmc is done loading), to a 10.1seconds real boot time.

I think this is the best i can do without getting an SSD drive.

What are your times?

Note: i do NOT recommend anyone castrating their systems like i have done.
Reply
#35
TobiasTheCommie Wrote:I've been fighting for about a week with getting my boot time in ubuntu down.

<snip>

So, I'm down from 19seconds(fake boot time from normal ubuntu, it stops just as gdm is launched, and not after xbmc is done loading), to a 10.1seconds real boot time.

I think this is the best i can do without getting an SSD drive.

What are your times?

I'm down to 14 secs from 35 on my notebook, which seems to be the lowest i can get to using the 2,5" hdd.

My system booted 1,5 secs faster using sreadahead instead of the readahead you're using.
Also, are you using Arjan's async kernel patches? If not, there's another sec or two.
git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-for-30.git master

/JJ

Using the async patches, your init will start after about 2 secs instead of 5...
Reply
#36
JumJum Wrote:I'm down to 14 secs from 35 on my notebook, which seems to be the lowest i can get to using the 2,5" hdd.

My system booted 1,5 secs faster using sreadahead instead of the readahead you're using.
Also, are you using Arjan's async kernel patches? If not, there's another sec or two.
git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-for-30.git master

/JJ

Using the async patches, your init will start after about 2 secs instead of 5...

My init already starts after two seconds... I had it down to 1.07 seconds, is now at 2.12 seconds. If the sata_nv module was a bit better(faster) i could get it way down... it looks like it stalls for about .7seconds from loading the driver till it starts looking for harddisks.. then it stalls for.7 seconds again actually doing the looking.

I'm not sure how much of either stall is due to the controller, or how much is due to the harddisk.

I've been trying to find a patch file(instead of an entire tree) for the async... But i have failed. I think i'll just wait for 2.6.30, and for an fglrx patch, before i go with async.

Looking into sreadahead now. Thanks for your suggestions
Reply
#37
TobiasTheCommie Wrote:...
- Totally pulled dbus,hal,udev. Adding those will add about 50% in boot time i believe.
...

I have some questions about this, I though HAL was needed for the more recent X versions. Atleast it says so in the logs.

Also since dbus is vital for XBMC integration with linux in an easy manor it would be good to have it possible to work perfect without compromising speed.

Have you tried starting dbus after XBMC? then it shouldn't be noticeable in terms of "boot" and we don't use dbus until after start, i.e shutdown and such and I think code should be safe for that usage as it is right now.

Hal can probably be altered for this purpose aswell incase you would want to try it.

Cheers,
Tobias.
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#38
Topfs2 Wrote:I have some questions about this, I though HAL was needed for the more recent X versions. Atleast it says so in the logs.

Read some more, think it's just for input devices Smile
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#39
Topfs2 Wrote:I have some questions about this, I though HAL was needed for the more recent X versions. Atleast it says so in the logs.

Also since dbus is vital for XBMC integration with linux in an easy manor it would be good to have it possible to work perfect without compromising speed.

Have you tried starting dbus after XBMC? then it shouldn't be noticeable in terms of "boot" and we don't use dbus until after start, i.e shutdown and such and I think code should be safe for that usage as it is right now.

Hal can probably be altered for this purpose aswell incase you would want to try it.

Cheers,
Tobias.
xbmc launches its own dbus by itself.

I also changed some stuff around and changed harddisk(boot chart is not with the sata_nv driver), so still at the same time, but with dbus and udev started during init as well. Though xbmc still launches dbus on init(which annoys me)

HAL is needed by XBMC for shutdown/reboot to work. So i'm starting that as well, even though it pushes me over the 10seconds mark.

But, once there is a good catalyst patch for 2.6.30(and 30 is final) I'll use that, and I'll probably go below the 10seconds mark again.

My current setup is actually workable, in contrast to the one above

What i have done:
- Made my own kernel.
- Made my own xinitrc.
- Don't use gdm.
- Made my own readahead files(one for basic OS boot+X. One for xbmc).
- Changed some xorg and xbmc stuff to make them start faster.(disabled randr)
- Don't use usplash. Xorg starts after ~5 seconds.
- Starting hal after xbmc to make effective boot time a bit over 10seconds, but perceived boot time is still 10seconds. (I still intend to get this fixed)

Basically, i did this as a test. I intend to buy an nvidia ion with bluray soon. Put coreboot in it, and do what i did to this system. It will run with an SSD. I hope i can get total boot time(that includes coreboot/bios replacement) to be at max 10seconds.

SSD will probably slash my above time in half... And coreboot should be able to launch grub within 3 seconds... with 1second grub(for if something fatal happens) that will be around 9seconds...
Reply
#40
Topfs2 Wrote:Read some more, think it's just for input devices Smile

I don't use evdev(or HAL) for input, i use psmouse and kbd since usb initialization is faster with those.

BUT, i might actually experiment with that and see if i can improve the USB initialization by loading it in parallel. Originally i had it in kernel, and until i use fastboot it is faster to load it as modules(in parallel).

I am not sure (yet) what evdev vs psmouse/kbd will do for xorg launch times.
Reply
#41
http://www.phoronix.com/scan.php?page=ne...&px=NzMxMw
Quote:Explaining Ubuntu's 10 Second Boot Time
Posted by Michael Larabel on June 08, 2009

We shared two weeks ago that Plymouth would not be making its way to Ubuntu with the next 9.10 release as was once planned. Instead Canonical is putting their focus on improving the boot time so that there is less rationale for spending time on making a fashionable boot experience. With Ubuntu 10.04 LTS, Canonical is looking to achieve a ten second or less boot when using the Dell Mini 9 or similar devices. With Ubuntu 9.10, they hope to be on their way to accomplishing this goal.

Canonical's Scott James Remnant has now outlined more on their plans for the Ubuntu boot performance targets with Ubuntu 9.10 and 10.04 LTS. The main areas that developers will be working on is speeding up the X Server start-up process and improving initramfs.

More information on these efforts can be found on the Ubuntu mailing list (along with slides from the UDS talk on boot performance). Canonical is looking at approaching the boot times of what's possible right now through Moblin V2.
Reply
#42
new asus motherboard have like a coldboot functionnality : express gate
express gate has been successfully tested on non asus motherboard...

So it can be a starting point to maximise the waf ;-)
Reply

Logout Mark Read Team Forum Stats Members Help
[LIVE] Our ideas for optimizing XBMC Live (Linux OS) for shorter perceived boot-time?2