android kernel build for samsung omnia
http://forum.xda-developers.com/showthread.php?t=431329
Complete steps for booting the android linux kernel (updates follow as we progress):
Install Dev Environment:
apt-get install linux-headers-$(uname -r) gcc make kernel-package libncurses5-dev fakeroot wget bzip2 git-svn curl
Download Cross Compiler
http://www.codesourcery.com/sgpp/lit...tal/release642
Select: GNU/Linux (and then Advanced Packages / IA32 GNU/Linux TAR)
Download and Unpack Cross Compiler
(http://www.codesourcery.com/sgpp/lit...ux-gnu.tar.bz2)
# wget http://www.codesourcery.com/sgpp/lit...ux-gnu.tar.bz2
# cd /usr/local ; tar -xjvf /tmp/arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
Download Kernel (Thans to Oliver Ford!)
# git clone http://www.oliford.co.uk/hpipaq214/ipaq214.git v4
Change in Makefile:
# vi /ANDROID/v4/Makefile
ARCH ?= arm CROSS_COMPILE ?= /usr/local/xscale/arm-2008q3/bin/arm-none-linux-gnueabi-
Adjust resolution (Thanks to z720!)
open the /arch/arm/mach-pxa/hpipaq214-lcd.c and change the folowing parameters:
.xres = 240 .yres = 400 .pixclock = 96153.
Compile kernel:
make Image
The compiled and with Haret runable image will be in "arch/arm/boot/Image"
Download Haret (I used the PXA312 version from Oliver Ford from www.handhelds.com)
http://www.oliford.co.uk/hpipaq214/f...q214-aug08.exe
Change Haret Settings (default.txt)
set kernel "Image" Set ramaddr 0xa0000000 Set RAMSIZE 0x04000000 Set cmdline "root=179:2 rootdelay=3 rw init=/sbin/init" Set mtype 1653 Set kernelcrc 0 Set fbduringboot 1 Set forcefbduringboot 1
Bootlinux
Booting.....
If you copy the compiled Image to the directory in which you placed Haret, you should be off, the kernel will boot.. Mind you, this is just the booting kernel, the hard work will start from here!
Cross Compile busybox with static linking:
cd busybox-1.13.2/
Change Makefile to have the cross compiler active again:
ARCH ?= arm CROSS_COMPILE ?= /usr/local/arm-2008q3/bin/arm-none-linux-gnueabi-
Make the static busybox (make menuconfig first and disable all non wanted busybox commands, leave ash, init, rclinux and telnetd active for later use!):
# LDFLAGS="--static" CFLAGS="--static" make
# file busybox
busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped
Copy the busybox to the new initrd directory:
# cp busybox /ANDROID/initrd
# cd /ANDROID/initrd
# ln -s busybox init
# ln -s busybox ash
# ln -s busybox rclinux
# mkdir dev; mkdir sys ; mkdir proc
# cp -dpr /dev/ttys1 /dev/ttys2 /dev/ttys3 /dev/ttys4 /ANDROID/initrd/dev
Make the initrd.gz ramdisk fromout the initrd directory
# find . | cpio --create --'format=newc' | gzip >../initrd.gz
Copy it to the directory in which the kernel is placed...
Change default.txt cmdline:
Set cmdline "root=/dev/ram0 ramdisk_size=8192 rootdelay=5 rootwait rw init=/ash lpj=loops_per_jiffy boot_delay=100"
Boot and see why we need a keyboard now Next step is maybe auto configure network and start telnetd in the ramdisk
[OLD]
Hi, I read the thread about running Android on the Kaiser and was very interested to get at least a linux kernel running on my phone.. However no luck..
Well.. Tried to compile the kernel for this specific architecture (PXA312) with the gnueabi toolchain. The android kernel compiled fine with some minor changes. After that, i tried to start the kernel with HaRET but could not get it to start. I cannot determine the RAMADDR and the mtype for the omnia.
http://www.arm.linux.org.uk/developer/machines/
http://www.codesourcery.com/gnu_tool...ux-gnu.tar.bz2
http://code.google.com/p/android/downloads/list
HaRET does not seem to recognize the omnia's PXA312... Also i cannot determine the mtype for this.. Anyone have any ideas on how to get the kernel to boot???
Last edited by us1111; 10th February 2009 at 04:44 PM..
'Computing' 카테고리의 다른 글
android omnia kernel build (0) | 2010.02.04 |
---|---|
android omnia porting current status (0) | 2010.02.04 |
Windows Mobile / DirectShow / SampleGrabber (0) | 2010.02.04 |
omnia에 android 설치 (0) | 2010.01.15 |
pda rom dump (0) | 2010.01.15 |