Professional Documents
Culture Documents
Beagleboard Project Hui Keji
Beagleboard Project Hui Keji
Hui Chen
Keji Ren
Dec 10th, 2009
EE382N-4 Project
Outline
Motivation
Objectives
Hardware of BeagleBoard
Techniques in optimizing boot time
Boot time result
Conclusions
Future work
Live demo
EE382N-4 Project
Motivation:
Why Faster Boot Time?
Boot time definition:
Time from turning on power to a shell welcome prompt (or a GUI).
EE382N-4 Project
Objectives
Optimize software in BeagleBoard for speed
1. bootloader
2. Linux Kernel
3. user-space applications
Achieve a 5-second
second fast boot time in BeagleBoard. Original boot time
was about 15 seconds.
EE382N-4 Project
BeagleBoard Hardware
OMAP 3530 Processor
600 MHz ARM Cortex-A8
A8 with NEON
256MB on-chip RAM
256MB NAND Flash
Peripheral I/Os
DVI-D, SD/MMC+, S-Video,
Video, USB 2.0
Stereo In/Out, RS232 Serial
Power
USB or 5V DC
EE382N-4 Project
EE382N-4 Project
Boot Sequence
EE382N-4 Project
Strategies
Load from NAND Flash
X-loader/u-boot
boot loading speed in SVC32 cpu mode: NAND = 1MB, MMC = 500KB/s
NANDs block size is 128 KB per reading. We modified x-loader
x
to only load 2
blocks (instead of 7 blocks originally).
EE382N-4 Project
Strategies (cont.)
Reduce user response time
1. Set bootdelay to zero in u-boot
boot (so user can't interrupt u-boot)
u
2. Turn off serial output by passing 'quiet' parameter to Kernel
Strategies (cont.)
User-space optimization
1. Build Linux rootfs from scratch. By carefully tuning uclibc and busybox, we
reduced total size of rootfs to about 780KB without losing desired features.
2. Minimize init script: disable syslogd and klogd, remove unused tty and rc
scripts.
EE382N-4 Project
EE382N-4 Project
0.22
1.28
0.06
Uncompressing Kernel
0.73
Execution (Kernel)
0.29
0.27
User-space applications
0.07
Total
2.92
EE382N-4 Project
Conclusions
We established a website with wiki pages, all modified source code and binaries:
http://code.google.com/p/swiftbeagle/
EE382N-4 Project
Delay (second)
Optimization to use
0.22
XIP/driver
1.28
XIP/driver
0.06
Uncompressing Kernel
0.73
Execution (Kernel)
0.29
0.27
User-space applications
0.07
Total
0.42
uncompressed Kernel
faster FS/driver
EE382N-4 Project
Demo Time
EE382N-4 Project