skip menu and go to main content

body start

Linux kernel for ODROID

Wiki

Project News

Project Info

activity viewforum,download view

1 Preface

This page will explain how to compile Linux Kernel for Odroid.

Please note, Odroid-S and Odroid-T users must follow this link.


2 Build environment

Tested with Ubuntu 8.10/9.04/9.10 (Other Linux package might be fine to build Linux Kernel)

3 Source code download

# git clone http://dev.odroid.com/gitroot/linux.git
# cd linux
After downloading, linux directory contains all source code of Kernel.

4 Kernel compile

To start Kernel compile, .config file should be made first. Odroid Kenel configuration file is located in arch/arm/configs/hkdk_rtm20_defconfig You can make .config with below command.
# make hkdk_rtm20_defconfig
Or you can copy manually hkdk_rtm20_defconfig to .config in linux directory.


Let's start compile !
# make zImage

If you can build kernel successfully, you will have "arch/arm/boot/zImage" (approximately 2Mbytes).


5 Transfer kernel image to target board(Odroid)

5.1 For Windows(XP) PC Users

1) Turn on Odroid and you can see below booting message. You need to press any key quickly to stop the OS booting process.
OK

U-Boot 1.3.4-svn (Oct 24 2009 - 22:16:25) for HKDKC100

CPU:     S5PC100@834MHz
         Fclk = 1668MHz, Hclk = 166MHz, Pclk = 66MHz, Serial = PCLK
Board:   HKDKC100
I2C:   ready
DRAM:    512 MB
SD/MMC:  1937 MB
In:      serial
Out:     serial
Err:     serial
Hit any key to stop autoboot:  0
HKDKC100 #
 


2) With "dnw" command, you can download any binary file to Odroid RAM from PC via USB.
HKDKC100 # dnw 0x20008000
Insert a OTG cable into the connector! 
 


3) If you plug USB Cable, you are ready to send binary file to Odroid.
HKDKC100 # dnw 0x20008000
Insert a OTG cable into the connector!
OTG cable Connected! 
Now, Waiting for DNW to transmit data
 


4) It's time to execute DNW utility. But, you should install USB driver first. Driver installation is required only for first time of USB connection.
Driver file and installation can be found in this link [http]http://dev.odroid.com/projects/uboot/wiki/.

5) Execute DNW utility software and set download address as u-boot wiki [http]http://dev.odroid.com/projects/uboot/wiki/.

6) You can start download with menu for USB Port -> Download to select file(zImage) to send.

7) After downloading, Serial terminal will show below message.

Download Done!! Download Address: 0x20008000, Download Filesize: 0x1e2c80
Checksum is being calculated..
Checksum O.K.
HKDKC100 #
 


8) You can test the kernel without physical writing on T-Flash. Useful only for testing.
HKDKC100 # bootm 0x20008000
 


9) Or, you can write the binary image to T-flash with "movi write "command.
HKDKC100 # movi write kernel 0x20008000
 


10) After writing, Serial terminal will show below message. And you can boot with boot command.
HKDKC100 # movi write kernel 0x20008000
Writing kernel to sector 3955662 (8192 sectors).. completed
HKDKC100 # boot
 


1) Run moviNAND_Fusing_Tool.exe and select drive of the card reader and Browse button near by Kernel Image file and choose "zImage"

2) Click "START" button and writing process will be done quickly.

reader-3.jpg


Note) Do not change other parameters. Changing will cause malfunction.

5.2 For Linux (Ubuntu) PC Users

1) With "dnw" command, you can download any binary file to Odroid RAM from PC via USB.
HKDKC100 # dnw 0x20008000
Insert a OTG cable into the connector! 
 


2) If you plug USB Cable, you are ready to send binary file to Odroid.
HKDKC100 # dnw 0x20008000
Insert a OTG cable into the connector!
OTG cable Connected! 
Now, Waiting for DNW to transmit data
 


3)To start download, use smdk-usbdl command.
# smdk-usbdl -f zImage
 


4) After downloading, PC will show below message.
# sudo ./smdk-usbdl -f zImage -a 0x20008000
SMDK42XX,S3C64XX USB Download Tool
Version 0.20 (c) 2004,2005,2006 Ben Dooks <ben-linux@fluff.org>

S3C64XX Detected!
=> found device: bus 004, dev 006
=> loaded 1977472 bytes from linux/arch/arm/boot/zImage
=> Downloading 1977482 bytes to 0x20008000
=> Data checksum e529
=> usb_bulk_write() returned 1977482
#
 


5) After downloading, Serial terminal will show below message.
Download Done!! Download Address: 0x20008000, Download Filesize: 0x1e2c80
Checksum is being calculated..
Checksum O.K.
HKDKC100 #
 


6) You can test the kernel without physical writing on T-Flash. Useful only for testing.
HKDKC100 # bootm 0x20008000
 


7) Or, you can write the binary image to T-flash with "movi write "command.
HKDKC100 # movi write kernel 0x20008000
 


8) After writing, Serial terminal will show below message. And you can boot with boot command.
HKDKC100 # movi write kernel 0x20008000
Writing kernel to sector 3955662 (8192 sectors).. completed
HKDKC100 # boot
 


6 How to check zImage update

  • While Linux kernel boots, you can see build date/time with Serial terminal.
Starting kernel ...

Uncompressing Linux ..................................................................................................... done, booting the kernel.
Linux version 2.6.27 (userid@laptop) (gcc version 4.2.2) #1 Fri Nov 6 13:12:56 KST 2009
CPU: ARMv7 Processor [412fc081] revision 1 (ARMv7), cr=00c5387f

7 How to be a developer for this project

If you want to join this project, please email me(ruppi.kim at hardkernel.com) your id.

Or, leave a message on the board with the following information.

Title: Want to be a member.

ID: (Your login ID)

Description: Brief introduction

After the registration process, you can commit source with git and modify Wiki pages