aboutsummaryrefslogtreecommitdiff
path: root/README
blob: 4a62cd1b6917c0c7ba360a05c9dd4672caa62bdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Acer n35 buildroot
==================

This directory contains patches and config files to get a modern Linux kernel
running on the Acer n35 handheld. Most stuff is based on work by Christer
Weinigel[1] and Jiri Pinkava[2].

Getting started
---------------

buildroot
+++++++++

Go to the directory that contains this README:

	cd n35
	export REPO_DIR=$(pwd)

Download a copy of buildroot[3] and extract it:

	tar -xf buildroot-XXXX.XX.tar.bz2
	cd buildroot-XXXX.XX
	export BUILDROOT_DIR=$(pwd)

Copy the buildroot and busybox config file:

	cp ${REPO_DIR}/buildroot/config-2012.02 ${BUILDROOT_DIR}/.config
	cp ${REPO_DIR}/buildroot/busybox-1.19.x.config ${BUILDROOT_DIR}/busybox.config

Symlink the skeleton root fs:

	ln -sv ${REPO_DIR}/buildroot/skeleton ${BUILDROOT_DIR}/fs/n35-skeleton

And compile your toolchain:

	make

Now you can copy the contents of output/images/rootfs.tar to an SD card or NFS
share.

Kernel
++++++

Download the Linux kernel[4] and extract it

	tar -xf linux-X.X.X.tar.bz2
	cd linux-X.X.X

Set cross-compiling environment variables

	export INSTALL_MOD_PATH=/usr/armv4tl-softfloat-linux-uclibcgnueabi
	export ARCH=arm 
	export CROSS_COMPILE=arm-unknown-linux-uclibcgnueabi-
	export PATH=$PATH:$BUILDROOT_DIR/output/host/usr/bin/

Copy linux/X.X.X/config-nfs to .config and compile:

	cp ${REPO_DIR}/linux/X.X.X/config-nfs .config
	make

Copy the compressed kernel image and Christer’s WinCE boot.exe[5] to a FAT
partition on the SD card

	cp arch/arm/boot/zImage /mnt/mmc
	cp /path/to/boot.exe /mnt/mmc

Create a file called “default.txt” on the same partition with the following
content:

	# Acer N35
	set MTYPE 927

	set KERNEL "zImage"
	set RAMADDR 0x30000000

	set CMDLINE "console=tty verbose root=/dev/nfs nfsroot=192.168.131.102:/tmp/export,v3 ip=192.168.131.201:192.168.131.102:192.168.131.102:255.255.255.0:n35:usb0:off nfsrootdebug rw rootdelay=5" 

	bootlinux

This will start the kernel, set an IP address and boot the system from a NFS
share. Note that you have to set up the network device usb0 correctly on the
host system, otherwise mounting the root partition will result in a kernel
panic.

To boot from the second partition on the SD card use

	set CMDLINE "console=tty verbose root=/dev/mmcblk0p2 ro rootdelay=5"

[1] http://zoo.weinigel.se/trac/public/wiki/AcerN30
[2] http://web.vscht.cz/pinkavaj/linux_on_acer_n35.html
[3] http://buildroot.uclibc.org/
[4] http://www.kernel.org/
[5] http://zoo.weinigel.se/n30/downloads/n30-20060107-1454-wince-boot.zip