Sabayon Linux Repository maintainer / Web developer / Father / Elferrat


Create your own spinoff!

If you are in a small company or simply in a situation where you want to install a preselected list of programs then why shouldn’t you just grab SabayonCore modify the ISO so it will have anything you want and burn that to a disc. Or maybe you want to create your own Sabayon based distro and fork it a bit? Yes you can!

The tool we have in stock to achieve this is called molecule.
First install molecule (equo install molecule)

Then grab an example spec file.

All I can say is that if you want to start something based on the CoreCD you want to have a look at this spec file:;a=blob;f=examples/specs/5-x86-g-remaster-add-games.spec;h=5623f42dee8595990663ad2e72697cafd9ce9143;hb=29d45a193430bc8afbda65d0cf10f692144f5f70

(also found in /etc/molecule/examples)

Since I am for now only looking into a 64bits mastered ISO I’ve commented out:

# pre chroot command, example, for 32bit chroots on 64bit system, you always
# have to append "linux32" this is useful for inner_chroot_script
# prechroot: linux32

Next I point to where My ISO I want to remaster is:

# Path to source ISO file (MANDATORY)
source_iso: /home/joost/Sabayon_Linux_CoreCD_DAILY_amd64.iso

Now where does this all go:

# Destination directory for the ISO image path (MANDATORY)
destination_iso_directory: /home/joost

Tell molecule to update that ISO before installing anything (that is the next point in line)

# Determine whether repositories update should be run (if packages_to_add is set)
# (default is: no), values are: yes, no.
execute_repositories_update: yes

Tell it to add packages (in this case my set @lxde)

# List of packages that would be added from chrooted system (comma separated)
packages_to_add: @lxde

Ofcourse you can add as many packages here as you want!

I can imagine this does not actually give the perfect result yet.
In my example I use the @lxde set and it contains the gdm login manager by default. On CoreCD chroot there is actually nothing that triggers this to auto start. We also need to configure a file called /etc/conf.d/xdm and set it to use gdm.

Here an example snip. how thats done:

Make it use gdm:
sed -i 's/DISPLAYMANAGER=".*"/DISPLAYMANAGER="gdm"/g' /etc/conf.d/xdm

Make xdm startup automaticly (and thus load gdm)
rc-update add xdm

so I created
# Use gdm by default
sed -i 's/DISPLAYMANAGER=".*"/DISPLAYMANAGER="gdm"/g' /etc/conf.d/xdm
# automaticly start xdm
rc-update add xdm
# to be sure, cleanup
equo cleanup

All these commands should be put in a file, and we point our specs file to trigger it from within the chroot like this:
# Inner chroot script command, to be executed inside destination chroot after
# packages installation and removal
inner_chroot_script_after: /home/joost/

Now run molecule and make it all happen:
molecule sabayon-lxde-amd64.spec

Keep in mind I cannot guarantee anything YET, but it should give you a head start.
Also note that this is a strategy used where we take an excisting iso and modify it basicly. Much more advanced things ARE possible but lets start here rite?


Macbook 5.2 and latest alsa

Well I patiently waited for this and it now finally seems to work!

Just add:
options snd_hda_intel model=mb5

in this file: /etc/modprobe.d/alsa.conf

Reboot and there it is.


Scripting with the Entropy codebase

I’m not a python developer myself at all, but I was just curious about the great codebase that Fabio wrote and documented.

Knowing I have the repository database on my hard disc I figured it should be simple to let it list the last 100 changed packages.

This is how its done:

# -*- coding: iso-8859-1 -*-
from entropy.client.interfaces import Client
import time

client = Client()
repo = client.open_repository("")
cur = repo._cursor().execute

for row in repo._cursor().execute('SELECT `extrainfo`.`datecreation`,`baseinfo`.`atom` FROM `baseinfo`,`extrainfo` WHERE `baseinfo`.`idpackage` = `extrainfo`.`idpackage` ORDER BY `extrainfo`.`datecreation` DESC LIMIT 100'):
	my_time = float(row[0])
	human_time = time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.localtime(my_time))
	print human_time,' ',row[1]


If you want to know about the table layout, visually, you can use dev-db/sqlitebrowser

The database is located here:


or here


1 Comment

Sabayon 5.2 (soon to be released) on macbook 5.2

For the record I want to explain how to get 5.2 (as soon its out) can be installed successfully on a macbook 5.2 .

I take it one knows about refit, if not RTFM.

The first thing todo when booting the LiveDVD is edit the boot parameters and append: maxcpus=1 . Otherwise the kernel will panic (acpi issue).
Alternatively you can just disable all acpi but this will not do any good for day2day usage of the macbook.

Ok we start installer and we create 1 partition /dev/sda3 I used ext4, works just fine.
In the installer you need to check a box for advanced grub options and
select to NOT install it in MBR but in /dev/sda3 instead.
Personally I think this step actually is a bit buggy because after a
succesfull installation and syncing partition tables in refit you will
get a message that there is no operating system found if you try to
boot the linux partition. This is because it seems that grub2 actually
didn’t install there at all.

To fix this I booted live again to manually install grub here are the
excact steps todo it:

open a terminal, become root

– mkdir sabayon && mount /dev/sda3 sabayon
– mount -o bind /proc sabayon/proc
– chroot sabayon
– grub2-install /dev/sda3 –force (I guess its this step where it went /dev/null during installation process)
– equo update && equo install grub (this will auto generate the shiny
sabayon grub2 theme and detect the kernels)
– exit

Now reboot and there it is. Keep in mind that you still might need to append the maxcpus=1 flag to your line, to perm edit that line you can have a look in /boot/grub/grub.cfg


KDE 4.4 beta2 in Limbo now

This version will eventually never make it in the main repositories.

It can have some bugs and crashes. If you want to give it a try just do with limbo attached equo install kde-meta.

Incase you get a masked package remember that you can unmask packages like this:

echo “media-libs/gluon-9999” >> /etc/entropy/packages/package.unmask

(this post was written in Blogilo, a program that ships with KDE 4.4)

1 Comment

Creating Entropy sets

You use your Sabayon Desktop to your taste and you kinda always want to install the same thing when you freshly install Sabayon. Taken this idea there are sets you can create yourself or use the provided ones from entropy.

Here is an example how to make one for e.g. Gnome on a Core install. (or on a KDE install)
all sets are stored in /etc/entropy/packages/sets , so in my example I’ll use what will be our stock Gnome set for Core:
create an empty file:
touch /etc/entropy/packages/sets/gnome
and put in these atoms:
Save the file and do this:
equo install @gnome
The example set will actually be available in Entropy by default so there will be no need for creating this one, but I can imagine that you install Core and only want to install apache, PHP, MySQL and perhaps some additional packages. For such thing I encourage you to write a set and keep it stored somewhere safe in case you ever do a fresh install again.

1 Comment

Sabayon 5.0 update

Its been a little while since I posted on this blog but let me tell you in short whats going to happen very soon:
– Sabayon 5.0 Release Candidate 1 will be released for testing.
The Sabayon testing team went through 2 beta stages to get here so it should be fine for most people to check out. If the RC1 makes it through testing team it will be marked as 5.0.
– Chromium is here! No not only the chromium-bin version, but the chromium version build against our tree. (Entropy) and yes it works with flash!
– You can migrate to Sabayon branch 5 now using the following procedure:
  • Make sure you have latest entropy version on branch 4
  • equo hop 5
  • equo update
  • equo upgrade
Keep in mind that there is NO more support for KDE 3.x If your system has KDE 3.x installed don’t expect it to work after you’ve migrated to branch 5.
– We’ve migrated to latest libxcb-1.4
– Sabayon 5 will be more bleeding edge then ever! And we are planning keeping things updated daily using a testing repository. On the next release (5.1) all packages from testing repository will flow into the mainline repository.
– Latest beta 9.10 ATI fglrx are in entropy
– Kernel 2.6.31
So expect all off this coming to you very soon.

1 Comment