A few posts back I posted about setting up your own spin. Things got moving quickly and we decided to overhaul the way we maintain our iso’s server-side.
Sabayon 5.4 will have everything based on the SpinBase iso and all applications on top off this will be placed in sets. A KDE set is going to be written soon.
A first result of the reorganization are the LXDE and XFCE spins released today!
Some important recent changes:
– On amd64 we moved to 32bits flash.
If you have a problem with it consider reinstalling nspluginwrapper. I know it is not the most elegant solution, but keeping users with a potential security risk was worse. And upstream Adobe did NOT provide a 64bits version.
– ATI-drivers 10.6 problems
Due a bug in the new ati-drivers that only affects people with a default xorg.conf (most off you) the light went out and X would die with a segfault. Check out this bug report on debian. As a result we decided to mask 10.6.
(this post was made by Mitch Harder on the development mailing list)
I want to bring everybody up to speed on some name shuffling we are
doing with our “Core” releases.
CoreCDX is now our primary public “Core” release. Users who want to
install a minimal Sabayon Linux version should use this version with
the graphical installer.
The CoreCD has been renamed “SpinBase”. It’s primary purpose is to be
our internal “Base” for building up automated “Spin” releases. It
will be publicly available to anyone who wants it (primarily
developers and molecule users), but will not be advertised as a
The upstream maintainers of Anaconda have drastically cut back the
functionality of the Anaconda installer with respect to console-based
The graphical installer is working great, and has updated some
capabilities to handle new hardware. But the console-based text
installer has lost the ability to custom partition an installation,
and is primarily directed at installing to an empty disk. Inattentive
users who are used to the previous text-based installer run the hazard
of overwriting their entire hard disk.
During this release cycle, we’ve been struggling with how to handle
this change in our installer. We’ve developed CoreCDX as a release
intended for end users who want a minimal Sabayon Linux system with a
robust, easy-to-use installer.
The CoreCD is still extremely important to Sabayon as we evolve our
“Spin” releases. But it has become of marginal value to end users due
to the limitations of the text-based installer. And, the text-based
installer as it exists now will confuse users and perhaps lead to lose
of data for those expecting it to function like previous releases.
So we have renamed the “CoreCD” to “SpinBase” since the name was too
close to CoreCDX, and would lead to confusion. As previously noted,
it will be publicly available, but not promoted as a “release”.
So, to summarize:
(1) CoreCDX is our new ‘minimal’ release for users who want a
stripped down Sabayon installation.
(2) SpinBase is a release primarily directed at developers who want
to use molecule, and also an important internal release.
As you might know, Youtube has a time limit for movies. They only allow a max. duration of 10 minutes each movie you upload. There is also a 100MB limit foreach movie but that wasn’t my problem here.
After some searching I found out that it’s pretty simple doing this with Sabayon Linux without installing any additional packages.
Given my movie (full_movie.avi) is a length off 00:18:49 I would need to split this.
create the first part:
mencoder -endpos 00:10:00 -ovc copy -oac copy test-001.avi -o part_1.avi
create the second part that starts at 00:10:00
mencoder -ss 00:10:00 -endpos 00:20:00 -ovc copy -oac copy test-001.avi -o part_2.avi
From here you can obviously continue until you split up the entire movie.
and there you have it.
joost@xbox-360 ~/dvdrip-data/test/avi/001 $ ls -lh
-rw-r–r– 1 joost users 77M May 21 19:59 full_movie.avi
-rw-r–r– 1 joost users 41M Jun 9 13:50 part_1.avi
-rw-r–r– 1 joost users 36M Jun 9 13:51 part_2.avi
Here is a quick checklist of things you can try.
I still have grub 0.xx how can I use grub2?
If you are using an older Sabayon install like 5.1 or earlier, grub might have been updated as a package, but it still would not be installed to the master boot record. You will have todo that manually if you want to switch over to grub2!
Will install the newer grub to the MBR, from here you need to generate the /boot/grub/grub.cfg
MIND THIS: grub2 does NOT use /boot/grub/menu.lst or /boot/grub/grub.conf anymore!!
To generate your new cfg file as root issue this command:
grub-mkconfig -o /boot/grub/grub.cfg
I have grub2 but it does not work from my external USB drive!
If you use grub2 from your USB MBR you want to add these flags to the kernel line in /boot/grub/grub.cfg
or even better would be to add them here:
and then regenerate you grub.cfg (grub-mkconfig -o /boot/grub/grub.cfg)
reason this is better is because whenever entropy automatically triggers the grub config rebuild script your direct edit on /boot/grub/grub.cfg will be lost.
I have grub2 and it boots fine , but my bootsplash image is corrupted!
Add this to your kernel boot line:
Hope it helps.
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:
(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)
Now where does this all go:
# Destination directory for the ISO image path (MANDATORY)
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.
Tell it to add packages (in this case my set @lxde)
# List of packages that would be added from chrooted system (comma separated)
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 inner_chroot_script_after.sh
# 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
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
Now run molecule and make it all happen:
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?
Well I patiently waited for this and it now finally seems to work!
options snd_hda_intel model=mb5
in this file:
Reboot and there it is.
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:
#!/usr/bin/python # -*- coding: iso-8859-1 -*- from entropy.client.interfaces import Client import time client = Client() repo = client.open_repository("sabayonlinux.org") 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) human_time = time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.localtime(my_time)) print human_time,' ',row client.shutdown()
If you want to know about the table layout, visually, you can use dev-db/sqlitebrowser
The database is located here: