Small embedded Linux root file system for ODROID-7/7E

ODROID-7에서 테스트된 리눅스 루트 파일 시스템입니다.
ODROID-E7에도 적용 가능합니다.
Auto-Login을 구현하여, SDL 및 간단한 어플까지 만들어 모두 자동으로 실행하는 실용적인 예제가 될것 같습니다.

How to make a Small embedded Linux root file !

I found a generic embedded root file system with EABI by Googling.
At this moment, this link is broken.

To implement the auto login, I need to cross compile the mingetty in the Sourceforge.
After compilation, the generated file must be copied in to /bin directory.

Add below line in to /etc/inittab for automatic login as a super user(root)

T0:12345:respawn:/bin/mingetty --autologin=root ttySAC2 115200 vt100

To test this root file system, I copied it to the system partition(mmcblk0p2) of Odroid-7.

And I changed bootargs as below.
For ODROID-7 (S5PC110/EXYNOS-3110)

setenv bootargs 'root=/dev/mmcblk0p2 rw rootfstype=ext4  init=/sbin/init console=ttySAC2,115200 rootdelay=1'
setevn bootcmd 'movi read kernel 30008000;bootm 30008000'

For ODROID-E7 (S5P6450 ARM11)

setenv bootargs 'root=/dev/mmcblk0p2 rw rootfstype=ext4  init=/sbin/init console=ttySAC2,115200 rootdelay=1'
setevn bootcmd 'movi read kernel E0008000;bootm E0008000'

To make a SDL and application software, I followed below sequence.

Sourcery G++ Lite 2010.09-50  (GNUEABI version)
* Note: EABI version can’t compile SDL correctly. Must use the GNUEABI version.

SDL source code
Source code location on host PC
/home/justin/sdl/SDL-1.2.14 (This is my working directory. It is just an example!)

Compile SDL

export CC=arm-none-linux-gnueabi-gcc
./configure --host=arm-none-linux-gnueabi --prefix=/home/justin/sdl/compiled --without-x
make -j 4
make install

* Note: Modify the SDL-1.2.14/src/video/fbcon/SDL_fbvideo.c
Comment out the mouse related code in FB_VideoInit() function.

Compile sdl test (Modify the SDL init function to 800×480 resolution and 32bit color, if the application uses graphic layer.)

./configure --host=arm-none-linux-gnueabi  --with-sdl-prefix=/home/justin/sdl/compiled --disable-sdltest
make -j 4

Compile Freetype

./configure --host=arm-none-linux-gnueabi --without-zlib --prefix=/home/justin/sdl/compiled
make -j 4
make install

Compile SDL_ttf to display fonts.

./configure --host=arm-none-linux-gnueabi --prefix=/home/justin/sdl/compiled --with-freetype-prefix=/home/justin/sdl/compiled --with-sdl-prefix=/home/justin/sdl/compiled 

#undef HAVE_ICONV ==> showfont.c ( Modify this to avoid annoying error. But, this one should be fixed for proper display of 2-byte languages.)

make -j 4
make install

showfont executable file is generated in .lib directory.

SDL_ShowCursor(SDL_DISABLE);  //To hide the mouse cursor !!!

Download and Install font.
Uncompress and copy the fonts in to /usr/fonts/ directory.

Let’s test.

./showfont -i ../fonts/FreeSerif.ttf 30

To execute this application automatically, add below line in /root/.bashrc !!

/usr/bin/showfont -i /usr/fonts/FreeSerif.ttf 30

Finally we made a simple and useful root file system.
This is very light and fast embedded linux root file system.
Size is 35Mbyte approximately.
Get this root file system from



KES (Korea Electronic Show) has started yesterday. We have revealed our new products.

Our booth #1776








– ARM11 800MHz S5P6450
– 4inch multi touch Display
– Android / WinCE
– Available in November 



















– ARM Cortex-A9 Dual Core Exynos4210
– 10/100 Mbps Ethernet
– 4Port USB Host
– Available in November 








AD Pannel using ODROID-PC
42inch IR type Multi Touch








Added a Printer








There will be official update of our new products soon~~~

800Mhz ARM11 with Mali-400 GPU ===> S5P6450

Samsung’s latest application processor S5P6450(VEGA) for mid-range embedded market is based on 800Mhz ARM11 with Mali-400 3D GPU.

The key features of S5P6450 include:
– ARM1176JZF-S based CPU system with Java acceleration and Memory Mapping Unit (MMU) capability.
– 16KB I-cache and16KB D-cache CPU memories.
– 64-/32-bit 166MHz AMBA 3.0 AXI bus structure.
– Supports 32-bit Mobile DDR Interface Mobile DDR and DDR2.
– Embedded 64kByte SRAM and 64kByte ROM on AXI.
– Supports 8-bit 5 Megapixel (MP) capable Camera Interface
– Supports 24-bit 3x I2S and 16-bit 3x Pulse Code Modulation (PCM) Interface
– Supports 6x UART/2x SPI/2x I2C interface
– On-chip USB 2.0 OTG controller and PHY transceiver supporting high speed
– Supports USB HOST 2.0
– Supports Hardware Rotator
– Supports Transport Stream Interface
– Supports GPS baseband
– Supports Security SubSystem (SSS)
– Supports Mali400 3D engine
– Supports 13-ch. Touch screen Analog-Digital converter (TSADC)
– Supports MPEG2/4 decoder
– Supports eMMC 4.4
– Manufactured with the 45nm process for low power and low cost.
– Package is 409 pin FBGA type and dimension is 14.0 x 14.0 mm with 0.65mm pitch.

Many S3C2440 based application will meet a problem due to EOL(end of life) of SDRAM.
Samsung will not produce any SDRAM from middle of 2012.
So, you would better prepare your product with S5P6450/DDR solution for your future.
Please note the over all system cost will be very similar to S3C2440.
I’ll post this issue in detail within couple of weeks.