Start/boot a version of Linux in 100-800 millisecond on an embedded HW

Translate This Thread From English to

Threaded View
I would like to use Linux on an embedded HW and my application requires the
system to start operation as soon as it is switched on.
(As an example, imagine a VCR, which start operation in a fraction of
second.)

I did not seleted the HW yet. I need 4xRS232 port + 4xUSB host interface +
100 MBit/sec Ethernet + Video card + Mouse & Keyboard input + 48 general
purpose parallel I/O lines + (battery operated) + physical dimensions are as
small as possible.

Can you advise me if it is possible to start/boot a version of Linux in
sub-second (100-800 millisecond)?
Do you know any embedded HW with the above specs?

Thanks



Re: Start/boot a version of Linux in 100-800 millisecond on an embedded HW

<Sahgu Rugha>

I never worked with embedded linux before, so my opinion may be worthless.
I've implemented an winxp embedded though, and when I was studying it, I saw
one technical article that tackled that issue. What they reccomended was to
implement two on/off buttons, one in the front which is the "soft" switch,
and one in the back of the device, that is the "hard" switch. When you turn
it on/off using the front switch, it only goes to standby (I don't know if
linux has such a mode), therefore with xp embedded the "boot" time is almost
immediate.

Cheers

Padu



Re: Start/boot a version of Linux in 100-800 millisecond on an embedded HW



I suppose you could also do it by having a large enough rom so that Linux
entirely fit onto the rom. That way it would simply be a metter of booting
by jumping to the kernel on the rom, and everything is already loaded. The
probem is that rom is liable to be rather slow memory.

Or there could be something to copy everything directly to ram and then
start, but that copying time is liable to be longer than a few
milliseconds.





Re: Start/boot a version of Linux in 100-800 millisecond on an embedded HW


The biggest delay is not copying from ROM to RAM, but device
initialization.  Trim all unnecessary devices from the kernel.  Do
all devices need to be working in 100-800 ms?  Or can you boot
with only the critical devices working, and defer initialization of
other devices?

If you are not committed to Linux, you might also want to check
out NetBSD, which will run on pretty much anything that will run
Linux, and may boot faster.


Re: Start/boot a version of Linux in 100-800 millisecond on an embedded HW



I regularly put my Linux laptop into suspend, rather than switching it
off. It starts up again pretty quickly from this state - and i'd say that
would be the fastest way to do it. However, as Bob says, initialising
devices is what takes time - along with, of course, reloading the memory
image from the hard drive. Take away the hard drive and have the memory
image on flash memory or something, and that would speed that up, but you
can't start up a system without initialising hardware.

If you can minimise hardware initialisation time, i'd guess, from my
experience of Linux coming out of suspend mode into fully operating
xwindow system, you ought to be able to boot in less than a second.

Will

Re: Start/boot a version of Linux in 100-800 millisecond on an embedded HW


There was a project a while back on the web that was about a few folk
who had replaced the PC BIOS boot ROM contents with a custom-written
one that contained the Linux kernel. The objective was to boot to a
command shell in under 1 second, but at the time I read it, they had
just got under 3s. Still pretty good, but it obviously wouldn't be
able to support just any arbitrary device being plugged in, only the
ones they'd tuned it with.

Anyhow, search for Linux in the BIOS flash, you might find them.

Re: Start/boot a version of Linux in 100-800 millisecond on an embedded HW


Found it:

The Linux BIOS project. Unfortunately the server that hosts the
LinuxBIOS homepage no longer exists, but this does:
<http://www.linuxdevices.com/links/LK8294110575.html>

Also of interest is <http://www.mvista.com/products/cee/features.html> ,
though that's commercial.

Re: Start/boot a version of Linux in 100-800 millisecond on an embedded HW


and so does this <http://www.linuxbios.org/> . Found it after
posting before :-).

Re: Start/boot a version of Linux in 100-800 millisecond on an embedded HW


Try http://www.linuxdevices.com/

Re: Start/boot a version of Linux in 100-800 millisecond on an embedded HW



As for hardware try the via eden cl/pd mobo
as both of these come in the mini-itx form and have very close specs to what
you mentioned

www.via.com.tw/en/products/mainboards/mini_itx/epia_pd/
www.via.com.tw/en/products/mainboards/mini_itx/epia_cl/
www.viaarena.com


Re: Start/boot a version of Linux in 100-800 millisecond on an embedded HW



Sahgu  Rugha after many days of avoiding medication, wrote:

http://www.via.com.tw/en/products/mainboards/

look @ the nano itx boards

embeds linux ok.
has a sleep / wakeup function integrated into the bios so it acts just
like a real hdd/dvd recorder.
I sometimes use mine to record the tv using the wak function.

Re: Start/boot a version of Linux in 100-800 millisecond on an embedded HW



oobie doobie after many days of avoiding medication, wrote:


VGA      
• Integrated VIA UniChrome™ Pro AGP graphics with MPEG-2 decoder/MPEG-4
Acceleration

System Monitoring & Management      
• CPU Temperature monitoring
• CPU voltage monitoring
• FAN control
• Watch Dog Timer
• Wake-on-LAN, Keyboard-Power-on, Timer-Power-on
• System power management
• AC power failure recovery

Op. guide look @ p 1 VIA series overview - it should fulfill your needs
<http://www.via.com.tw/download/mainboards/epia_n-series_nano-itx_mainboard/manual/OG_EPIA-N_110.pdf>

user man (with POST exploanation)
<http://www.via.com.tw/download/mainboards/3/4/UM_EPIA-N_104.pdf>

enjoy...

Site Timeline