Home > AllWinner A1X, Linux, Testing, Video > Booting Linux in Less Than 1 Second in AllWinner A10 Devices? Yes! You Can!

Booting Linux in Less Than 1 Second in AllWinner A10 Devices? Yes! You Can!

threewater, a Chinese developer, has just posted a very interesting demo on linux-sunxi mailing list showing a device based on AllWinner A10 boot linux within 0.85s, and if you add a Qt app, the total time is just about 1.2s.

This appears to be a custom hardware (EM6000), but we do know it’s based on AllWinner A10, comes with 512 MB RAM, and 4GB NAND Flash. On the software side, the device runs kernel 3.4 from linux-sunxi, with a customized version of uboot, a squashfs rootfs, and a Qt 4.7.4 app showing a gauge. Both the rootfs (7MB) and the kernel (2MB) have been compressed with LZO. All that boots from NAND flash for optimal speed.

The 1.2 second time includes kernel + rootfs + app time, and the total time is a bit longer, but this is still impressive. Here’s the boot log:

[1.690000 1.690000] U-Boot SPL 2013.01-05984-g2120a27-dirty (Apr 17 2013 - 14:22:02)
[0.009000 0.009000] Board: EM6000
[0.012000 0.003000] DRAM: 512MB
[1.014000 1.002000] init startup v1.1
[1.016000 0.002000] mount usr data error 2
[1.158000 0.142000] Could not read calibration: "/data/etc/pointercal"
[1.166000 0.008000] Couldnt open tslib config file: No such file or directory
[1.175000 0.009000] QWSTslibMouseHandlerPrivate: ts_config() failed with error: 'No such file or directory'
[1.187000 0.012000] Please check your tslib installation!
[1.200000 0.013000] qt show

If you just boot to the command line, it’s even faster:

[1.770000 1.770000] U-Boot SPL 2013.01-g8a69ff9-dirty (Apr 22 2013 - 13:05:36)
[0.007000 0.007000] Board: EM6000
[0.009000 0.002000] DRAM: 512MB
[0.810000 0.801000] /etc/init.d/rcS: line 6: /data/run.sh: not found
[0.835000 0.025000]
[0.843000 0.008000] login[42]: root login on 'ttyS0'
[0.851000 0.008000] [root@(none) /root]#

This is not the first time, people have implemented ultra fast boot on ARM hardware, an example is a ~400ms boot on the Beagleboard, but it’s still nice to see what can be achieved thanks to developers’ communities such as linux-sunxi.

The complete details and/or binary files are not available at this time, but if you are interested in Linux fast boot, you may considering checking Adeneo Embedded presentation at ELCE 2012 who did something very similar on Freescale i.MX51 & i.MX 6Q hardware.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

  1. Ian Tester
    April 23rd, 2013 at 17:35 | #1

    That’s great, but it’s almost certainly being achieved at the cost of flexibility. It sounds like everything is in the compressed rootfs. So no mounting of a r/w filesystem, no starting of daemons, no handling of dynamic devices (i.e udev). Is it even bringing up a network interface?

    So, perfect for an “appliance”, like an industrial control panel. But don’t expect your desktop or media player to boot this fast.

  2. April 23rd, 2013 at 17:39 | #2

    correct me if I’m wrong but from the logs is seen uboot to launch their Qt app, so actually the uboot boots in less 1 second not linux

  3. April 23rd, 2013 at 17:46 | #3

    @Tsvetan
    They said they are using kernel 3.4 + squash rootfs. They must have disabled the kernel log to optimize the boot time.

    In the second log you can see “/etc/init.d/rcS” which is part of the rootfs.

    You’ll notice there’s about 1 second between:
    [0.012000 0.003000] DRAM: 512MB
    and
    [1.014000 1.002000] init startup v1.1

    I assume during this time the kernel is decompressed, and booted.

  4. j24
    April 24th, 2013 at 00:02 | #4

    nothing new here, we do this on omap4 and most of the platform for years (5)

    It’s amazing how it take other years to do the same

    on freescale we boot in < 350ms

  5. tejbir
    June 27th, 2013 at 14:17 | #5

    j24 can u plz help I really want to start this task on ti am3517 I want some guidance how to do this.Already I have booted on this board but i want to do it in minimum time.

  6. Behzad
    January 3rd, 2014 at 21:55 | #6

    Great boot time!
    How did you do this optimization?

  1. April 23rd, 2013 at 04:02 | #1
  2. April 24th, 2013 at 14:53 | #2