![]() |
Arch Linux ARM on N900
NOTE: Repository is down, and nothing is updated for awhile. This guide is still here for a reference and archival only. I do not know if I'll return to this or not, time (and demand) will tell.
Introduction This is the documentation part of my take on bringing the Arch Linux ARM (referred to as Alarm from now on) to your Nokia N900 device. This is not an official effort in any way, and I'm not related to Arch Linux or Alarm in any other way besides being a long time user. Please, settle down for a moment to carefully read through this post and the links I provide before plunging yourself any further. About https://www.archlinux.org/ Quote:
Quote:
The Arch Way v2.0. Why would I want to use Arch? http://alarm-n900.org/ Troubleshooting Read this and see this. I offer you a kernel and some more or less necessary packages. Kernel is known to boot with both U-Boot and Flasher, if it does not work for you, I'm not the guy to solve it or complain about to. Any issues you might have with kernel or packages by me, you will report to me, and me only. Anything Alarm, not related to kernel and packages I offer, you address to Alarm forums or IRC channel. Everything N900 specific relating to Alarm, be it help with configuration, hardware issues or such, you can, again, address to me, this thread or the so very friendly chaps at #maemo-alternatives. Documentation Introduction Beginners Guide Installation Guide Package Manager Credits Pali, Freemangordon, guys at #maemo-alternatives Developers of Arch Linux and Arch Linux ARM Arch wiki contributors Installation For your convenience, a small cheatsheet to help you install Alarm. Install U-Boot Get U-Boot. Get your system to boot to Maemo first. This is the most trivial part of the installation, and you need to get this done and tested before continuing. I don't want or need any reports of not being able to boot. NOTE: You need to use U-Boot from Extras-devel. Partitioning I recommend partition size over 4GB. When partitioning uSD, you don't necessarily have to create separate swap partition, it is highly recommended to use the existing swap on eMMC. For eMMC installs, I suggest creating swap partition on uSD. Filesystems of choice are ext2, ext3 or ext4. For anything else, you need a separate /boot partition with filesystem readable by U-Boot and an uinitrd, or kernel with the fs you want built in. See Partitioning. If you find that new partition table is not getting read, try Code:
blockdev --rereadpt /dev/mmcblk? http://alarm-n900.org/files/ArchLinu...-rootfs.tar.gz ftp://bokmal.de/arch-n900/ArchLinuxA...-rootfs.tar.gz http://www45.zippyshare.com/v/91278544/file.html - Untar to a partition (ext2/3/4) of your choice, sync. - Skip to "Add U-Boot menu entry". You can use wpa_supplicant, netcfg or wifi-menu for networking. Note that you'll get random MAC for wlan interface, on every boot, by default. Option 2: Get official rootfs Untar Latest OMAP rootfs to your dedicated partition. When done, sync. Chroot into your new Alarm install Before we can boot to the fresh system, we need to do some trivial work in chroot. See Chroot. Update and configure system Choose local mirror for pacman Add my repository to /etc/pacman.conf Code:
[n900-base] Code:
echo "Server = http://alarm-n900.org/\$repo" > /etc/pacman.d/alarm-n900 Code:
pacman -Syu linux-omap-n900 linux-headers-omap-n900 n900-firmware n900-integration Code:
systemctl enable n900_lights.service Example for Arch on first partition of uSD-card: Code:
ITEM_NAME="Arch Linux ARM" Good luck and have fun! Suggestions and tips Persistent MAC-address for WLAN interface If you use netcfg, and have one static connection you start at boot, you can add Code:
PRE_UP="ip link set dev wlan0 address xx:xx:xx:xx:xx:xx" More appropriate way to handle this would be the use of macchanger and a systemd service; see MAC Address Spoofing. I also suggest to set MAC-address to something different than what you have in Maemo, to avoid possible problems with SSH. Xorg So, you want Xorg on your device? The drivers in question are xf86-video-fbdev (unaccelerated) and xf86-video-fbdev-sgx-git (accelerated). The SGX stuff is highly experimental and a WIP, it works for me but can't promise it will work for you. If you have trouble with it, revert to xf86-video-fbdev. So, pick your poison. For input device configuration, install n900-configs. For n900 keymaps, install xkeyboard-config-n900-git. DSP Code:
pacman -Syu tidsp-binaries dsp-tools gst-dsp gst-omapfb To test the modem, install ofono-git from my repo. If you want calls, in addition to ofono you need everything from pulseaudio-n900 package group (EDIT: currently not in repo). For testing, there are command line tools in ofono-git package and you can find dbus examples via Google and from Maemo wiki. However, I don't currently recommend doing this, as it includes downgrading PA and it breaks support for it in most apps. Modem initializing is done by systemd service n900_modem, which you need to either start and/or enable manually with systemctl. To actually enable and online modem you need to run the very appropriately named tools from ofono called enable-modem and online-modem, in that order. Modem itself is very cunningly named /n900_0 in ofono. FAQ Blank screen after U-Boot a) U-Boot is badly set up. b) You have wrong version/build of it. Cant connect to WLAN If you're not doing it wrong, and happen to have your AP doing MAC filtering, see Persistent MAC-address for WLAN interface. Pacman complains about SSL/certificates Clock is off. No audio, wrong time, mysterious troubles, nothing works Power off once in Alarm and boot again. I mean power off, not reboot. Alternatively, you could make a habit of going U-Boot console and typing reset every time you come from Maemo and intend to boot Alarm. Annoyance, I know, but hey, at least it works. |
Re: Arch Linux on N900
BTW, did you try to chroot into it from Maemo?
|
Re: Arch Linux on N900
Anyone here uses openSUSE ?
I wish that can be had on a [ARM] tablet! edit: fixd! edit 2: I spoke too soon, guys its happening KDE-Linux and ARM are getting married |
Re: Arch Linux on N900
I'd like to thank you for the guide.
I succesfully managed to boot into ArchLinux using multiboot, but it immediatly started throwing "udevd[XXX]: unable to receive ctrl connection: Function not implemented"-errors at me. I had to do a reflash (no problem tho' - my phone was messed up), but I'll gladly try it out once again. One question tho': What do you mean when you say "remember to sync" after having put all the files onto the partition? |
Re: Arch Linux on N900
Quote:
|
Re: Arch Linux on N900
Quote:
I'm having some trouble installing udev-oxnas: Code:
Nokia-N900:/# pacman -S udev-oxnas EDIT2: Could you post your complete /lib/modules and /lib/firmware? I'm not sure I know which files to copy and where to. |
Re: Arch Linux on N900
got an headache here, lol, nice tutorial, :D
|
Re: Arch Linux on N900
Hi im trying this with kernel power 50 but during boot process im getting:
Your kernel does not have devtmpfs support. This is not supported. I've been searching a workarround for this, initscripts must be downgraded to 2011.07.3-1 version http://dl.dropbox.com/u/9633267/init...arm.pkg.tar.xz Now im able to get to the login but a few seconds later the system just power off. Can u guys give a tip? |
Re: Arch Linux on N900
Watchdog probably shuts your n900 down. WDT daemon must be started ASAP after boot, there is not much time.
Now, I can't boot and start WDT daemon too. Conflicting systemd-tools and udev-oxnas removes initscripts (...problem) when udev-oxnas is installed. But default udev stucks on boot and WDT resets my n900. So I'm just guessing. I need help too :( |
Re: Arch Linux on N900
You're correct with WDT daemon.
I have only found one work arround for conflicting systemd-tools and udev-oxnas, is not quite elegant but it does the trick. Is just pinning those packages, i added this lines to my /etc/pacman.conf: IgnorePkg = initscripts udev-oxnas systemd-tools mkinitcpio linux-omap linux-headers-omap (Last 2 packages are optional) |
All times are GMT. The time now is 20:40. |
vBulletin® Version 3.8.8