[转帖]在Nokia N900上安装Arch Linux ARM(非chroot)

感谢Joni Lapilainen的教程:
[url]http://dismantle-it.blogspot.com/2011/1 ... -n900.html[/url]

先上几张效果图:
[attachment=4]01multiboot.jpg[/attachment]
[attachment=3]02bootup.jpg[/attachment]
[attachment=2]03bootup.jpg[/attachment]
[attachment=1]04bootup.jpg[/attachment]
[attachment=0]05LXDE.jpg[/attachment]

安装过程:

准备工作
在N900上安装rootsh, multiboot, kernel-power

N900必须开启研究开发模式并关闭进程监视
[url]http://wiki.maemo.org/User:Jebba/Fedora ... e_watchdog[/url]
需要用到刷机工具Maemo Flasher-3.5
Windows(仅32bit,64bit使用方法)
maemo_flasher-3.5_2.5.2.2.exe
Linux(仅32bit)
maemo_flasher-3.5_2.5.2.2.tar.gz
Debian(仅32bit)
maemo_flasher-3.5_2.5.2.2_i386.deb
OSX(仅32bit)
maemo_flasher-3.5_2.5.2.2_i386.dmg

空闲分区(6GB ext3 microSD卡),并挂载

mount -t ext3 -o noatime,nodiratime /dev/mmcblk1p1 /media/mmc1

接下来
下载http://archlinuxarm.org/os/ArchLinuxARM-omap-smp-latest.tar.gz
解压到你先前在microSD卡上创建的空闲分区

tar -zxvf ArchLinuxARM-omap-smp-latest.tar.gz -C /media/mmc1/

不要忘记了sync

从Maemo的/lib/modules拷贝kernel-power的modules到Arch的/lib/modules
对/lib/firmware重复这一过程

下载nokia-n900-keys.map
放到Arch的/usr/share/kbd/keymaps/arm/qwerty/下

chroot进入Arch

cd /media/mmc1
mount -t proc /proc /mnt/archlinux/proc
mount -t sysfs /sys /mnt/archlinux/sys
mount -o bind /dev /mnt/archlinux/dev 
chroot /mnt/archlinux /bin/bash

rc.conf中添加KEYMAP="nokia-n900-keys.map"
根据你的个人喜好修改rc.conf中的内容

安装udev-oxnas防止udev和syslog吃掉所有系统资源

时钟,电池和进程监控

脚本
http://mer-project.blogspot.com/2010/01/enabling-rtc-clock-battery-charging-and.html

时钟
rc.local中添加hwclock --hctosys

Xorg
注意:omapfb驱动有可能使Xorg出错,目前使用fbdev

pacman -S xf86-video-fbdev

然后根据Arch的Wiki安装Xorg
或者直接

pacman -S lxde

evdev设置

Nokia-N900:/# cat /etc/X11/xorg.conf.d/10-evdev.conf

Section "InputClass"
        Identifier "evdev pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev tablet catchall"
        MatchIsTablet "on"
        MatchDevicePath "/dev/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/event*"
        Driver "evdev"
        Option "Calibration" "172 3880 3780 235"
EndSection

退出chroot

exit
umount /media/mmc1/dev /media/mmc1/sys /media/mmc1/proc

然后拷贝Maemo的/usr/share/X11/xkb到Arch,使得键盘正常工作

创建Arch的multiboot选单

Here's mine:

Nokia-N900:~# cat /etc/multiboot.d/11-arch.item

ITEM_NAME="Arch Linux ARM"
ITEM_KERNEL="2.6.28.10-power49"
ITEM_MODULES="fbcon ext3"
ITEM_DEVICE="${INT_CARD}p1"
ITEM_FSTYPE="ext3"
ITEM_FSOPTIONS="rw,noatime,errors=remount-ro"

Wifi
应该能正常工作,反正wicd没问题,也可用你自己的脚本管理连接

Audio
安装alsa的相关包,并wget这条规则到/etc/udev/rules.d

使用alsamixer调节音量

More
这篇教程只是一个开始,还有许多工作要做
最新进展会在博客中更新
http://dismantle-it.blogspot.com
Happy Hacking

牛逼~

有想法! :em05

手机牛才是真的牛

等入手HTC。。。编gentoo :em09

以前就很中意的手机 :em19 可惜没买上!

hi-pda上应该还有人会出的,我就是在那里收的

很强大嘛

N900和N9都是神机,就差没装上苹果的系统了……

图全没了

牛人啊