Super fast boot


Forum: DSL Tips and Tricks
Topic: Super fast boot
started by: fozner

Posted by fozner on Sep. 05 2006,07:02
Through software tweaks, linux can be booted in under 2 sec from SD Card on an old 200Mhz computer.
< http://www.embeddedarm.com/epc/fastboot.htm >

Can we do that with DSL?  Possibly...
Got an old, slow laptop gathering dust?  Let's soup it up!

The first thing we could do is get hold of a PCMCIA SD Card Reader (or other similar such thing) and install DSL on that...  Once we've done that, we can tweak the software to take advantage of the increased boot speed. I wonder if this old laptop will even boot to it with the "dsl frompcmcia" option...

Another option is replacing the BIOS with a linux boot-to-flash loader.  Sorry, no pcmcia drivers yet...
< http://www.linuxbios.org/index.php/Main_Page >

WARNING: experienced users only!  Have a spare boot disk handy!

Intended audience: Hard drive, pen drive & ramdisk installations (not shared with Windows!), experimental, testing. Those making custom boot images for their own use, people on the go, who boot alot... Not intended for production or mission-critical systems.

Check this out!
cd /etc/init.d
grep sleep *

You'll notice there's a lot of sleep statements in the init scripts.  (not just the ones in init.d) Some of these scripts (grep 199 *) were created in the 1900's.  Well, experiment with reducing the delays. How much you can shave off depends on your system. Some of the sleep statements can be removed entirely on newer hardware. Do I know any benchmarks? No. I haven't experimented with this much.

For some real fun, try converting the startup scripts to run in parallel, such as by adding an & statement after the command so instead of waiting for each task to sequentially finish it moves right on to the next line of code. For an alternative to sleep statements, check if a hardware device is available: < http://netzflocken.de/article....s-ahead >

This is a big topic.  Read more.
< http://www-128.ibm.com/develop....tFaster >

To summarize: remove startup options and services you don't need. Compile devices in instead of loading modules, hard-code values instead of probing...

Are you using IDE?

Add dma option to lilo.conf and run lilo. Now search online for docs on hdparm.
< http://www.linuxdevcenter.com/pub/a/linux/2000/06/29/hdparm.html >
Be sure to read page 2.
< http://www.linuxdevcenter.com/pub....?page=2 >

Check present speed of hard disk:
hdparm -Tt /dev/hda

Get drive info:
hdparm /dev/hda
hdparm -i /dev/hda

Now *try* to accelerate it.  Something like this maybe:
hdparm -X66 -d1 -u1 -m16 -c3 /dev/hda

X66 is UDMA2*
X67 is UDMA3
X68 is UDMA4, uh, you get the picture...

The above command should work on anything with an IDE drive and 16MB ram... In other words, if it can run DSL it should at least be able to cope with that, but double-check your hardware and docs first, just in case.

Get drive info again and see if it changed:
hdparm /dev/hda
hdparm -i /dev/hda

Check new speed of hard disk:
hdparm -Tt /dev/hda

*Note: If your hard drive is using UDMA2, consider yourself lucky to get 4-5 megabytes / sec transfer.  You'll get better performance booting to compact flash, USB pen drive or even via TCP/IP...

Have fun and make sure your boot floppy works and you know how to use a text editor from the terminal, just in case you biff it.  Not responsible if things start acting strangely. You must make backups! You have been warned. OK

Posted by brianw on Sep. 10 2006,01:46
hdparm can be used effectively but please be careful and do an:

hdparm --help

first and notice all the (DANGEROUS) warnings.  Make sure you research first.

Posted by humpty on Sep. 11 2006,09:22
For most ide's nowadays, you already get the most optimal settings with dma. i.e for most people, there's no need to mess around with hdparm.

The other areas are quite interesting though, It would be a good idea to have a hibernate function i.e 'ghost' the current pc state to a file and have that file instantly load and continue at boot.

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.