Palm Pre:NFS-Root

From freesmartphone.org
Jump to: navigation, search

This page describes shortly how to run an own uImage with custom rootfs without any changes on your Palm Pre's flash. If you are interested in installing a custom linux to Pre's flash follow the instructions on this page.

Contents

1. Build an Image

We assume that you have already build or downloaded a rootfs and uImage. You can build an Image following the instructions on Palm_Pre:_Install_FSO#1._Build_the_FSO_image

2. Boot from NFS without Changing anything on your Pre

2.1. preparations

Our preparations are based on three steps:

  • install NFS and novaterm on your host
  • extract and export the rootfs
  • set up networking on the host system

2.1.1. NFS and novaterm

You can get novaterm from [1]. To install NFS on Debian-like systems it only takes the following command as root

apt-get install nfs-kernel-server

now extract the image you have build to some folder e.g. to /foo/bar

cd /foo/bar 
tar xfz yourImage.tar.gz .

This is your root-directory into which the Pre will boot and we need to tell our NFS-server to export this directory. With your favorite text editor edit /etc/exports and add the line

/foo/bar 192.168.0.0/24(rw,fsid=0,insecure,no_subtree_check,async,no_root_squash)

btw this assumes that you will use 192.168.0.0 network range with the server-ip 192.168.0.200 and 192.168.0.202 as your Pre-ip

Now you need to restart the NFS service to apply the changes.

2.1.2 set up networking

On your host (if it is using hotplug) put the following lines to /etc/network/interfaces'

 allow-hotplug usb0
       iface usb0 inet static
       address 192.168.0.200
       netmask 255.255.255.0 


2.2. boot from NFS

a) connect the Pre via USB to your local machine. Go into recover mode

either by powering on the Pre and holding the volume-up key or via novaterm

tellbootie recover

b) change bootargs

Now you are in the recover mode and should see a large USB logo on Pre's screen. Via novaterm you can now talk to bootie the Pre bootloader

novaterm

press enter and you see booties prompt ] here type

setenv bootargs "root=/dev/nfs nfsroot=192.168.0.200:/foo/bar,v3 ip=192.168.0.202:192.168.0.200:192.168.0.200:255.255.255.0::usb0:"

These bootargs tell the Kernel to boot from nfs and set the ip address of your pre's usb0 interface.

c) boot your Kernel

tell bootie to boot your kernel

 novaterm boot mem:// < uImage.bin 

This should boot into your image with your kernel.

Have fun testing and developing.

Personal tools