Getting Rid of 2nd Stage of Installation
The area of most of the steps is the 2nd stage of installation (after reboot). We internally call this the configuration of the new system and it consists of several steps giving the user maximum flexibility to setup the system before it starts in a full-scale. While the reasoning works for simple servers that get online immediately, it does not fit any of these use cases:
- server running mission-critical service - those servers are installed off-line, running in a testing mode for some time and only after that they are put into production environment
- workstations and home users - there, a user needs to be running full system as quickly as possible
So, one of the goals is to reduce the 2nd stage of installation to only the minimal set of steps.
Status in openSUSE 10.3
There are following steps in the 10.3 installation workflow:
- root password
- hostname and domain
- network hardware proposal
- test of internet access
- setup of updates repository
- application of the already released security and recommended updates
- adding non-root users
- release notes
- hardware configuration proposal
- congratulations screen
How to Simplify?
There are several ways to simplify the workflow. It's easy to see that the only absolutely necessary step needed is entering the root password. However, having a normal user is also quite a good security policy, so this step should stay as well.How to get rid of other steps?
The following steps can wait for the running system:
hostname and domain
test of internet access
setup of updates repository
application of the already released security and recommended updates
Hostname and domain is typically set by DHCP these days, or an admin knows how to set it up. The test of internet access can be easily done by starting Firefox or ping, and that's a typical first action of a user, right?
The question of security updates is a bit more complicated. Yes, it is very important to apply the security fixes as soon as possible, but frankly, who wants to wait for this before the machine can be used? Also, application of the updates are done by the applet, where the tendency is to have it as non-distracting as possible. So, the applet (and of course YaST Online Update (YOU) and zypper) could be enhanced to identify that there are no updates repositories set up and provide an easy option to do it. YOU already has this capability (it detects if there are not repositories containing patches). A final note: firewall is enabled by default during the whole installation.
What about the rest of the steps?
root password
network hardware proposal
adding non-root users
release notes
hardware configuration proposal
congratulations screen
The current proposal is to move the root password and adding of non-root users to the 1st stage, as they are mandatory for the system to be functional. This introduces quite interesting issues like checking the quality of root password as the cracklib dictionaries are big. Also, how to support LDAP, NIS and all other kinds of 'enterprise' authentication options (here, it would be possible to reactivate the needed parts of the interactive 2nd stage based on the input from the 1st stage).
This leaves us with 2 hardware-related proposals:
network hardware proposal
This contains both hardware proposal, but also configuration of firewall, proxy and remote administration. The hardware part could be easily handled by NetworkManager for workstations while servers need typically a complex static setup which is much easier done and is far less error-prone in the running system. For me, the only crucial part left is the firewall, specifically enabling of ssh access to the machine. Without this, you cannot remotely finish the configuration after the installation is done. OTOH, it's wise to activate the firewall with closed ssh port by default. A possible solution would be to move firewall to the 1st stage as well.
hardware proposal
This one might be tricky. The installation currently configures printers, sound, X11 and TV cards. In most cases, sound and TV cards just work with the proposal. Both printers and X11 are heading in direction of autoconfiguration, although if X11 proposal breaks, this can be quite an issue for the system - anyway, I'd consider to be a bug and the X11 configuration that's used during the install is available in the running system as fallback as well. As soon as the system has any running X11, there is plenty of tools to fine-tune the setup. So, the proposal solution would be here to autoconfigure all hardware and leave the fine-tuning to the running system as well.
congratulations screen
And of course, let's get rid of the congratulations screen ;-)
The Proposal
So, the summary of the proposed changes:- root password -> 1st stage
- hostname and domain -> drop
- network hardware proposal -> NetworkManager + firewall in 1st stage
- test of internet access -> drop
- setup of updates repository -> opensuse-updater, zypper, YOU
- application of the already released security and recommended updates -> opensuse-updater, zypper, YOU
- adding non-root users -> 1st stage
- release notes -> 1st stage
- hardware configuration proposal -> autoconfigure in 1st stage
- congratulations screen -> drop
There are quite some assumptions and a big question if we can reach this state for 11.0 already, but in the end, the installation experience of openSUSE would be much improved in my opinion.
Note: This proposal is a result of my discussions with Coolo (who's driving the rewrite of the workflow), kobliha (who's maintaining YaST installation), Jiri Srain (one of the YaST team leads) and others.
Mango Lassi
The other day I looked into switching away from synergy to Mango Lassi. I only use it between two machines, so I figured my use case was simple enough that it should work at this stage. I was not disappointed. I was getting some very strange behavior with synergy and vmware, and Mango Lassi has none of that. Plus it gives an OSD telling you which machine the mouse/keyboard are being used on, which is a nice perk.
Anyway, I was so happy with it that I made packages for openSUSE. You can get it from my build service repository.
If I can't go to FOSDEM... [2nd part]
- http://flickr.com/photos/11426495@N08/tags/fosdem/
- http://flickr.com/photos/giannaros/sets/72157603979849061/
- http://flickr.com/photos/lhirlimann/sets/72157603971804540/
- http://flickr.com/photos/crema/sets/72157603972080068/
- http://flickr.com/photos/isriya/sets/72157603971808570/
- http://flickr.com/photos/m0dlx/sets/72157603966397580/
- http://flickr.com/photos/entre4yeux/sets/72157603971388475/
- http://flickr.com/photos/qmap66/sets/72157603971716588/
- http://amarok.kde.org/blog/uploads/dscf4537.jpg
If I can't go to FOSDEM...
Dear FOSDEM 2008 attendees,
Unfortunately I couldn't go to FOSDEM 2008. I can't either find much photos available on the Internet nor videos at all. So... I'm begging you to upload some photos and videos from FOSDEM 2008, specially from the openSUSE booth and talks.
Best regards,
Carlos Gonçalves
To be continued...
Kubuntu from 7.04 to 7.10 by resizing virtual disk
Finally, I found some time to update my virtual machine, Kubuntu from Feisty Fawn to Gutsy Gibbon. I didn't before because I had to resize the virtual disk, the empty space didn't allow me to do the update. So, the necessary steps are here:
1. resize the virtual disk with:
vmware-vdiskmanager -t 1 -x 12GB KUbuntu.vmdk
the options for command are:
t 1 - growable virtual disk split in 2Gb files
x 12 -GB the new size for disk
2. Now we have a large virtual disk but we still need some work to have
also a bigger disk in Kubuntu. So, change in bios, for virtual machine
to boot from cd in order to resize also the ext3 partition. I used
Knoppix for this task and
Gparted as application.
3. Reboot and change in bios to boot from hdd.
4. Using Adept as is described on Kubuntu
site do the
update. After about 1 hour I had the last version of Kubuntu installed
and a lot of free space.
eeeSUSE II
OpenSUSE on the EeePC
Thanks for your patience ;-)
YaST User Interface Library is now independent of YaST
The YaST UI library provides a very simple API to build rather complex but still consistent user interfaces. The particular implementation of the interface depends on the chosen backend - Qt, Gtk+ or ncurses. The primary target for this library is YaST, Yet Another Setup Tool developed for installation and configuration of SUSE products.
However, the library was very deeply tied to the rest of YaST infrastructure which made it nearly impossible to use it outside of YaST. Not anymore. Very soon, there will be packages available in openSUSE that provide the library independently of YaST, so any application that might need to provide both graphical as well as textual interface can easily do so. They provide also examples how to use the library from pure C++.
For future, I believe it makes sense to have a shiny new name for this library (YUI also means Yahoo UI) and I've tried to persuade the team on their IRC channel, but there were no good proposals for those. So, for now, we have the great functionality unleashed outside of YaST, with the old and pretty generic name YUI. Happy hacking!
First blog
Lunch and dinner in Bremen
This weekend we are in Bremen, so here are some images with our Saturday dinner and Sunday lunch.
The dinner to Amico restaurant:

The lunch, Sunday, was to Sailor's Inn Restaurant:
I can say that the food was great ...
If you want to see some photos during our short visit in Bremen feel free to visit my flickr page.
eeeSUSE ;-)
This morning I had a USB Stick that didn't get much further than that:
... and a few hours later, 10.3 minimal graphics install with a few hand selected KDE packages:
I will fine tune the image and document what I did, and make it available in the wiki later. For now, thanks to all developers of KIWI and yast2-live-installer, and to the build service user appleonkel, who had all the drivers I needed already packaged -- you rock ;-)