Porteus for ARM machines

Here is a place for your projects which are not officially supported by the Porteus Team. For example: your own kernel patched with extra features; desktops not included in the standard ISO like Gnome; base modules that are different than the standard ISO, etc...
User avatar
Ahau
King of Docs
King of Docs
Posts: 1331
Joined: 28 Dec 2010, 15:18
Distribution: LXDE & Xfce 32/64-bit
Location: USA

Porteus for ARM machines

Post#1 by Ahau » 02 May 2012, 15:04

Hi All,

Getting Porteus running on ARM machines has been mentioned a couple of times on the boards now, and I thought it would be useful to start a thread to consolidate efforts and inputs.

The first thing you'll learn when you try to get linux installed on your ARM device is that a separate kernel is required for pretty much every machine; thus, we'll need individuals to step up to act as "sponsors" of sorts for their devices, who will be responsible for patching and compiling a kernel. I'll do more of a writeup on this process as we get more people interested (if we get more people interested)...

For now, to kick things off, here's a link to a new google code page I've started:

http://code.google.com/p/porteus-arm/downloads/list

First and foremost, you need to have a kernel that will boot your device, so you need to search the web if you haven't done so already, to find someone else who has been working to get linux on your device, and has kernel sources available. I started development in the qemu emulator (and can supply a 32-bit x86 Porteus module for those who would like to use it) to get the basics down, and then switched to my ARM device (an Acer Iconia A500). You'll need to install a cross-compiling toolchain for your kernel (more info on that upon request); once you get the kernel to boot on your device using pre-existing configs, it's time to add the AUFS patch, FUSE support, and a handful of other things are enabled -- see this HOWTO for more info on compiling a porteus kernel and adding the aufs patch: http://porteus.org/info/docs/51-develop ... ernel.html

Once you have a kernel booting with AUFS, you'll need to build an initrd (or an initramfs that creates a 'fake' initrd on the fly -- which is what I'm using). The files needed to do this are on the google code page linked above; once again, more info is available from me upon request (just trying to get this posted for now).

After you have a working kernel and initrd, you can throw in the rest of the system files. You'll want to include, at the least, a folder in the root of one of your partitions, called 'porteus', which will contain a file called 'porteus-v1.2-arm.sgn' and the folders 'base', 'modules' and 'rootcopy' (you can copy the directory structure from an existing porteus install), and copy the modules you want from the google code page into /porteus/base. If you're super familiar with Porteus, this is probably enough info to get you going, but otherwise I anticipate a fair number of questions, and I'll update the information here and on the google code page as we move along.

Thanks!

EDIT: As a heads up, I compiled a number of packages on my machine using 'generic' slackbuilds rather than armed-slack style slackbuilds, and didn't specify a '-march' flag. If you experience problems (especially with the XFCE module) let me know -- I've simply put off modifying all of my slackbuilds while I focus on just piecing this thing together (laziness on my part). This should be set at -march=armv4t to maintain compatibility with armedslack 13.37, though armedslack has moved to armv5te in 'current', and I doubt anyone will be booting Porteus into a GUI with XFCE on an armv4 marchine...
Please take a look at our online documentation, here. Suggestions are welcome!

User avatar
justwantin
Black ninja
Black ninja
Posts: 51
Joined: 09 Oct 2011, 19:10
Location: Melbourne, Oz

Re: Porteus for ARM machines

Post#2 by justwantin » 14 May 2012, 10:56

I might have a crack at this when my raspberrypi arrives and if I have the time

User avatar
oranus
Contributor
Contributor
Posts: 69
Joined: 25 Aug 2011, 13:46
Location: Turkey

Re: Porteus for ARM machines

Post#3 by oranus » 07 Nov 2012, 13:51

Thanks Ahau for arm devel.
I want to test your Porteus for arm development but I lack of knowledge about usb boot on Acer Iconia A500. Besides I think our community who has arm based tablet pc needs knowledge about usb boot procedures. Please write general information about what kind of arm based tablet pc support booting from usb flash or sdcard.
If I pass this step I'll test your devel. :)
Thanks...

User avatar
Ahau
King of Docs
King of Docs
Posts: 1331
Joined: 28 Dec 2010, 15:18
Distribution: LXDE & Xfce 32/64-bit
Location: USA

Re: Porteus for ARM machines

Post#4 by Ahau » 07 Nov 2012, 18:46

Hi oranus, thank you for your post!

Do you have an Acer Iconia A500? At this point, that is the only device that I could support with much knowledge. Unfortunatly, you cannot insert a USB flash drive and boot Porteus (or any distro) on this device (or, likely, almost any other android tablet). This is because it is an 'embedded' system, there is no BIOS that can recognize your flash drive and allow you to select to boot from it. Instead, the system is hard-coded to boot a kernel from a pre-defined location. In the case of the Acer Iconia A500, there are two kernels -- standard and recovery. I have replaced the android recovery kernel with a linux kernel with an initramfs that allows you to boot Porteus from the Iconia, an sdcard, or a usb drive.

There is a new bootloader that the folks over at xda-developers have put together which might make this all a little more straightforward, but that bootloader would still have to be installed by the user. I've not done this yet, as I've not been developing ARM for a while.

Each device requires its own kernel, so unless someone else can compile the kernel and patch in aufs and my initramfs, I won't be able to support those other devices. For the Iconia A500, I have a working kernel, but it is dated now and no longer being maintained (2.38.6).
Please take a look at our online documentation, here. Suggestions are welcome!

kyjthakeiv
Ronin
Ronin
Posts: 1
Joined: 31 Jul 2013, 07:50
Distribution: android 4.0
Location: usa

Re: Porteus for ARM machines

Post#5 by kyjthakeiv » 31 Jul 2013, 07:54

Ahau wrote:Hi oranus, thank you for your post!

Do you have an Acer Iconia A500? At this point, that is the only device that I could support with much knowledge. Unfortunatly, you cannot insert a USB flash drive and boot Porteus (or any distro) on this device (or, likely, almost any other android tablet). This is because it is an 'embedded' system, there is no BIOS that can recognize your flash drive and allow you to select to boot from it. Instead, the system is hard-coded to boot a kernel from a pre-defined location. In the case of the Acer Iconia A500, there are two kernels -- standard and recovery. I have replaced the android recovery kernel with a linux kernel with an initramfs that allows you to boot Porteus from the Iconia, an sdcard, or a usb drive.

There is a new bootloader that the folks over at xda-developers have put together which might make this all a little more straightforward, but that bootloader would still have to be installed by the user. I've not done this yet, as I've not been developing ARM for a while.

Each device requires its own kernel, so unless someone else can compile the kernel and patch in aufs and my initramfs, I won't be able to support those other devices. For the Iconia A500, I have a working kernel, but it is dated now and no longer being maintained (2.38.6).
I meet the same problem!

Post Reply