Archive for February, 2011

Automatically adding other distributions to Fedora Grub using os-prober

Recently I decided to play a little with Fedora’s Grub2 to see how it works. Fedora Grub2 package does not replace Grub1 and adds itself to its menu, so it is safe to install.

It is clear that Fedora is not ready to switch to Grub2 currently (while it is not much work to do so), since the grub2 menu of it is not polished at all: a simple black background, and Fedora menu entries appear as “GNU/Linux, with Linux VERSION”. Well, both are just a very simple polish work, one of them is tracked here.

I was surprised to see that other installed operating systems, like my Windows and the other installed Fedora was not added to Grub2’s menu. It is generally the task of grub2’s /etc/grub.d/30_os-prober script. I was surprised to find out that this script depends on os-prober for detecting other operating systems, which is a tool developed for Debian installer and is not available in Fedora. Therefore, I decided to package it and it is up for review here, waiting for someone to approve it! 😉 Also, it is clear that grub2 package should depend on it, so a bug report is created for it too.

But there is nothing in os-prober to make it useful only for grub2. Fedora is currently using grub1 and there is no clear plans for migrating to grub2 currently, and there are people who are frustrated when find out that Fedora is unable to automatically detect and add other installed Linux distributions to its Grub menu, which is also reported here. So, I decided to modify grub2’s os_prober script to generate menu entries for Grub1, and the result is available here. If you’ve installed os-prober, you can run this script and it should generate grub1 menu entries for other operating systems installed on your system (Windows and other distribution installations). However, I’m not sure if it generates correct entries for all systems, specially as it currently depends on /boot/grub/ to convert Linux device names to grub names. The script outputs the results to standard output and doesn’t modify your grub.conf directly, so you can try it safely.

An example output of this script is like this:

title Windows Recovery Environment (loader) (on /dev/sda1)
        rootnoverify (hd0,0)
        chainloader +1
title Windows Vista (loader) (on /dev/sda2)
        rootnoverify (hd0,1)
        chainloader +1
title Parsidora ( (on /dev/mapper/VolGroupLaptop-lvroot2)
        root (hd0,2)
        kernel /vmlinuz- ro root=/dev/mapper/VolGroupLaptop-lvroot rd_LVM_LV=VolGroupLaptop/lvroot rd_LVM_LV=VolGroupLaptop/lvswap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet
        initrd /initramfs-
title Fedora 15 tmp Installer (on /dev/mapper/VolGroupLaptop-lvroot2)
        root (hd0,2)
        kernel /vmlinuz askmethod
        initrd /initrd.img
title Fedora (2.6.38-0.rc5.git1.1.fc15.x86_64) (on /dev/mapper/VolGroupLaptop-lvroot2)
        root (hd0,2)
        kernel /vmlinuz-2.6.38-0.rc5.git1.1.fc15.x86_64 ro root=/dev/mapper/VolGroupLaptop-lvroot2 rd_LVM_LV=VolGroupLaptop/lvroot2 rd_LVM_LV=VolGroupLaptop/lvswap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet
        initrd /initramfs-2.6.38-0.rc5.git1.1.fc15.x86_64.img
title GNU GRUB 2, (1.98) (on /dev/mapper/VolGroupLaptop-lvroot2)
        root (hd0,2)
        kernel /grub2/core.img

GNOME Folks: Maybe *You* Should Do Something…

A while ago I read this post about a design decision for Gnome 3 power settings. Later I heard about all the comments about it and this clarification. I’ll talk about my take on the issue later in the post. Currently, I’m more concerned about some of the notes in the latter post:

… virtually all the discussion about this has been happening on #gnome-design, and there have been mockups bouncing around the GNOME design git repository for months. …

… The issue has already been discussed many times on #gnome-design, and we obviously we want a solution that works for everybody. …

… If you want to follow this issue, you can watch the wiki, design repositories and IRC channels. I’m sure it will be discussed again soon, and everyone is welcome to participate in those discussions, provided that their contribution is a constructive one. …

Hey, as you said, you’ve already seen that this way of gathering public feedback doesn’t work. Normal users will NOT follow every design detail in #gnome-design or follow the git repository. In wikis, I can see what is provided but it is not easy to notice what is missing. I might see the power settings mock-ups but I might not notice that it is no longer possible to change the behavior of Gnome when the lid is closed. So, none of the above are good ways to gather public feedback (as is clear in this case). You see, a blog post about a design decision has attracted a lot of attention. There are lots of users who cannot and/or do not want to follow all the design process, but they do care about design decisions. Therefore, when you come up with a design decision after such a hard work; it might be better to publish the design decision and request feedback in a suitable way so that you won’t suddenly face a considerable number of users unhappy with a design decision that has been made for months. This might not be practical for all design decisions, but IMHO it should be done for the important/debatable ones specially when you decide to eliminate something which is available in Gnome 2.

About this special design decision and some other similar design decisions like removing the “Startup Applications” preference, it is fine to remove the settings as while as you provide a way for applications to customize the behavior. Removing “Startup Applications” is fine if I can write a replacement myself. For example, if an application fails to remove itself from the list of startup applications for whatever reasons e.g. being uninstalled(!), there should be some way for me to remove it from the list of startup applications. If you let an application to prevent Gnome from being suspended when a laptop’s lid is closed, it’s fine to remove the corresponding preferences since there can be a prevent-gnome-from-being-suspended-when-laptop-lid-is-closed application which /I can add/it can add itself/ to the gnome’s Startup Applications so that my laptop is never suspended when I close my laptop lid (It is what our robotic team WILL need on the laptop which we use on our robot, since the laptop’s lid is closed while robot control software is running on it. However, we sometimes connect to the laptop using VNC, so in this case VNC server can prevent Gnome from being suspended too; and I think this is what a VNC server must do always. But I might happen to use a VNC server which is unaware of Gnome3, so I might use prevent-gnome-from-being-suspended-when-laptop-lid-is-closed application as a workaround; and I would hate Gnome if a workaround for broken applications is not possible).

Something somewhat related to some of the recent debates  about Fedora target users: IMHO, any design decision which doesn’t let a user to do what he wants to do is broken. And if such a decision is made to make software more user friendly, this is exactly when you are losing power users. I think Fedora can become more user friendly while still being a great distribution for power users if it does not follow such design decisions. Be more user friendly, but don’t do it by limiting your power users or making their life harder. Personally, I LOVE flexible software; specially if they make common tasks simple, others simpler and harder ones possible. That’s what I call a good user friendly software (for both naive and power users). Well, that might be impossible to be done in a single application(executable), but it can be done in a software consisting of a coherent set of tools.

Just my 2 cents, if anybody cares 😛

Parsidora 14, The Latest Release

About 20 days ago, we released the second version of our Fedora remix: Parsidora 14. This release was much more pleasant than the previous one: it happened at the right time (a little after Fedora 14 including most bug fixes, but before Fedora 15 Alpha release to look a bit old) with better testing, integration and polish. We have a more complete artwork and a new plymouth theme thanks to our graphics guy!

Taking advantage of the latest Fedora updates, this release provides a stable Fedora remix which (hopefully! 😉 ) works out of the box and provides lots of additional software which can be installed during or after installation, even if you don’t have any internet connection.

Some time has been passed since the release and so far, so good: we have not discovered any Parsidora specific bug and it seems that users are happy with it :). It has even attracted new volunteers to our distribution!

Parsidora Plymouth

Parsidora Plymouth Theme

As mentioned before, Parsidora tries to provide a more pleasant Fedora experience, specially those who do not have broadband internet access. Unlike other Fedora remixes like Fusion Linux and Omega (which are live distributions), Parsidora provides a DVD installation media targeting offline users. It also provides better support for Persian users. These two properties makes Parsidora a unique distribution among others. However, the general look and feel of Fedora is preserved since, as said earlier, we want to provide a more pleasant “Fedora” experience.

Parsidora Login Screen

The Parsidora Login Screen

Parsidora includes packages from Fedora, RPM Fusion and Livna repositories, plus some other additional packages. You can find the main features and packages of this release in this page.

Surprisingly, we received requests for a Live version of Parsidora, while we don’t have much to offer in that area compared to other live remixes. Our main target is still the installation DVD, but we might release a live version too. We have not decided yet, but it’ll probably be an Omega equivalent with some small additions like Parsidora branding and better support for Persian users. However, we might simply redirect such users to Omega and maybe trying to add some of our customizations to it. So, there might be a Parsidora live for the sake of completeness, but our (or at least my) main target is still the DVD media.

A small note about including non-free software in Parsidora: there are users who need and use them anyway, so there is no point in not providing them while there is no free alternatives. Specially for offline users (our main target), excluding them is nothing but a huge pain. It WON’T encourage them to avoid non-free software, but to avoid our software completely. However, we will try to encourage the use of free alternatives when possible.