HOWTO Install Fedora 12 on Nokia N900

Kernel

You will need to install a kernel that has a framebuffer console. You can use your own or use mine. See: Installing my custom kernel if you would like to use mine. Version 2.6.28-omap1-jebba5 is known to "work".

bootmenu

You need to have getbootstate version 1.0.35+0m5 or greater for this to work. These docs are basically the same as installing Mer.

I have four partitions on my MicroSD card. The first one is 100M of VFAT just to shut up fremantle. The second is 1G of swap. The third is 7G of space for fremantle. The remaining space is around 7G of space for Fedora. You can install it in far less space, but I have a 16G card, so that's what I did. These docs assume you use my partitioning.

OLD

(Will add this to script later)

I got wifi going by writing a simple script that I can run at boot. Can't use many of the keys, so no "0", "/" etc. I used iwconfig which I yum installed in the chroot, but this could easily be done with the more modern "iw" which comes installed.

Note: I had wifi working fine, then I installed a bunch of apps and network config broke and can't find the device anymore. :(

Note 2: If you reboot without powering off or perhaps yanking the battery, your device may appear as wlan2 or wlan3 etc.

EDIT: UPDATE:

This works for a network that has no encryption but will not connect to one that does.
Boot into Maemo and chroot into the Fedora install. Then yum install wpa_supplicant.
Then edit your wpa_supplicant.conf to something like this:

This config below is for two wireless networks...I have one at home and at work that I could connect to. Obviously you need to change the SSID and passkeys to your relevant info. If you only need to connect to one wlan, then leave the 2nd one off.

and save it
Then
[code]
chmod +x wlanon
[/code]
Then reboot the phone and boot into Fedora desktop
Once logged in, run the script wlanon
This should initialise the wlan card, you can check this by typing iwconfig

You should now have internet access.

Do a yum install NetworkManager-gnome and let it install. When eventually you boot into the desktop, NetworkManager should start and you will be able to connect to any wireless network, regarless of wpa_supplicant.conf

If NetworkManager complains about required resources, run this command from the terminal
[code]
gtk-update-icon-cache -f /usr/share/icons/hicolor
[/code]
NetworkManager is working flawlessly with my install.

X.org

X is up and running with XFCE & openbox. I have the touchscreen working. I can do touchscreen calibration.

# as root, I did this via ssh when networking was working
yum groupinstall Base-X
# grab a desktop. No openbox or lxde available at the moment for ARM.
yum groupinstall XFCE
# Screen config.
yum install tslib xorg-x11-apps
# fix /etc/hosts to this so XFCE doesn't complain:
127.0.0.1 localhost localhost.localdomain fedora-arm
# since keyboard isn't working you have to set up this script from
# chroot or ssh in:
echo "TSLIB_TSDEVICE=/dev/input/event3 TSLIB_CONFFILE=/etc/ts.conf ts_calibrate" > /root/ts
chmod +x /root/ts
# then next time you boot up, log in as root and run "ts" to calibrate.
# Uncomment this line in /etc/ts.conf:
module_raw input

Misc

In a chroot I wanted to do a `yum update` and installs. Did a `mount -a` and needed to create a device:

cd /dev
MAKEDEV urandom

yum update
yum install wireless-tools openssh-clients git

route add default gw 192.168.1.1

disable /etc/sysconfig/network-scripts/ifcfg-eth0

Have lame network startup script run at boot.

stop startup stuff

chkconfig abrtd off
chkconfig auditd off
chkconfig ip6tables off
chkconfig iptables off
chkconfig netconsole off
chkconfig netfs off
chkconfig restorecond off

Build tools:

yum groupinstall --skip-broken "Development Tools"

yum install -y vim-enhanced file gqview xorg-x11-apps xterm

Auto login, edit /etc/gdm/custom.conf

[daemon]
AutomaticLoginEnable=true
AutomaticLogin=jebba

Edit /etc/inittab to set default runlevel to 5.

To get X pointer and keyboard working:

Mount up Maemo root partition:

mkdir -p /mnt/maemo
mount -t ubifs ubi0:rootfs /mnt/maemo

/usr/share/hal/fdi/* stuff from maemo to get touchscreen working in X. Copy it to /etc/hal/...