Android S3C6410 °³¹ßº¸µå |
||
Á¦Ç° ±¸¸Å : http://www.toolparts.co.kr |
? | 1 PrefaceThis page will explain how to compile Linux Kernel for Android S3C6410
2 Build environmentTested with Ubuntu 8.10/9.04/9.10 (Other Linux package might be fine to build Linux Kernel)
2.1 arm-none-linux-gnueabi-4.3.2 installedRefer to the Linux build environment.2.2 Android build environment2.1.1 Install essential packagesUbuntu need the follow essential packages for android
Run the command to install it:
2.1.2 Install JDK 5.0add this follow items in to Synaptic package source. (sudo vi /etc/apt/sources.list)?
Update Synaptic package source
Install it
3 Uboot compile3.1 Uboot configurecopy the file s3c-u-boot-1.1.6-Real6410.tar.bz2 From CD to ubuntu system in PC.s3c-u-boot-1.1.6-Real6410.tar.bz2 position: CD\linux\code
Then we can get the s3c-u-boot-1.1.6-Real6410 folders in bootloader folder, run the command to configure it:
3.2 Uboot compileWe can get the uboot image for different boot mode image, SD card boot and Nand flash boot image.Compile the uboot image for Nand flash boot:
If there is no error, u-boot.bin should have been generated with a file size of about 130~150Kbyte. you can get it in bootloader/s3c-u-boot-1.1.6-Real6410 folder
Compile the uboot image for SD card boot:
4 Linux kernel compile4.1 kernel compilecopy the file s3c-linux-2.6.28.6-Real6410.tar from CD to ubuntu system in PC.s3c-linux-2.6.28.6-Real6410.tar.bz2?position: CD\linux\code
Then we can get the?s3c-linux-2.6.28.6-Real6410?folders in kernel folder, run the command to configure it:
Compile the kernel image :
If you can build kernel successfully, you will have "arch/arm/boot/zImage" .
5 Android compile5.1 compile Androidcopy the file Android-2.1-Real6410-r1.tar.bz2 From CD to ubuntu system in PC.Android-2.1-Real6410-r1.tar.bz2 position: CD:\Android\code
Then we can get the?Android-2.1-Real6410-r1?folders in Android folder, run the command to compile it:
If there is no error,?android.tar.gz?should have been generated. you can get it in Android-2.1-Real6410-r1/rootfs?folder. 5.2 Android module supportWe provide the WIFI¡¢Camera¡¢JPEG¡¢GPS support lib for android 2.1 with *.so file.
Only the GPS module need configure when use this module.
In Android-2.1-Real6410-r1/vendor/realarm/real6410 folder, it have the libgps.so file, it is the GPS file, and it have other file as that:
Then rebuild the android again.
6 Burn and update the ImageThe Linux image contains 3 parts, namely bootloader, kernel, rootfs, this chapter will introduce the method to burning the image to the board
The Address for the parts was as follow:
6.1 Burning bootloader6.1.1 Create SD boot card(1) Insert the SD card to USB reader under WinXP, and format the SD card to FAT32 format.(2) Run the IROM_Fusing_Tool.exe tools,
(3) burn bootloader into the SD card
After burning the image successfully, there will be a pop-up windows ¡°Fusing image done¡±, Click ¡°Ok¡± to finish creating the SD card. 6.1.2 Burning the image into flash by SD card1) Insert the SD card to the Real6410.2) Set the board for SD boot mode
3) Power on the board, then the DNW will print the uboot message,
4) Then within 3 second, press ¡°Space¡± Key on PC keyboard, enter BOOT command line. SMDK6410 # 5) Format nand flash, run the follow command in the BOOT command line.
SMDK6410 # nand erase 0
6) Run dnw in te BOOT command line
SMDK6410 # dnw
7) In the DNW menu, Click "USB Port->Transmit-> Transmit", then choose uboot.bin file.
8) run the command in BOOT command line to burn it. SMDK6410 # nand erase 0 40000
SMDK6410 # nand write c0008000 0 40000
Then the uboot will be burned in the Nand flash.
6.2 Burning Linux kernel
1) Power on the board, enter the BOOT command line in DNW, run the follow command: SMDK6410 # dnw
2) In the DNW menu, ?Click "USB Port->Transmit-> Transmit", then choose zImage_android_43 file.
zImage file position: CD\android\Image\zImage_android_43
3) run the command in?BOOT command line
SMDK6410 # nand erase 40000 300000
SMDK6410 # nand write c0008000 40000 300000
Then the Linux kernel will be burned in the Nand flash.
6.3 Burning cramfs systemThe cramfs burning is only for burnning the Ubi filesystem.
1) enter the BOOT command line in DNW, run the follow command:SMDK6410 # dnw
2) In the DNW menu, ?Click "USB Port->Transmit-> Transmit", then choose rootfs_qtopia.cramfs file.
rootfs_android.cramfs file position: CD\android\Image\
3) run the command in BOOT command line
SMDK6410 # nand erase 400000 400000
SMDK6410 # nand write c0008000 400000 400000
Then the Linux cramfs will be burned in the Nand flash.
4) Test the cramfs
run the command in?BOOT command line:
SMDK6410 # setenv bootargs noinitrd root=/dev/mtdblock0 console=ttySAC0 init=/linuxrcSMDK6410 # saveenv Then reboot the board, if it print the follow message, it means the download is success.?
6.4 Burning Android filesystem systemMake sure the Cramfs is boot ok, If it is not ok, Please burn it again.1) copy the android.tar.gz file to the SD card or usb disk, and insert the Sd card or usb disk to the board. 2) Power on the board, boot the linux and enter the cramfs system,
3) input "a" and press "Enter" in the PC.
4) input "a" and press "Enter" in the PC to burning the Android auto.
5) If it print "Do you want to reboot now(y/n)", it means download success.
6) reboot the board, press ¡°Space¡± Key on PC keyboard, enter BOOT command line
SMDK6410 #7) run the command in BOOT command line:
SMDK6410 # setenv bootargs noinitrd console=ttySAC0 init=/init ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs fbcon=rotate:1 mem=224M
SMDK6410 # saveenv
8) Then reboot the board, it will boot into the Android system automatic.
7 System Picture |