Openmoko on HTC-Dream

From Openmoko

Revision as of 10:28, 13 September 2009 by Leviathan (Talk | contribs)

Jump to: navigation, search

Contents

Introduction

HTC-Dream is a android based phone. Android is running on top of a Linux kernel. So we have basically no work to do using this kernel to boot an Openmoko user space. This work is done. I booted an Openmoko user space. The way to do it on your own is described below.

Working

  • USB-Ethernet
  • Framebuffer console
  • Xfbdev

Setup the rootfs

  • In this example setup I used a SD-Card as root partition.
  • In order to follow this guide format a SD-Card (just like installing Openmoko on Neo Freerunner).
    • First partition: vfat
    • Second partition: ext2 (root)
  • mount it and extract http://ftp.o2s.ch/pub/fso-console-image-htcdream.tar.gz to it.

Use internal memory

Type root into the login screen and for password just type enter then

ifup usb0

Then connect to your htcdream over usb+ssh:

ifconfig usb0 192.168.0.200
scp fso-console-image-htcdream.tar.gz root@192.168.0.202:~
ssh root@192.168.0.202
gunzip fso-console-image-htcdream.tar.gz

Then mount the internal memory with the biggest space make it clean and install your openmoko:

mkdir /mnt/foo
mount /dev/mtdblock5 /mnt/foo -o noatime -t yaffs2
rm -rf /mnt/foo/*
tar xvf fso-console-image-htcdream.tar -C /mnt/foo

Bootloader

You need to install fastboot. In order to do this, you will have need to have "root" on the existing Android device or already have a developer version of the bootloader installed.

Kernel

Building new kernel

I forked the android kernel and I'm adding new features daily Fetch the kernel sourcecode from http://gitorious.org/openmoko-msm-2-6-29 And configure it as you whish.

export HACK_DIR=`pwd`
git clone git://gitorious.org/openmoko-msm/openmoko-msm.git
cd openmoko-msm
cp arch/arm/configs/openmoko_msm .config
make CROSS_COMPILE=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/ ARCH=arm
sudo make CROSS_COMPILE=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/ ARCH=arm modules_install
sudo mv /lib/modules/2.6-29-openmoko-msm /mnt/foo/lib/modules/
sync
umount /mnt/foo

Building boot.img

mkdir $HACK_DIR/mk_boot_img
cd $HACK_DIR/mk_boot_img
wget http://wiki.openmoko.org/images/9/92/Mkbootimg.bin
wget http://wiki.openmoko.org/images/f/f6/Newramdisk.cpio.gz
mv Newramdisk.cpio.gz newramdisk.cpio.gz
sudo cp Mkbootimg.bin /usr/bin/mkbootimg

For SD-card rootfs

mkbootimg --cmdline "console=tty0 no_console_suspend=1 root=/dev/mmcblk0p2 rootdelay=2 fbcon=rotate:1" \
--kernel $HACK_DIR/msm/arch/arm/boot/zImage \
--ramdisk ./newramdisk.cpio.gz -o openmoko-boot.img

For internal rootfs

mkbootimg --cmdline "console=tty0 no_console_suspend=1 root=/dev/mtdblock5 rootfstype=yaffs2 rootdelay=2 fbcon=rotate:1" \
--kernel $HACK_DIR/msm/arch/arm/boot/zImage \
--ramdisk ./newramdisk.cpio.gz -o openmoko-boot.img

Flashing boot.img

  • Start into fastboot
  • execute
fastboot flash boot openmoko-boot.img
  • restart then handy
fastboot reboot

WLAN

Screenshots

Image.jpg Image2.jpg

Personal tools

Introduction

HTC-Dream is a android based phone. Android is running on top of a Linux kernel. So we have basically no work to do using this kernel to boot an Openmoko user space. This work is done. I booted an Openmoko user space. The way to do it on your own is described below.

Working

  • USB-Ethernet
  • Framebuffer console
  • Xfbdev

Setup the rootfs

  • In this example setup I used a SD-Card as root partition.
  • In order to follow this guide format a SD-Card (just like installing Openmoko on Neo Freerunner).
    • First partition: vfat
    • Second partition: ext2 (root)
  • mount it and extract http://ftp.o2s.ch/pub/fso-console-image-htcdream.tar.gz to it.

Use internal memory

Type root into the login screen and for password just type enter then

ifup usb0

Then connect to your htcdream over usb+ssh:

ifconfig usb0 192.168.0.200
scp fso-console-image-htcdream.tar.gz root@192.168.0.202:~
ssh root@192.168.0.202
gunzip fso-console-image-htcdream.tar.gz

Then mount the internal memory with the biggest space make it clean and install your openmoko:

mkdir /mnt/foo
mount /dev/mtdblock5 /mnt/foo -o noatime -t yaffs2
rm -rf /mnt/foo/*
tar xvf fso-console-image-htcdream.tar -C /mnt/foo

Bootloader

You need to install fastboot. In order to do this, you will have need to have "root" on the existing Android device or already have a developer version of the bootloader installed.

Kernel

Building new kernel

I forked the android kernel and I'm adding new features daily Fetch the kernel sourcecode from http://gitorious.org/openmoko-msm-2-6-29 And configure it as you whish.

export HACK_DIR=`pwd`
git clone git://gitorious.org/openmoko-msm/openmoko-msm.git
cd openmoko-msm
cp arch/arm/configs/openmoko_msm .config
make CROSS_COMPILE=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/ ARCH=arm
sudo make CROSS_COMPILE=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/ ARCH=arm modules_install
sudo mv /lib/modules/2.6-29-openmoko-msm /mnt/foo/lib/modules/
sync
umount /mnt/foo

Building boot.img

mkdir $HACK_DIR/mk_boot_img
cd $HACK_DIR/mk_boot_img
wget http://wiki.openmoko.org/images/9/92/Mkbootimg.bin
wget http://wiki.openmoko.org/images/f/f6/Newramdisk.cpio.gz
mv Newramdisk.cpio.gz newramdisk.cpio.gz
sudo cp Mkbootimg.bin /usr/bin/mkbootimg

For SD-card rootfs

mkbootimg --cmdline "console=tty0 no_console_suspend=1 root=/dev/mmcblk0p2 rootdelay=2 fbcon=rotate:1" \
--kernel $HACK_DIR/msm/arch/arm/boot/zImage \
--ramdisk ./newramdisk.cpio.gz -o openmoko-boot.img

For internal rootfs

mkbootimg --cmdline "console=tty0 no_console_suspend=1 root=/dev/mtdblock5 rootfstype=yaffs2 rootdelay=2 fbcon=rotate:1" \
--kernel $HACK_DIR/msm/arch/arm/boot/zImage \
--ramdisk ./newramdisk.cpio.gz -o openmoko-boot.img

Flashing boot.img

  • Start into fastboot
  • execute
fastboot flash boot openmoko-boot.img
  • restart then handy
fastboot reboot

WLAN

Screenshots

Image.jpg Image2.jpg