Yesterday Miklos bumped pacman-g2 to 3.8.7 in current, so what’s the point? It includes also my patch that adds a new capability: now it can downgrade packages! (eheh ok it’s not that cunning, afaik Archlinux’s pacman can do it since ages)
When using WIP repos, you may need to drop them and downgrade all the packages to the version that is in the -current repo. While this operation is quite easy (pacman already prints the packages that are newer than the ones in the repo so, once you have that list in a reasonable shape, you just have to reinstall them), I think it’s handy an option to let pacman do it for you.
From now you can use pacman-g2 -Suu to downgrade all the packages with a version number higher than the one in the repo.
After a recent update of several packages I booted and instead of the GDM’s login screen it showed me a full-screen error message featuring a wonderfully smiling monitor: “Oh no! Something has gone wrong.” My first reaction was to panic but I soon calmed down. My problem was that I had never seen a fatal message like this from GDM and so didn’t know how to diagnose the problem. I Googled the title of the message and found that the following log file should contain any detailed error messages that GDM is reporting.
/var/log/gdm/:0-greeter.log
I successfully logged in at a console (i.e. non-GDM) by appending “3″ to the GRUB kernel line (which specifies the run level to be booted into). I then looked at the above log file and, amongst the messages found that the file “/usr/share/gnome-shell/theme/gdm.css” was reported missing. I confirmed that that file was not there. I’m not sure what package is supposed to contain it but from doing a “pacman-g2 -Qo <file>” on other files in the same directory, it seems it should have come with the Frugalware GDM theme. For the moment I copied this file from another distribution, logged out and rebooted. This time GDM started as normal and I could log in.
Problem solved! \\O/
Here are some of the major improvements, fixes and updates since 1.6pre2:
Hi,
As you have perhaps see I learn python since 2 months the result is here :
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugal-tweak.git;a=summary
I've write a pacman-g2 binding with ctypes, and a frontend to this libpacman in console mode and gtk3 with pygoject3-cairo.
For install it : http://git.frugalware.org/gitweb/gitweb.cgi?p=frugal-tweak.git;a=blob;f=py-pacman/pyfpm/README;h=ee227d4bf9b9af2d64dd6d04cad0602e1cc2106a;hb=HEAD
I will see for release a tarball after freeze. This pyfpm will replaces the broken frugal-tweak written in mono and vala.
This version can install/remove only one package by package. The latest version should install/remove some packages with the checkbox. It don't use ignorepkg and don't update pacman-g2 in first.
For this reasons that can't replace gfpm.
After I will see for write some GUI for configure Frugalware or check packagekit ABI.
Here some screenshots :


Search package :




And for finish python is very well !!!
Yeah, afeter Fedora, Arch, Ubuntu and OpenSuse, the Gnome-shell fork by and for Linux-Mint arrive on Frugalware. The users of current repository can use it with:
<pre># pacman -Sy cinnamon</pre>
Then with GDM, choosecinnamon as session.
Some screenshots of cinnamon on Frugalware:
I continue my status report about my portage ElementaryOS (or Pantheon Desktop) to Frugalware. About recent updated packages, I forgot to write about pantheon-terminal, the terminal developed for ElementaryOS:
Not bad ? But some features are still missing.
Lastly, I added a new package from Elementary, it’s Audience, a simple video player:
I have also eidete, the screencasting tool, in local tree for testing, it’s working but video files .webm sauved take only 0 kb, weird…
Shnatsel, official packager of the project, just told me that a documentation in progress is available here: http://tiny.cc/dev-guide-draft
Time to check the statut of my project to ElementaryOS to Frugalware. Elementary devels decided to choose Ubuntu as base, honestly I think it’s a mistake because Ubuntu is an “overpatched” distribution (remember my problems with Ayatana). Choosing Fedora as base would be better, even ArchLinux would be perfect. Elementary is not only well designed like MacOS but also light, and here, the KISS philosophy of Arch is a plus in my point of view.
These last weeks the development of Elementary application have well progressed. We don’t have Ayatana anymore on Frugalware, so, no WingPanel. I have updated the most of the packages in current repository of Frugalware but I not guaranty that these applications are fully operational, don’t hesitate to fill bug report to the authors on the launnchpad project page of the app.
You can find in current, these apps:
The player has now an equalizer.
I hope we can add soon an event and synchronize with Google Calendar.
I tested some plus for Switchboard. The one for Plank seems OK but it’s not the case of the system info’s one.
Ubuntu ? oO
Well, still some work to do for the ElementaryOS guys but they’re progressing in a good way. Elementary devels are open, and packagers from distributions are invited to contribute :
http://elementaryos.org/docs/packaging
This can help to simplify the portage of Pantheon Desktop environment to non-ubuntu distributions
Quick node about this useful project I packaged two days ago. It has a long FAQ - I was interested in how can one access the builtin nand storage on an arm board using it.
First, check your dmesg, you should see something like:
Creating 3 MTD partitions on "orion_nand": 0x000000000000-0x000000100000 : "u-boot" 0x000000100000-0x000000500000 : "uImage" 0x000000500000-0x000020000000 : "root"
As the names say, the three items here are the bootloader, the kernel and the root filesystem. To access and mount the last one, you need:
ubiattach /dev/ubi_ctrl -m 2 mount /dev/ubi0_0 root ... hack hack hack ... umount root ubidetach /dev/ubi_ctrl -m 2
I recently got a GuruPlug. It has Debian by default, and it’s apt config is set to stable, while in fact at the moment what’s the factory default is considered as oldstable by upstream. So if you blindly do a few apt-get install foo, soon you’ll have newer userspace than kernel, and your device will no longer boot (based on true story - and yes, this is not Debian’s fault). Moreover, I was interested in how to install Frugalware on this device, so here is a quick howto.
First you need to bootstrap Frugalware from Debian. It’s a good idea to install Frugalware on a USB stick, so you can switch back to Debian in case you messed up something and start from scratch again.
Partitioning is up to you, you’re recommended to have a small FAT (type: 0x0b) partition (32MB for example) at the beginning, we’ll use that later. The second can be the rest, ext4 or so.
Format and mount it (your device name may differ!):
mkfs.ext4 /dev/sda2 mkdir -p /mnt/sda2 mount /dev/sda2 /mnt/sda2
Then install our pacman-g2 binary to the Debian system, so you can bootstrap:
wget http://ftp.frugalware.org/pub/frugalware/frugalware-stable/frugalware-arm/pacman-g2-3.8.3-2mores2-arm.fpm unxz pacman-g2-3.8.3-2mores2-arm.tar.xz cd / tar xf /path/to/pacman-g2-3.8.3-2mores2-arm.tar rm .CHANGELOG .FILELIST .PKGINFO
Installing the required packages is a single command, as described here:
pacman-g2.static pacman-g2 --noconfirm -Sy core base -r /mnt/sda2/
Once the rootfs is ready, you need a new bootloader that will be able to boot our vanilla kernel.
You need a JTAG Board, so you can access the serial console. If you connect the USB cable to you PC, you can use for example
screen /dev/ttyUSB0 115200
to access the device.
Given that we want to boot a vanilla kernel, we need a vanilla bootloader as well. Before you mess with the bootloader, it’s a good idea to make a backup of its config (there is a 3 second timeout during boot - if you press any key there, you get the Marvell prompt). Here is my config:
Marvell>> printenv
bootcmd=${x_bootcmd_ethernet}; ${x_bootcmd_usb}; ${x_bootcmd_kernel}; setenv bootargs ${x_bootargs} ${x_bootargs_root}; bootm 0x6400000;
bootdelay=3
baudrate=115200
x_bootcmd_ethernet=ping 192.168.2.1
x_bootcmd_usb=usb start
x_bootcmd_kernel=nand read.e 0x6400000 0x100000 0x400000
x_bootargs=console=ttyS0,115200
x_bootargs_root=ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs
ethact=egiga0
bootargs=console=ttyS0,115200 ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs
ipaddr=10.10.10.10
serverip=10.10.10.179
ethaddr=F0:AD:4E:00:CE:C3
stdin=serial
stdout=serial
stderr=serial
The only semi-unique part is the MAC address of the network interface(s).
If you want to update the bootloader, a possible way is to put the new binary to a pendrive. Given that the default bootloader does not support ext*, we need a fat filesystem. So format the first small partition we created already (the device name may be different in your case!):
mkdosfs /dev/sda1
Till Frugalware 1.6 is released, support for GuruPlug is available in Frugalware -current only, so download the binary package from there, extract the u-boot.kwb file from the guruplug directory, put it to the new partition. (A few other models are explained here).
Before you reboot, copy also /boot/uImage to the fat partition, you may have problems problems with reading the kernel from the ext4 partition with u-boot.
Once copying the kernel is done, reboot and in the u-boot shell do:
usb start fatload usb 0:1 0x0800000 u-boot.kwb nand erase 0x0 0x60000 nand write 0x0800000 0x0 0x60000 reset
You can verify the updated bootloader with the version command:
Marvell>> version U-Boot 2011.12 (Jan 03 2012 - 16:55:38) Marvell-GuruPlug gcc (Frugalware Linux) 4.6.2 GNU ld (GNU Binutils) 2.22
If Frugalware is mentioned, that’s a good sign. :)
Now you can boot your new rootfs:
usb start fatload usb 0:1 0x00800000 /uImage setenv bootargs console=ttyS0,115200 root=/dev/sda2 rootdelay=5 bootm 0x00800000
If it booted fine, you may want to make this the default:
setenv bootargs 'console=ttyS0,115200 root=/dev/sda2 rootdelay=5' setenv bootcmd_usb 'usb start; fatload usb 0:1 0x00800000 /uImage' setenv bootcmd 'run bootcmd_usb; bootm 0x00800000' saveenv
The rest is up to you:
setting up a root password
setting up network by default using netconfig
and so on… you know this already, nothing arm-specific.
For the reference, here is the tested CPU and Frugalware version:
$ cat /proc/cpuinfo Processor : Feroceon 88FR131 rev 1 (v5l) BogoMIPS : 1191.11 Features : swp half thumb fastmult edsp CPU implementer : 0x56 CPU architecture: 5TE CPU variant : 0x2 CPU part : 0x131 CPU revision : 1 Hardware : Marvell GuruPlug Reference Board Revision : 0000 Serial : 0000000000000000 $ cat /etc/frugalware-release Frugalware 1.5 (Mores)