armedslack -> proteus build

New features which should be implemented in Porteus; suggestions are welcome. All questions or problems with testing releases (alpha, beta, or rc) should go in their relevant thread here, rather than the Bug Reports section.
ag4ve
Ronin
Ronin
Posts: 3
Joined: 30 Apr 2012, 10:10
Location: United States

armedslack -> proteus build

Post#1 by ag4ve » 30 Apr 2012, 11:33

first the end goal: I'd like to get byzantium on a raspberry pi.

so, according to armedslack's home page, the kernel boots (http://www.armedslack.org/ @ 06-Mar-2012). ok great, so i diff your kernel config with that which armedslack uses, figure out what i should add/drop and follow your documented kernel build process (https://porteus.org/info/docs/51-develo ... ernel.html). shouldn't be too hard.

what i'm more interested in are configs and the likes (ie, how best to do this port). i'm going to assume that armedslack packages will convert the same way that x86 slackware packages will into a proteus xzm (if i'm wrong, stop me here - as i don't have one of these devices yet, i'm making a qemu environment to test this stuff). however, where are the config differences between upstream slack and proteus? or, what is the build methodology when a new version of slackware comes out?

ps - this is sorta separate and together with the byzantium project. the goal of this post is to figure out how best to get a proteus-arm-pi (or whatever you want to call it) release. i'd possibly also make a proteus-arm-qemu depending on how much time i spend in qemu and how different the port processes are.

refs:
http://forum.porteus.org/viewtopic.php? ... ef4c#p8683 (fluff)
https://porteus.org/info/docs/51-develo ... ernel.html
http://wiki.embeddednirvana.org/ARM_Emu ... Using_QEMU
https://porteus.org/forum/viewforum.php?f=92 (byzantium forum here)
http://wiki.hacdc.org/index.php/Byzantium (current project page)

User avatar
brokenman
Site Admin
Site Admin
Posts: 6105
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v4 all desktops
Location: Brazil

Re: armedslack -> proteus build

Post#2 by brokenman » 30 Apr 2012, 13:28

Ahau may chime in here ... i believe he has been playing with arm.

Diffing the kernel against a standard kernel is a good idea. There are a couple of things you will most certainly need. The aufs patch, support for initrd.xz and the rest you will probably figure out from your diff.

In terms of creation ... you can find all of the included packages by decompressing each base module (001-core.xzm etc) and checking the /var/log/packages. On top of this maintainers have a tree of unique packages/files that are added to the base slackware packages after running a cleanup script that removes unrequired files and patches others. This tree includes things like our icon set, unique porteus applications, config and menu files. Keep in mind firefox is broken on armv5te machines for now.

I think the first step would be to get the kernel bootable. Once you overcome that hurdle the rest should slide in smoothly.

PS: Proteus=Greek god of the sea .... Porteus=The best portable linux distribution.
How do i become super user?
Wear your underpants on the outside and put on a cape.

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: armedslack -> proteus build

Post#3 by Ahau » 30 Apr 2012, 15:21

Yes, indeed I have been playing with it for the last couple of weeks.

I'm using my tablet, an Acer Iconia A500 (Nvidia Tegra 2 SoC, dual core ARM cortex 9 processors @ 1.0Ghz w/1Gig of RAM). I presently have a working kernel (2.6.38.3) with an embedded initramfs that emulates the behavior of an initrd (initrd is really needed so you'll still have access to files in /mnt/live after pivot_root -- I had to go with an initramfs though, because my bootloader is locked and I can't find a way to boot the kernel with an external initrd), and Porteus modules for 001-core.xzm, 002-xorg.xzm, 003-xfce.xzm, 005-devel.xzm plus firefox (version 3.4, taken from armedslack repo, but no flash support yet) and the florence virtual keyboard. Not many applications as of yet (terminal, file manager, mousepad, etc., to support further development). Right now it's kind of held together with duct tape and nightly prayers to Proteus :D ...there's a lot still missing, but I'm willing to share with anyone who'd like to help and would like some help...

So, in short, if you can get a kernel booting on the Raspberry Pi, I believe I have everything else you'll need to get a functional system up and running. This underscores what will likely be the primary stumbling block for getting Porteus well established with an ARM port -- each device requires it's own kernel, so we'll need a "sponsor" of sorts for each device, who will be responsible for the kernel.
Please take a look at our online documentation, here. Suggestions are welcome!

ag4ve
Ronin
Ronin
Posts: 3
Joined: 30 Apr 2012, 10:10
Location: United States

Re: armedslack -> proteus build

Post#4 by ag4ve » 30 Apr 2012, 18:17

thanks for the replies, i think i overlooked the second bullet on that armedslack entry that indicated they have interest but no kernel. so, i guess the kernel isn't a far gone conclusion as i implied. and sorry for mis-spelling the distro.

@brokenman: "maintainers have a tree of unique packages/files that are added to the base" - where is the tree? i looked for the some porting documentation...

@ahau: i'll take you up on that (whenever you feel up to it :) ).

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: armedslack -> proteus build

Post#5 by Ahau » 30 Apr 2012, 18:43

Even if armed-slack had a ready-to-run kernel, you'd still need to apply the aufs patch and modify the configs a bit before Porteus would run, but if you can find a kernel version and config for the Pi from somewhere else on the net, we should be able to get you up and running. The other thing I'm not sure about is whether or not there's a Qemu virtual machine for the Raspberry Pi. I wasn't able to find one for the Tegra 2 SoC (though I think one exists as a part of the android development kit) so I proofed up some of my kernel config options and my base packages using a versatilepb vm under qemu.

I'll so some cleanup over the next couple of days to get my setup a little less hectic, probably create a googlecode page, and post my kernel config, initrd files, and modules. I'll probably get the kernel config up first, as that's where you're likely going to start. I'll post here when It's available, and we should probably start a thread in the Community Effort section, as this won't have official support or development for the time being.
Please take a look at our online documentation, here. Suggestions are welcome!

User avatar
brokenman
Site Admin
Site Admin
Posts: 6105
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v4 all desktops
Location: Brazil

Re: armedslack -> proteus build

Post#6 by brokenman » 30 Apr 2012, 20:24

There is a tree for 64bit & 32bit KDE/LXDE and Ahau has a tree for 64bit & 32bit XFCE.

I believe the tree's were uploaded for the last official release. I can certainly zip up the 32bit for you and upload somewhere if you need it. I would advise you concentrate on the kernel first, it will be the thing that makes you swear the most.
How do i become super user?
Wear your underpants on the outside and put on a cape.

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: armedslack -> proteus build

Post#7 by Ahau » 30 Apr 2012, 20:39

I'm still swearing at mine...damn thing won't unmount anything in a timely manner inside initramfs or initrd, and I find it hard to move on to other things when the sonofabitch still takes 2 minutes to boot and 2 minutes to shut down.

...try no. 642: hmmm, I have CONFIG_DEVTMPFS_MOUNT enabled, and fanthom doesnt...maybe disabling that will help...but probably not :(
Please take a look at our online documentation, here. Suggestions are welcome!

ag4ve
Ronin
Ronin
Posts: 3
Joined: 30 Apr 2012, 10:10
Location: United States

Re: armedslack -> proteus build

Post#8 by ag4ve » 01 May 2012, 05:58

ok, point taken. i'll get the toy and work on the kernel i win the computing bout of workingness :) though, it seems there are tons of tutorials for getting qemu working for the pi (see links below - mainly for my own use)

@Ahau: that would be awesome.

thanks again to both of you.

http://www.cnx-software.com/tag/arm11/
http://russelldavis.org/2012/01/27/sett ... mu-part-1/
http://russelldavis.org/2012/01/28/sett ... mu-part-2/
http://russelldavis.org/2012/01/28/sett ... mu-part-3/
https://balau82.wordpress.com/2012/03/3 ... with-qemu/ (this better be overkill)
http://igor.gold.ac.uk/~mas01mjy/wp/?p=95 (meh, ok)

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: armedslack -> proteus build

Post#9 by Ahau » 01 May 2012, 06:06

here's my current config for the acer iconia:
http://pastebin.com/NntBhb32

It's a patched customized kernel based on chromium which is based on debian, which is based on the linux kernel, so expect some things won't be identical... :D
Please take a look at our online documentation, here. Suggestions are welcome!

pizzar0
White ninja
White ninja
Posts: 28
Joined: 08 May 2011, 22:26
Location: Chritmas Island

Re: armedslack -> proteus build

Post#10 by pizzar0 » 01 May 2012, 12:47

@ Ahau
Got modified SLAX running on the Acer Iconia A100 for a couple of months now.

I think the kernel you guys most likely would need are the < 2.6.32.2x > series (ditching lzma2), simply because most of the hard work is already done by the guys over at openWRT. (and a lot of hard work it was!) Of course you cant just use those Athxx builds as-is but the important config/patch stuff they have pretty much sorted out.
At the very minimum one is likely to need:
1] Tegra Patch (patch#??....; it changed 3-4 times) under "MMU-based Paged Memory Management Support";
2] "fstack-protector buffer overflow detection" (its new, its broken in the main-line, its fixed -> patch# 8147);
3] "AUTO_ZRELADDR" - without which your kernel chokes, as you noted;
4] for the Acer, one can also use "Tekram DC395(U/UW/F) and DC315(U) SCSI support" (Patched w. patch# 8879).

Now, these patches "may" (should) work all the way up to < 2.6.39, anything higher YMMV. (Above 2.6.39 they seem to break "something".)

Else...
This is the problem with "blazing ahead" with the bleeding-edge, like here. All you end up doing is reinventing the wheel (a few times over). So, why not stand still for a moment, pick the right version and make it actually work?! Just my 2c...

p.s. C'mon maaan, the Iconia A500?!?! - Why?? We have the A100 running on 44' displays with all the goodies - and it fits in one's pocket when moving around :-)

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: armedslack -> proteus build

Post#11 by Ahau » 01 May 2012, 16:02

pizzar0, many thanks for the post. knowing someone has slax running on an acer tablet makes me feel less alone in the world :D

I'll dig in over at openWRT and look at what they're up to. Do you have any links to any discussions about slax on the a100? I wasn't able to get anything to show up using their search function (or google). A link to any of the tegra patches would be greatly appreciated as well, the only thing I was able to find was the ticket for patch# 8147.

In reading up on AUTO_ZRELADDR, it seems it specifies a location in the RAM for the kernel image. Does it also specify a location for the ramdisk? Seems like that would be handled by the bootloader, which remains locked down on the a500 (ok, some of the guys at xda-developers seem to have loaded uboot, but it's not a process that is recommended for your average user).

FWIW, I don't really feel like I'm on the bleeding edge of anything (except XFCE--I'm running 4.10 final). The kernel I'm using is 2.6.38.3, from here: https://github.com/astarasikov/iconia-gnu-kernel and it's been in use on the iconia for about a year. The only reason I'm looking to upgrade is because of the slow umount issue which seems similar to the symptoms in this bug report: https://bugs.launchpad.net/ubuntu/+sour ... bug/939240 which was resolved by upgrading to 3.2. I'm nearly done scripting around this anyway...since umount only seems to hang when it's the only process running, I've started sending most of my umount calls to the background and then using a while loop to delay the script a bit until /proc/mounts is clear, and things seem to be umounting almost instantaneously this way.

RE your P.S. -- yes, I've had my doubts about the A500, but more related to the locked bootloader and lack of general support for running native linux on it than for its size. My pockets are already too full for a 7" tablet and the a500 fits well in my backpack, which already goes everywhere with me. The screen is plenty small as it is, once I have a few windows and the virtual keyboard open, and it was never my intention to attach a mobile device to an 80-pound weight ;)
Please take a look at our online documentation, here. Suggestions are welcome!

pizzar0
White ninja
White ninja
Posts: 28
Joined: 08 May 2011, 22:26
Location: Chritmas Island

Re: armedslack -> proteus build

Post#12 by pizzar0 » 01 May 2012, 18:01

Seems like that would be handled by the bootloader, which remains locked down on the a500 (ok, some of the guys at xda-developers seem to have loaded uboot, but it's not a process that is recommended for your average user)
Absolutely. Which is why you need to head on over to openWRT to get the ***modified boot-loader [Trunk -> ulinBoot]*** to work with the Acer(s).
The kernel I'm using is 2.6.38.3
Whiich is the right thing to do. However, that github job, you link to, was cobbled together by "Ubuntu folk", whom... uhm... Do we really trust? (Not!!)

As to "Acer discussions'., I very much doubt that there are many (any?) out there but if you find some I sure would be interested. (Especially now that Acer is contemplating to enter the super-computing market with their 256 x Tegra III platform. How will slax/porteus run on that?! Shwiiiiiing!! :-)
All in all, it seems that the Tegra has quite some legs on the long run, especially with the up and coming high-density platforms with X x 128 CPUs piled on. Hence, the Acer Tablet(s) are nice (and cheap) little development platforms to do some next-gen stuff.
BTW, here is a little secret regarding 4' vs. 7' vs. 10' tablets; The A100 runs perfectly off of a 1800 mah solar panel, even on a cloudy day, which only measures 12" x 9", while the A500 will Not! Talk about portability. (I don't think I would recognize the Acer's charger even if I saw one :-)

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: armedslack -> proteus build

Post#13 by Ahau » 02 May 2012, 15:05

very nice, about the solar panel. I hadn't thought of that :) You hit the nail on the head with respect to the Acers. I bought one because it was the same chipset as a lot of the other tablets out there, but I got it for about half the price (bought an acer refurb off ebay).

I also agree about the kernel, it would be nice to not be based on an ubuntu kernel, but I've been unsuccessful in booting other kernels so far (this is my first time messing with more than just a couple of configs, so this comes as no surprise). I'm out of my league, as usual.

Posted after 17 hours 31 minute 31 second:
I've posted a thread in the Community Effort section, and posted some preliminary files on a new google code page. Let's move our discussion here: http://forum.porteus.org/viewtopic.php?f=75&t=1203

Thanks!
Please take a look at our online documentation, here. Suggestions are welcome!

Post Reply