Upgrading to LINUX Mandriva 2010.1



Compiled by: Waldis Jirgens. Latest update: 10th November, 2010.

My Mandriva 2008.0 system could not run some more up-to date software, so I decided to upgrade to 2010.1. I could not use the live CD of 2010.1, since its display manager was incompatible with my S3 video card (lock-up in X), so I decided to download the Mandriva 2010-Free DVD and install it as an upgrade to my Mandriva 2008.0 system. Since the latter had a rather unfortunate partitioning, I backed it up, re-partitioned the HDD and did a fresh install.

2010.1 /etc/fstab
# Entry for /dev/sda1 :
UUID=46f8d925-b3b0-4adc-8ffb-9f059c330cee / ext3 acl,relatime 1 1
# Entry for /dev/sda2 :
UUID=35398b70-3ad4-483a-84b1-af40ed4edafd  /usr ext3 acl,relatime 1 2
# Entry for /dev/sda3 :
UUID=808ff7bf-069f-4c16-91bf-fea79d4a0bcd swap swap defaults 0 0
# Entry for /dev/sda4:
UUID=189d33fa-eca9-4cc1-924b-3a7dc3b6fa33 /home ext3 acl,relatime 1 2
# Entry for /dev/sdb1
UUID=0F4D-1BD3 /media/win_c vfat umask=0022,users,sync,noauto,exec 0 0
# Entry for /dev/sdb5
UUID=D8B0-CFB4 /media/win_d vfat umask=0022,users,sync,noauto,exec 0 0
# Entry for /dev/sdb6
UUID=417eeec4-a8d0-4cd3-a359-4f1a5838ebc4 /media/dsl ext3 sync,relatime 1 2
# Entry for /dev/sdb7
UUID=6d9e94f1-476e-4cd6-96f1-3386ccd93e29 /media/dslusr ext3  sync,relatime 1 2
# Entry for /dev/sdb9
UUID=b79aef40-20ce-42a5-984c-57720966d8de /media/dslhome ext3  sync,relatime 1 2
/dev/sr0 /media/cdrom auto umask=0,users,iocharset=utf8,noauto,ro,exec 0 0
/dev/sr1 /media/dvd auto umask=0,users,iocharset=utf8,noauto,ro,exec 0 0
/dev/fd0 /media/floppy auto umask=0,users,iocharset=utf8,noauto,exec,flush 0 0

Or to see the sizes:
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             3.9G  323M  3.4G   9% /
/dev/sda7              27G   18G  8.4G  69% /home
/dev/sdb1             4.0G  3.5G  584M  86% /media/win_c
/dev/sdb5              16G  3.7G   12G  24% /media/win_d
/dev/sda6             5.7G  4.2G  1.2G  78% /usr
/dev/sdb6             3.8G  173M  3.5G   5% /media/dsl
/dev/sdb7             3.8G  1.6G  2.1G  43% /media/dslusr
/dev/sdb9             3.7G  566M  3.1G  16% /media/dslhome

During installation-upgrades were mounted:
/dev/sr1              4.4G  4.4G     0 100% /media/FREE-2010S-i586
/dev/sdc1             187G   58G  121G  33% /mnt/stick
Additional Software

As usual additional software can be installed via mcc or directly from the net.
I installed: abiword, audacity, awesfx, bluefish, cups, dillo, fr, gnumeric, links-graphic, mozplugger, nvu, rosegarden, rxvt, xawtv, xfe, xosview, xsane, xsane-gimp, xmms, xpdf, xcalc, xkill, xlsclients, xpaint.
Foreign software installed:
RealPlayer, Seamonkey, pmidi, mtpaint, xv

Differences between 2008.0 and 2010.1 and challenges
  1. Naming of HDD has changed from hda to sda. This will require changes to many of my back-up scripts.
  2. Format of /etc/fstab has changed.
  3. For inexplicable reasons the system did not include /dev/sdb6, 7 and 9 in fstab, so I put them in manually as:
    UUID=7cffdd86-8456-44b8-b95e-b5518957c4cc /media/dsl ext3 rw 0 0
    # Entry for /dev/sdb7 :
    UUID=0bc4d3ee-2a7b-11da-8b07-ad26b9dd3abe /media/dslusr ext2 rw 0 0
    # Entry for /dev/sdb9 :
    UUID=0f0ccbb0-2a7b-11da-8aeb-3d3a1653f229 /media/dslhome ext2 rw 0 0
    of course after creating the pertinent directories in /media
  4. LILO was not created with DSL boot facility in spite of seemingly doing it at installation time.
    Remedy:Add to /etc/lilo.conf the following entry:
    image=/media/dsl/boot/linux24
            root=/dev/sdb6
            label="DSL"
            initrd=/media/dsl/boot/System.map
    
    Then issue the command lilo. BUT when you want to boot into DSL, you have to boot "DSL: root=/dev/hdb6" otherwise it won't find the root partition and end with a "kernel panic". On the other hand you cannot specify root=/dev/hdb6 in /etc/lilo.conf without lilo chucking a fatal error...
  5. DSL works OK now, however I created the Mandriva /usr and /home partitions with ext4 file-systems, which DSL cannot handle.
  6. Printer Canon PIXMA i1300 did no longer work. Using the 2008.0 cups did NOT help.
    Even trying to define an old Canon BJC255SP results in the error message: CUPS server error There was an error during the CUPS operation: 'client-error-not-possible'. There are also cryptic "device URIs" for the old BJC 255SP: cnij_parallel:/dev/lp0 and for the PIXMA iP1300: usb://Canon/iP1300?serial=26CB84. It was necessary to define the printers manually. This trouble was caused by not having required rpms installed.
    Finally got the installation instructions for the Canon PIXMA ip1300 right! They are in:
    http://software.canon-europe.com/files/soft24301/manual/guideip2200-2.60-1.tar.gz
    Have the following symlinks set:
    [waldis@localhost ~]$ ls -la /usr/lib/libpng.so.3
    lrwxrwxrwx 1 root root 16 2010-09-09 09:45 /usr/lib/libpng.so.3 -> libpng.so.3.43.0*
    [waldis@localhost ~]$ ls -la /usr/lib/libxml.so.1
    lrwxrwxrwx 1 root root 16 2010-09-09 11:20 /usr/lib/libxml.so.1 -> libxml.so.1.8.17*
    [waldis@localhost ~]$ ls -la /usr/lib/libpng.so.2
    lrwxrwxrwx 1 root root 16 2010-08-12 17:18 /usr/lib/libpng.so.2 -> libpng.so.3.43.0*
    [waldis@localhost ~]$ ls -la /usr/lib/libtiff.so.3
    lrwxrwxrwx 1 root root 16 2010-09-09 09:45 /usr/lib/libtiff.so.3 -> libtiff.so.3.9.2*  
    
    Then: 
    [root@localhost linsoft]# rpm -i cnijfilter-common-2.60-1.i386.rpm
    error: Failed dependencies:
            libxml is needed by cnijfilter-common-2.60-1.i386
    ...installed libxml1 via mcc
    [root@localhost linsoft]# rpm -i cnijfilter-common-2.60-1.i386.rpm
    [root@localhost linsoft]# rpm -i cnijfilter-ip2200-2.60-1.i386.rpm
    [root@localhost linsoft]# /etc/init.d/cups restart
    Stopping CUPS printing system:                                                               [  OK  ]
    Starting CUPS printing system:                                                               [  OK  ]
    [root@localhost linsoft]# lpadmin -p IP2200 -m canonip2200.ppd -v usb://Canon/iP1300?serial=26CB84 -E
    [root@localhost linsoft]# lpadmin -d IP2200
    ...after reboot the printer worked OK!
    Note: This works only after post-install system upgrades have been done and when several non-default cups and dbus modules are installed. I don't know which they are, but have a look at: all the rpms on my system.
  7. xsane required root privileges when running at runlevel 3, with 5 it's OK again.
  8. This was one of the many vexing problems with default runlevel 3. I use defaultrunlevel 5 now. The desired displaymanager has to be set in file ~/.desktop as follows: DESKTOP=[icewm-session|wjiwm|fluxwm|GNOME|...] with the entries referring to window manager start-up commands in /usr/bin. However the start-up scripts in ~/.xsession or ~/.xinitrc are not honored at X start.
    For icewm as window manager I put the commands to start at session initialisation in an executable file ~/.icewm/startup.
    But beware: if you call icewm with "exec icewm" it restores the default menu file in directory ~/.icewm at each start. If you call icewm with "exec icewm-session" it does that only whenever you had a different windowmanager in the last session. To stop this annoying behaviour I put my own menu file elsewhere and added a command to restore it in the ~/.icewm/startup script. Still for unknown reasons the system sometimes tampers with the menu file, which is quite disconcerting.
    I use openbox, fluxbox and mwm (the openmotif version) as alternate window managers. Script to switch windowmanagers
    ~/bin/switchwm:
    #!/usr/bin/tclsh
      set optio 0
      while { $optio != 9 } {
        puts "Switch to:"
        puts "1 Openbox"
        puts "2 Fluxbox"
        puts "3 Icewm"
        puts "4 Gnome"
        puts "5 Mwm"
        puts "9 Exit this script"
        puts "Enter the option you want"
        gets stdin optio
        if { $optio == 1 } { exec echo "DESKTOP=wjiwm" > ~/.desktop }
        if { $optio == 2 } { exec echo "DESKTOP=fluxwm" > ~/.desktop }
        if { $optio == 3 } { exec echo "DESKTOP=icewm-session" > ~/.desktop }
        if { $optio == 4 } { exec echo "DESKTOP=GNOME" > ~/.desktop }
        if { $optio == 5 } { exec echo "DESKTOP=mwmwm" > ~/.desktop }
      } 
    exit 0
    
    /usr/bin/wjiwm:
    
    #!/bin/bash
    cd
    rm -f .serv*
    aumix-text -L &
    xosview +net +cpu -load -disk -ints 
      -page -mem -swap -geometry 165x50+1099+876 &
    tint2 &
    idesk &
    ./appointk &
    exec openbox
    
    /usr/bin/fluxwm:
    
    #!/bin/bash
    cd
    rm -f .serv*
    aumix-text -L &
    xosview +cpu +net -load -disk -ints 
      -page -mem -swap -geometry 110x25+1170+915 &
    idesk &
    ./appointk &
    exec fluxbox
    
    /usr/bin/mwmwm:
    
    #!/bin/bash
    cd
    rm -f .serv*
    aumix-text -L &
    xosview +cpu +net -load -disk -ints -page -mem -swap -geometry 103x25+921+720 &
    idesk &
    ./appointk &
    exec mwm
    

    KDE as display manager is too sluggish for my PC, so it's not an option.
  9. The new mozplugger version again had an unsuitable /etc/mozpluggerrc. Had to fix that up.
Replaced the Mandriva idesk (unexpected sluggishness) with idesk-0.7.5-8.fc11.i586.rpm.
Made dummy scripts in /usr/sbin for those that mcc claimed as "not executable" - well they were not there!
Installed missing flash player and Java environment from the backup.
Installed vsftpd for local file transfer.
vsftpd is configured as follows:

etc/vsftpd/vsftpd.conf (comments removed):
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
ftpd_banner="Welcome to Waldis FTP service."
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vsftpd
listen=YES

/etc/vsftpd/chroot_list contains login-ids of allowed users.
/etc/vsftpd/user_list contains login-ids of disallowed users.
/etc/vsftpd/ftpusers contains login-ids of disallowed users.
/etc/hosts.allow and /etc/hosts.deny are empty.
/etc/networks:
default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0

To enable local ftp "shorewall" has to be stopped. Doing it on the fly via mcc does not work, so:
cd /etc/rc.d/rc5.d
mv S54shorewall K90shorewall

Upgraded the following line in ~/.bash_profile:
PATH=$PATH:/usr/local/bin:/usr/X11R6.bin:$HOME/bin Added the following to file /etc/rc.d/rc.local:
pmidi -l >/dev/null
sfxload /8MBGMSFX.SF2
touch /var/lock/subsys/local
exit 0

Threw out nvu - too unstable.
Updated /etc/modprobe.conf and /etc/modules to include TV card modules.
Swapped video cards between my AR PC and this one. The new video card is a NVIDIA GeForce FX series and capable of 1280x960 resolution at colour depth 16. On the AR PC the 2009.0 system installed a new /etc/xorg.conf using the lethal "s3" driver and eliminating my own "Modeline" specifications. It also replaced in /etc/inittab the default runlevel 3 with 5! This required a "failsafe" boot, after which I could put things right, but I could only get a maximum resolution of 800x600.
When I tried putting back my 2 modeline specs, they did not work with the vesa driver. When I then put the "s3" back in, xorg recognised that the card had a vesa BIOS and used it with 1024x768 resolution interlaced!

Solving the xawtv problem:

xawtv did not work: The problem seems to be associated with xorg.
With xorg-driver "nouveau" and resolution 1280x960 no picture or sound regardless how one starts  xawvt.
With driver "nv", resolution 1024x768 plus capture=off in .xawtv there is sound on all channels and static pictures on the channel window.
With driver "nv", resolution 1024x768 plus capture=overlay in .xawtv and starting it with xawtv -noxv TEN  there is picture and sound on all channels.
With driver "nv", resolution 1280x960 plus capture=overlay in .xawtv and starting it with xawtv TEN there is picture on ONE channel (regardless which you choose) and NO sound..
With driver "nv", resolution 1280x960 plus capture=overlay in .xawtv and starting it with xawtv -noxv TEN there is picture and sound on all channels
.[waldis@localhost ~]$ xawtv -noxv TEN
This is xawtv-3.95, running on Linux/i686 (2.6.33.5-desktop-2mnb)
xinerama 0: 1280x960+0+0
Warning: Missing charsets in String to FontSet conversion
Warning: Missing charsets in String to FontSet conversion
Warning: Missing charsets in String to FontSet conversion

So I switched to the "nv" driver in xorg.conf! But that's not all: Trying video-capture as with the 2008.0 version resulted in xawtv chucking a "segmentation fault". So I experimented with different parameters for the capture. The following worked: But wait... After I again had to swap back to the S3 video card, no TV picture reception was possible. All I got was:
[waldis@localhost ~]$ xawtv  TEN
This is xawtv-3.95, running on Linux/i686 (2.6.33.7-desktop586-2mnb)
xinerama 0: 1024x768+0+0
WARNING: No DGA support available for this display.
WARNING: keeping fbuf pitch at: 2048, as no base addr was detected
WARNING: couldn't find framebuffer base address, try manual
         configuration ("v4l-conf -a ")
v4l2: WARNING: framebuffer base address mismatch
v4l2: me=(nil) v4l=(nil)
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  72 (X_PutImage)
  Serial number of failed request:  608
  Current serial number in output stream:  609
The window appears for a split second then it's gone. Pestering the search engines with this error brought 2 good tips:
The first one suggested to try COLOR-DEPTH 24. With that one all is well, but I can only have a screen resolution of 800x600.
The second one suggested to use xawtv -nogl to start xawtv. This solved the problem!

Compatibility Issues

The user/group identifications on the Mandriva 2010.1 and the DSL system were not compatible, so I fixed them up in DSL as follows: Now the backup and restore scripts to /media/dslhome/waldis work without hiccups.
Later I replaced the DSL system with Debian 5.0.1 (See this supplement) which is much more powerful and required much less handstands to install. It also allows a fsck on the Mandriva file-systems.

Moving The Finished System

I transported the finished system to a new 250 GB disk (I did not use the ext4 format for the file-systems since Debian could not handle it). This process is described nicely in this Hard-Disk-Upgrade Mini-HowTo
In a nutshell:
  1. Allocate partitions on the new disk with fdisk. I did:
    /dev/sdb1 3 GB /
    /dev/sdb2 10 GB /usr
    /dev/sdb3 2 GB swap
    /dev/sdb4 Rest of the disk /home
  2. Make file-systems akin to: mksf.ext3 -c /dev/sdb1 followed by the others, except mkswap -c /dev/sdb3.
  3. Mount the partitions of the new disk.
  4. Copy old /home directory contents to the new /home partition - cp -Padfru /home/. /mnt/newhome.
  5. Copy old /usr directory contents to the new /usr partition
  6. Copy root directory / contents except /proc and /sys to the new root partition.
  7. Allocate directories proc sys usr and home in the new root partition
  8. Construct new fstab in the new system
  9. Add an entry to the old system /etc/lilo.conf to enable to boot into the new one.
  10. Boot into the new system with "single", mount /usr and /home, create /etc/lilo.conf and run lilo.
  11. Boot from the new disk and iron out anything untoward.
So far so good, however the new system took very long to boot and behaved otherwise strangely. So I decided to "upgrade" it using the "Mandriva Free" DVD. This took less than 30 mintes and since then the system is OK.

Return to my Linux page
Return to my home-page
Free Web Hosting