How to Make openSUSE 11.0 GM Live USB
openSUSE 11.0 with tons of impovement has been announced on June 19, 2008. Since then it was a busiest day for me : setting up a local mirror providing iso image for openSUSE fans in Indonesia, arrange openSUSE 11.0 release party and preparing Indonesian openSUSE community regular meeting on Saturday, June 21, 2008. We have planned all of these since last month but I must updated the planning with latest news and preparation.
Beside the planning, I also read some comments that noticed me with problem regarding openSUSE LiveUSB tutorial. The tutorial used openSUSE 11.0 RC1 and the modified initrd as noticed on the tutorial doesn’t fit with the GM version.
I have updated the initrdud that *should be* applied with openSUSE 11.0 GM. I got it succeeded with my 2 GB USB Flash Disk. The overall process to make openSUSE 11.0 GM LiveUSB are same as described on the previous tutorial with RC1. The different thing is initrdud file.


Download the modified initrd file (called initrdud) from this link.
How to Modify the Initrd
Initrd modification needed to add nls_cp437.ko, module for mount vfat partition that commonly used by USB flash disk.
- Preparing your LiveUSB ISO. In this example, I used openSUSE-11.0-KDE4-LiveCD-i386.iso. Change with your downloaded LiveCD ISO instead
- Preparing, Extract and update the initrd
- Edit the linuxrc file and change /bin/sh on top of the file with /bin/sh -x. This used for verbose option while boot, every command will be display before executed so if there is a problem, it will more easier to resolve.
- Modify the include file and change (replace) the function CDDevice with below code. This will change LiveCD to LiveUSB.
- Repack the initrd. We will place the initrdud in root of cureent folder :
su
mkdir unpacked
mkdir /mnt/iso
mkdir /mnt/squash
mount -o loop openSUSE-11.0-KDE4-LiveCD-i386.iso /mnt/iso/
cd unpacked
gzip -dc /mnt/iso/boot/i386/loader/initrd | cpio -i
mount -o loop /mnt/iso/openSUSE-*read-only.* /mnt/squash/
cp /mnt/squash/lib/modules/*/kernel/fs/nls/nls_cp437.ko lib/modules/*/kernel/fs/nls/
cp /mnt/squash/lib/modules/*/kernel/fs/nls/nls_iso8859-1.ko lib/modules/*/kernel/fs/nls/
cp -r /mnt/squash/lib/modules/*/kernel/fs/vfat lib/modules/*/kernel/fs/
cp -r /mnt/squash/lib/modules/*/kernel/fs/fat lib/modules/*/kernel/fs/
function CDDevice {
# /.../
# changed this function so that it finds config.isoclient on vfat disks, e.g. USB drives
# ----
find /lib/modules/*/kernel/fs/nls/nls* -exec insmod {} \; # needed for vfat filesystem
find /lib/modules/*/kernel/fs/*fat/*.ko -exec insmod {} \; # needed for vfat filesystem
insmod /lib/modules/*/kernel/drivers/usb/storage/usb-storage.ko # needed for USB
sleep 5 # fixme; do this in a proper way
cddevs=`/usr/sbin/hwinfo --disk | grep sd | grep "Device File:" | cut -f2 -d: | cut -f2 -d " "` # looks for disks instead of CDs
echo cddevs $cddevs
for i in $cddevs;do
i=$i"1" # fixme; looks on the first partition only
echo i $i
if [ -b $i ];then
test -z $cddev && cddev=$i || cddev=$cddev:$i
echo cddev $cddev
fi
done
if [ -z $cddev ]; then
systemException \
"Failed to detect CD drive !" \
"reboot"
fi
}
find . | cpio -o -H newc | gzip -9 > ../initrdud
Hope the above process solve the problem while making openSUSE 11.0 GM LiveUSB. Don’t forget to place a comment if you got any problem regarding this tutorial.
'sif you didn't already know
Installing wget on Mac OS X
Wget is a great command line for grabbing things from the web, but it doesn’t ship with macs. So if you want to install it here are a few steps:
1. download the source file:
http://ftp.gnu.org/pub/gnu/wget/wget-1.11.tar.gz
2. compile and install it:
tar -zxvf wget-1.11.tar.gz
cd wget-1.11/
./configure
make
sudo make install
Now the binary file is located in /usr/local/bin/. If you use bash as your default shell then you can add:
PATH=$PATH:/usr/local/bin; export PATH
in your .bash_profile.
Or if you want, you can do a symbolic link to have it in /usr/bin/:
sudo ln -s /usr/local/bin/wget /usr/bin/wget
That's all and ... happy downloading.
IPv6, prefixlen
Oh, what a shame! So we made a deal that he'll test my patches and I'll try to implement initial support.
So now we have initial support for IPv6 in YaST. Initial means that you're able to configure "primary" address IPv6 type. Nothing more, nothing less.
Because of this I add new parameter to configure prefixlen (in v6 there is no netmask as we know from v4). In UI you can configure prefix with a little trick - instead of 255.255.255.0 you can write "/24".
Ok, example of CLI:
linux-1pi7:~ # yast lan list
0 79c970 [PCnet32 LANCE], Not configured
1 79c970 [PCnet32 LANCE], Not configured
linux-1pi7:~ # yast lan edit id=0 ip=2001:15c0:668e::5 prefix=48
Ethernet Network Card
MAC : 08:00:27:80:b5:07
Device Name: eth1
Started automatically at boot
IP address: 2001:15c0:668e::5/48
linux-1pi7:~ # yast lan list
0 Ethernet Network Card, 2001:15c0:668e::5
1 79c970 [PCnet32 LANCE], Not configured
linux-1pi7:~ #
And some screenshots from ncurses UI:


Of course there's still much work to implement full support, routing, network services support, test all possible cases, AutoYaST, etc.
Implemented in yast2-network-2.17.1
NNTP Access to the openSUSE Forums
For folks not that used to web interfaces, the openSUSE Forums team provides a secondary interface to our forums – NNTP. The intention of this post is to raise your attention on this possibility.
What is NNTP?
Using our NNTP interface, you’re able to participate in forums discussions without accessing the web interface at all. You’re able to use any newsreader supporting the RFC standard to read and even write posts. Actually your user-id gets recognized in the web interface if you set up your newsreader properly.
From my personal experience especially developers are in general more familiar in using mailing lists instead of browsing a web interface. One of our desires is to get more developers to the board. On the one hand, developers can provide competent assistance especially to our new users – on the other hand, the forums are able to provide a lot of feedback back to developers. The advantages are obvious!
The NNTP interface to the forums provides a neat way to browse significantly more content with less effort. You can get a quick overview about forums content using NNTP. Certainly you’ll not be able to see the great template created by Robert Lihm, but every choice has its drawback – Good to have a choice at least, isn’t it?
For detailed instructions on how to set up your newsreader properly to participate in forums discussions, be sure to check out the NNTP section within our forums FAQ.
We’re really looking forward to your contribution!
FirmwareUpdateKit
[PS. I coudn’t resist. I just had to name the package ‘*Kit’.
]
Need to do a firmware update with a DOS program?
Can get tricky if you don’t have a DOS system around. We used to provide a bootable floppy image for that in the past (package dosbootdisk). But who has a floppy drive anyway?
So, here comes the new
FirmwareUpdateKit package. Install it and run run, e.g. fuk --grub foobar.exe That’s it. The next reboot gives you the option to start DOS and run foobar.exe.
fuk can also create bootable ISOs and, of course, even floppy images.
Converting Babylon Dictionaries to Stardict Format in OpenSuse
This blog does not add any information to the documentation you can find around. Anyway, it is not too long since someone was able to make Babylon dictionaries usable by software other than the proprietary Babylon application. And they have been trying for years… so it has not been a trivial step 
If you do not know Stardict, you can get it from Yast. This is the official site.
A few dictionaries are also linked – ready and free to use – at Stardict website. However, I used Babylon when I was a Windows user and i have to admit that their dictionaries remain unbeaten. Matters not what language you want, mono-language or bi-language, technical, general purpose etc etc… they just rock!
You can get tons of dictionaries for free from Babylon website:
Now, go to Yast Software Manager and search for dictconv. Alternatively, you can install from source (which is what I personally did).
Installing is very easy: ./configure and then make all install
Now you’re all set. To use it to convert:
cd to the directory where you have the .BGL dictionaries and type: dictconv INPUT_FILENAME.BGL -o OUTPUT_FILENAME.ifo
Pay attention to the extension: must be .ifo. This will generate 3 files for each BGL dictionary: .ifo, .idx, .dict
Place all these 3 files in /usr/share/stardict/dic/ creating a separate folder for each dictionary. Then rebook Stardict and go to Manage Dictionary (bottom right): there you can select what comes first, activate or deactivate etc etc
Nothing difficult but def worth, and not only for non native speakers.. there are lots of technical terminology Babylon dictionaries that may well come handy.
Notice that with Stardict you can also implement Pronunciations of the typed words: see Stardict site: “WyabdcRealPeopleTTS package make StarDict pronounce English words. It is just many .wav files. Extract(tar -xjvf) the tarball at /usr/share/”.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sooo well… Have fun ~ Buon divertimento ~ Viel Spaß ~ I que te diviertas ~ Maak plezier ~ ha så roligt [hmm i’m just hoping the dictionaries mentioned just above are not making me do some poor figure for these few transations of “Have Fun”.. cuz i have no idea for any language except Italian :D]
running YaST in debugger
Second - we have some prototype for mysql-server configuration written in Python I never tried before.
So I check-in code from subversion and try to run. Unfortunately it exits with some errors like "couldn't initialize UI". So I open the code in Eric - great Python debugger.
With breakpoints, globals and locals variables dispatcher it was really easy to find problematic places in code. Also possibility to write code interactively into interpreter is very helpful.
And finally module runs ;-)
Sorry, video is pretty slow - probably ati driver problem ;-(
Installing Enthought Tool Suite (ETS) on OpenSUSE 10.3
The Enthought Tool Suite (ETS) is a collection of components developed by Enthought to construct custom scientific applications. It includes a wide variety of components, including:
- an extensible application framework
- application building blocks
- 2-D and 3-D graphics libraries
- scientific and math libraries
- developer tools
- MayaVi Data Visualizer
It is available for Linux, Mac OS X and Windows, but they don't provide binaries for OpenSUSE, I don't now why.
Here are just some steps to get it running on OpenSUSE 10.3. But, you
have to install some packages, check
here
before to proceed:
My system:
ionut@vaio:~> cat /etc/SuSE-release
openSUSE 10.3 (X86-64)
VERSION = 10.3
I installed the suite in /usr/local/lib64/python2.5/site-packages so, let's create the directories:
sudo mkdir -p /usr/local/lib64/python2.5/site-packages
Get the souces for ets tool from their repository:
svn co https://svn.enthought.com/svn/enthought/ETSProjectTools/trunk ETSProjectTools
Build ets (it is a kind of wrapper for their repository), a tool that automates the checkout process.
cd ETSProjectTools
python setup.py install
Get the latest souces for the project files, and build the eggs for the components:
ets co ETS
cd ETS_3.0.0b1
svn export https://svn.enthought.com/svn/enthought/sandbox/egg_builder.py
python egg_builder.py
If the build was successful, you would not have received any errors (though there will be one warning at the end about not building egg.info files) and the built eggs would be residing in a directory called dist
Install the eggs in the directory which we created at the beginning:
sudo easy_install -f dist/ -H dist/ ETS
Now you can try some examples which are included:
- check if Traits is working:
python Traits_3.0.0b1/examples/demo/Applications/converter.py
- check if Mayavi is working:
python Mayavi_3.0.0a1/examples/mayavi/scatter_plot.py
python Mayavi_3.0.0a1/examples/mayavi/streamline.py
or just run mayavi2 command.
In my case everything is working fine, I hope that also for you. Here are some references: