Android/Linux for PXA312 (Omnia)

Search This thread

us1111

Senior Member
Jun 19, 2007
186
2
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
www.codesourcery.com/sgpp/lite/arm/portal/release642

Select: GNU/Linux (and then Advanced Packages / IA32 GNU/Linux TAR)


Download and Unpack Cross Compiler
(www.codesourcery.com/sgpp/lite/arm/...q3-66-arm-none-eabi-i686-pc-linux-gnu.tar.bz2)

# wget http://www.codesourcery.com/sgpp/li...q3-66-arm-none-eabi-i686-pc-linux-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
Code:
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:

Code:
.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/files/h...aq214-aug08.exe

Change Haret Settings (default.txt)

Code:
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!

Photo0201.jpg

Thanx for the picture z720!

Cross Compile busybox with static linking:

cd busybox-1.13.2/

Change Makefile to have the cross compiler active again:

Code:
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:
Code:
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_too...-none-linux-gnueabi-i686-pc-linux-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:

cr2

Senior Member
Jan 15, 2005
1,671
59
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???

PXA3xx is supported by linux-arm, but you need to do a lot of device research
before you can boot linux.
Can you post your 'haretlog.txt' file ?
 

us1111

Senior Member
Jun 19, 2007
186
2
I'm using the latest haret-20080927.exe which generates the attached output... Took a little while, because after running the kernel this time, all my non-rom applications did not work (no certificate)..

These are btw. the PXA settings in .config:

CONFIG_ARCH_PXA=y
CONFIG_CPU_PXA300=y
CONFIG_CPU_PXA310=y
CONFIG_CPU_PXA320=y
CONFIG_PXA3xx=y
CONFIG_PXA_SSP=y

Sure hope you can help!! I'm reasonably known with linux and a bit of programming... By the way, i completely guessed the RAMADDR. Also the mtype i hope is close enough and got it from the linuxarm site (Marvell PXA3XX DVK Zylonite). These values are most probably wrong but I haven't got a clue how to determine these with the given tools...
 

Attachments

  • haretlog.txt
    6.5 KB · Views: 377
Last edited:

us1111

Senior Member
Jun 19, 2007
186
2
Omnia uses DDR ram while many others use SD ram. Maybe this will help

Well, maybe it's my lack of knowledge, but it did not help for me.. :confused: I believe that as long as I have no MTYPE or RAMADDR values, it's impossible to boot the kernel.. So I sure could need some help with that
 

us1111

Senior Member
Jun 19, 2007
186
2
Hmmm. Maybe I can do something with the following info regarding the RAMADDR:

128.58M (0x8095800) DSK1:
| 1.35M (0x159800) Part00
| 3.08M (0x313800) Part01
| 124.15M (0x7c27800) Part02

Now I just have to figure out what is the correct base.. No luck at all finding the correct MTYPE for my PXA312 though..
 

us1111

Senior Member
Jun 19, 2007
186
2
is it possible to compile it for PXA 27x?

Yeah.. It should:

root@JEOS:/ANDROID/android/kernel.git# grep -i pxa .config
CONFIG_ARCH_PXA=y
# Intel PXA2xx/PXA3xx Implementations
# Supported PXA3xx Processor Variants
CONFIG_CPU_PXA300=y
CONFIG_CPU_PXA310=y
CONFIG_CPU_PXA320=y
# CONFIG_MACH_LOGICPD_PXA270 is not set
# CONFIG_ARCH_PXA_IDP is not set
# CONFIG_PXA_SHARPSL is not set
# CONFIG_ARCH_PXA_ESERIES is not set
CONFIG_PXA3xx=y
CONFIG_PXA_SSP=y
# CONFIG_PCMCIA_PXA2XX is not set
# CONFIG_PXA_FICP is not set
# CONFIG_KEYBOARD_PXA27x is not set
# CONFIG_SERIAL_PXA is not set
# CONFIG_I2C_PXA is not set
# CONFIG_SPI_PXA2XX is not set
# CONFIG_FB_PXA is not set
# CONFIG_SND_PXA2XX_AC97 is not set
# CONFIG_SND_PXA2XX_SOC is not set
# CONFIG_USB_GADGET_PXA2XX is not set
# CONFIG_MMC_PXA is not set
 

kosmodisk

Senior Member
Sep 27, 2007
275
21
i´m not a programmer(i have only basic knowledge of it), but i would like to try porting android to hp ipaq rw6815/o2 atom, is it very hard? i've tried to run port for kaiser or vogue, but it stucks up on log: jumping to kernel

can you give me some advices? thanks
 

us1111

Senior Member
Jun 19, 2007
186
2
i´m not a programmer(i have only basic knowledge of it), but i would like to try porting android to hp ipaq rw6815/o2 atom, is it very hard? i've tried to run port for kaiser or vogue, but it stucks up on log: jumping to kernel

can you give me some advices? thanks

Well porting should not be a to big of an issue.. As far as i can see the kernel is the biggest hurdle (with drivers) and from then on you have to cross compile android.
 

tdh_andy

Member
Nov 6, 2008
14
1
Config

I got the kernel config done but i get an error trying to compile the kernel. I think i don't have the proper toolchain for this. I got the arm toolchain but i get some errors i'm not sure what i need exactly to get this fully done.
Has anyone managed to complie a proper kernel for omnia? If so can you please post a how-to?
 
Last edited:

unsungboxer

Senior Member
May 28, 2008
136
0
I am happy to see someone has started some development for an android port on the omnia. I am interested in getting this phone, hopefully it can run android in the near future.

I am currently rocking android on the vogue thanks to Martin (DZO's) hard work. Happy porting!

-Unsung.
 

ollnixon

New member
Dec 3, 2008
1
0
Has anyone got anywhere with this? Or does anyone know of any projects under way where we can help and contribute to?
 

smwald

New member
Dec 10, 2008
1
0
just picked up an omnia from verizon and am hoping to get android up and running on it - wondering if anyone had any progress or needed any help to further development.
 

Arty68

Member
Dec 24, 2008
5
0
Hi guys,

I have done some tests with Haret and some HP IPAQ images.
Good news linux is booting with this image.