# Frugalware on Raspberry-pi : Installation

I haven’t post on my blog for quite some time now. But I began the new year by resuming my work on embedded devices. This time is about installing Frugalware on a Raspberry Pi.

The first step is to properly partionning your SD card. The Raspberry Pi bootloader can boot only from a FAT32 partition, so we need one. Also we need another partition to contain our Frugalware installation and optionnally a swap partition. As an example, I have the following.

Disk /dev/sdb: 31.9 GB, 31914983424 bytes
64 heads, 32 sectors/track, 30436 cylinders, total 62333952 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000f1e37

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      749567      373760    b  W95 FAT32
/dev/sdb2          749568     2846719     1048576   82  Linux swap / Solaris
/dev/sdb3         2846720    62332927    29743104   83  Linux


Now mount your linux partition (in my case /dev/sdb3) and the FAT partition (/dev/sdb1) as “/boot” and extract the following tarball into it.

Another solution is to perform a chroot installation but this require another arm device. In this case you need to add the repo armkernels and install the proper kernel for the Raspberry-pi from it (named kernel-raspberrypi). Otherwise follow the instructions provided here. Copy the content of your boot directory to the FAT partition (or mount your FAT partition as the /boot one before performing the installation). Finally, add a file named “cmdline.txt” into the FAT partition to specify the kernel boot commands like this :

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p3 rootfstype=ext4 rootwait


NB: In my case, my linux partition is the third one (/dev/sdb3) and is of type ext4, so I used “root=/dev/mmcblk0p3 rootfstype=ext4”.

PS: I will upload the script used to create the tarball here as soon as I get internet back @ home.

# Frugalware on ARM with QEMU

I started to port Frugalware on ARM some weeks ago.

We will see how to test this port using Qemu to emulate an ARM platform.

For now, the only way to install Frugalware on this architecture is to perform a chroot installation.
But to do so, you need another distribution (on arm) with pacman-g2 installed which is not convenient.

I made a little script to create a Qemu image with a base install properly configured from any other non-arm architecture.
You can download it here. So we can make the image :

wget http://ftp.frugalware.org/pub/other/people/elentir/arm/qemu/make-qemu-fwarm-image.sh
chmod +x make-qemu-fwarm-image.sh
sudo ./make-qemu-fwarm-image.sh

It generates a file named initrd-arm.img.

Note: – You can specify the size of the generated image by specifying the shell variable SIZE.
For exemple :

sudo SIZE=500 ./make-qemu-fwarm-image.sh

will create a 500 Mo image.

The script also copy the kernel image to the current directory. It ‘ll be used by Qemu.
You can also see that the script install an alternate kernel than the one from fwonarm repository.
The reason is that the fwonarm kernel is configured to be used with a Marvell Kirkwood platform (ex: Sheevaplug, Guruplug, Seagate Dockstar, etc.) which is the one I use for my real hardware. But Qemu can’t emulate this board, so we ‘ll use the VersatilePB one instead. The kernel for this platform can be found here.

Now we can start the Qemu arm machine with :

qemu-system-arm -M versatilepb -m 128 -kernel vmlinuz-2.6.39-versatile-fw2 -hda initrd-arm.img -append "root=/dev/sda ro quiet"

The machine will automatically reboot twice before you can get a shell.
(Pacman-g2 can’t run any .install scripts when creating the image so I create a script, executed at the first boot, to finish the configuration).

Log with user root, no password needed.

Edit: Update script and url since merge on current

# Fwife 0.7 : New version

Frugalware rc2 has been released this morning . Just before the freeze, I released a new version of Fwife.

Here is the changelog.

Some changes have been made to the package selection plugin.
Now, their is three differents choices : Basic, Intermediate and Expert.
The new one is the basic mode :

It is clearly designed for beginners. It provide a default installation of Frugalware. The only choice is the desktop environment so I added a picture and a short description for each one.

Furthermore, I noticed that the entry message of this plugin was not really clear. So I rewrote it to explain the differences between these three choices.

Another change in this plugin is that it is now possible to do a ‘base’ install of Frugalware using the Intermediate mode, so it is not needed to use the Expert mode anymore.

In the partionning plugin, I add a button to set a custom mount point. Previoulsy the ‘mountpoint’ column was editable to specify a custom mountpoint but some users told me that it was not really intuitive.

Since recently, Fwife is present on the cds/dvds of Frugalware. But so far, Fwife did not not support installation from an cd/dvd. It’s now supported.

# TeX Live 2010 on Frugalware Current

The first TeX Live 2010 version has been released in the middle of September. I pushed this new version on Frugalware current some days ago.

The main changes are the use by default of PDF 1.5, which improve a bit the compression (My (few) tests show a decrease of 8 to 9% of the files’ size) and the new command epstopdf which give the ability to convert eps files to pdf directly (MetaPost fans like me will like that new command).

Some new packages also made their appearance in this version. I’ll present only one : pst-knot.

It allows to draw some classical (mathematical) knots very easily, for exemple the trefoil knot :

\begin{pspicture}[showgrid=false](-2,-2)(2,2)
\psKnot[linewidth=3pt,linecolor=red](0,0){3-1}
\end{pspicture}

(Remember that the command pdflatex doesn’t support pspicture : use latex command instead).

Knots are classified according to number of crossings.
The first parameter of the psKnot function give the coordinates of the origin and the second parameter the type of the knot (here it’s the first knot with 3 crossings).

and then the result :

Documentation for this package is available here.