Porteus 3.2 for Raspberry Pi 2 and 3 (armhf)

Ahau's work on porting Porteus to ARM devices

Porteus 3.2 for Raspberry Pi 2 and 3 (armhf)

Postby jssouza » 19 Dec 2016, 23:01

First of all, thanks brokenman for sharing v3.2 build scripts.
Thanks also to Stuart Winter for starting the arm hard float port of Slackware a few months back.

Image

Download the zip from here:
https://www.dropbox.com/s/3bqdexuv6nyys ... 7.zip?dl=0

Installation procedure:
Extract the zip file onto a microsd card and boot the pi with it.

Boot menu entries can be updated in the boot/extlinux/extlinux.conf file whose syntax is similar to porteus.cfg of x86.
One quick way to add a cheatcode without having to change the extlinux.conf file:
Hit any key during boot up to get to the u-boot prompt. Then run these commands (example adding delay and fsck)
Code: Select all
setenv cheatcodes "delay=5 fsck"
boot


USM has not been included, because of an ever changing slackware-current repo. Also AFAIK, there aren't any other slackware arm repos, except for ponce's lxde, which I've already used to create a 003-lxde. The only way to add more programs is to build them from source.
The 05_devel.xzm and crippled_sources.xzm are present in the porteus/optional directory.

003-lxde.xzm is also in the porteus/optional. Replace xfce in the base directory with the lxde module, or use the noload=xfce load=lxde cheatcodes to run LXDE.

The Pi does not have an RTC, hence once wired/wireless internet setup is done, use the timezone=cheatcode to get the correct time via ntp.

Most package versions are kept same as that of x86 porteus. However, since slackware hard float port is based on slackware current, some packages (eg: Xorg 1.19) are newer. Some applications like cryptsetup, busybox, uclibc, packages linked to uclibc in the initrd etc are much newer.

Web browsers:
1. Firefox can be downloaded directly from slackwarearm-current and converted using txz2xzm.
2. Chromium on the raspbian uses the pi's hardware acceleration. The .deb can be downloaded from the raspbian repo and converted using deb2xzm.
3. Palemoon can be downloaded from here, and then converted to an xzm module.

PXE Boot
- Select "Porteus as PXE Server" from the boot menu on the pi that should be the PXE server.
- Assuming the PXE server pi booted up with IP address 192.168.1.102,
- On the PXE client pi, hit any key during boot up to get to the u-boot prompt.
- Run these u-boot commands on the client pi to boot from the PXE server
Code: Select all
fdt addr 0x17fed200 && fdt get value bootargs /chosen bootargs
dhcp ${kernel_addr_r} 192.168.1.102:kernel.img
dhcp ${ramdisk_addr_r} 192.168.1.102:initramfs.img
setenv bootargs "${bootargs} ip=dummy:192.168.1.102"
bootz ${kernel_addr_r} ${ramdisk_addr_r} 0x17fed200

- The above u-boot commands can be converted into a u-boot script (uboot-tools package is included in 001-core).


GPG signature: https://www.dropbox.com/s/mrpcmxz4k7ruh ... p.sig?dl=0
Verification key can be retrieved from:
Code: Select all
gpg --keyserver hkp://keys.gnupg.net --recv-keys 0x088CD13A9F601873


Md5sums:
5c499742382bff9b689fcdbaed09d0bc porteus-armhf-rpi-100217.zip
7c228a2b594774d848c3dadc7157a005 porteus-armhf-rpi-100217.zip.sig
Last edited by jssouza on 10 Feb 2017, 17:25, edited 3 times in total.
jssouza
Samurai
Samurai
 
Posts: 111
Joined: 09 Jul 2015, 15:17
Location: Liechtenstein
Distribution: Porteus x86 arm

Re: Porteus 3.2 for Raspberry Pi 2 and 3 (armhf)

Postby jssouza » 19 Dec 2016, 23:50

Technical Information:
Linux kernel is from https://github.com/raspberrypi/linux. I have added the aufs patch and needed porteus configs on it. Kernel and u-boot are built for the raspberry pi.

initrd is same as that of x86 porteus, except for necessary changes in linuxrc.
initrd and 001-core are pi independent. Hence porting to other arm devices should be easier once the kernel is booted, with this same initrd and 001-core.

002-xorg only has vesa, fbdev and fbturbo video drivers. Even though, slackwarearm provides other video drivers, they have been excluded so that the big fat LLVM could also be excluded. This makes xorg much leaner and hence better for copy2ram/rammod.
ffmpeg is built specifically for the pi hardware.
Code: Select all
guest@porteus:~$ ffmpeg
ffmpeg version 3.2.2 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.4.0 (GCC)
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --docdir=/usr/doc/ffmpeg-3.2.2/html --mandir=/usr/man --enable-gpl --enable-version3 --disable-static --enable-shared --disable-debug --enable-opengl --arch=armv7l --enable-pthreads --enable-postproc --enable-swscale --enable-x11grab --enable-avfilter --enable-gnutls --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libbluray --enable-libgsm --enable-libspeex --enable-libvo-amrwbenc --enable-libxvid --enable-libwebp --enable-libtwolame --enable-librtmp --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libcdio --enable-libfribidi --enable-libpulse --enable-mmal --enable-omx --enable-omx-rpi

Mplayer is not included. Instead omxplayer, that utilizes the pi's hardware for video acceleration is built.

003-xfce4 and 003-lxde are pi independent, hence porting to other arm devices should be easier. (Should work as-is).

busybox, uclibc and the binaries linked to it in the initrd are the only applications that have been cross compiled. All other non-slackware stuff are natively built on a Pi 3.

Since the Pi does not have an RTC, write to non-existence hardwareclock is commented in /etc/rcS. If using an RTC like the DS1307 over the i2c, please enable this back (i2c is already enabled). Similarly acpid is disabled (as an optimization) since the pi does not have an ACPI circuitry.
Last edited by jssouza on 12 Jan 2017, 08:55, edited 1 time in total.
jssouza
Samurai
Samurai
 
Posts: 111
Joined: 09 Jul 2015, 15:17
Location: Liechtenstein
Distribution: Porteus x86 arm

Re: Porteus 3.2 for Raspberry Pi 2 and 3 (armhf)

Postby francois » 20 Dec 2016, 02:28

@jssouza:
Thanks for this additional substantial contribution. :)
Voltaire: Le mieux est l'ennemi du bien.
User avatar
francois
Contributor
Contributor
 
Posts: 4580
Joined: 28 Dec 2010, 15:25
Location: C'est l'autome, en forêt les arbres d'ici nous en mettent plein la vue: les rouges, jaunes ...
Distribution: kde xfce porteus manjaro kubun

Re: Porteus 3.2 for Raspberry Pi 2 and 3 (armhf)

Postby jssouza » 20 Dec 2016, 13:40

Thank you for the encouragement Francois.
jssouza
Samurai
Samurai
 
Posts: 111
Joined: 09 Jul 2015, 15:17
Location: Liechtenstein
Distribution: Porteus x86 arm

Re: Porteus 3.2 for Raspberry Pi 2 and 3 (armhf)

Postby rajamohan » 30 Dec 2016, 20:02

Thanks much jssouza,

I am a big fan of Porteus, had setup few system around my circle, I was looking for this arm port long back

the main distribution is live now, will there be any chance we get a new build, also I need to setup printing, is the printing module is available or please guide me how to setup printing module

Thanks
Raj
rajamohan
Ronin
Ronin
 
Posts: 1
Joined: 30 Dec 2016, 19:54
Location: Chennai
Distribution: Linux Mint

Re: Porteus 3.2 for Raspberry Pi 2 and 3 (armhf)

Postby ppoo » 12 Jan 2017, 21:48

Hi to all! The link for dropbox is down. I would love to give this a try
ppoo
Ronin
Ronin
 
Posts: 1
Joined: 12 Jan 2017, 21:46
Location: canada
Distribution: 3.1

Re: Porteus 3.2 for Raspberry Pi 2 and 3 (armhf)

Postby jssouza » 13 Jan 2017, 12:57

Fixed the links. Thanks.
jssouza
Samurai
Samurai
 
Posts: 111
Joined: 09 Jul 2015, 15:17
Location: Liechtenstein
Distribution: Porteus x86 arm

Re: Porteus 3.2 for Raspberry Pi 2 and 3 (armhf)

Postby jssouza » 10 Feb 2017, 17:26

Uploaded new version. Please refer first post (also updated).

Changes:
1. Upgraded to kernel 4.9.y
2. Upgraded to more recent slackwarearm-current packages.
3. Pulled-in changes from 3.2.2 main version.
4. Included the LXDE desktop, along with XFCE.

Unlike before, I have uploaded only one zip file. The 05_devel.xzm and crippled_sources.xzm are present in the porteus/optional directory. 003-lxde.xzm is also in the porteus/optional. Please use the noload=xfce load=lxde cheatcodes to run LXDE. Please refer the first two posts for installation and other info.

LXDE screenshot:
Image
jssouza
Samurai
Samurai
 
Posts: 111
Joined: 09 Jul 2015, 15:17
Location: Liechtenstein
Distribution: Porteus x86 arm


Return to Porteus-ARM



Who is online

Users browsing this forum: No registered users and 1 guest