Debian installatie op Arkon (2)

Na het opnieuw opstarten kom ik zoals vanouds terecht in het grub menu van Kubuntu. Hier staat ook de optie Lenny en als ik die kies krijg ik een volgend grub menu. Het chainloaden werkt dus.

Na het toevoegen van een user en het zetten van een wachtwoord op het root account kan ik verder. Eigenlijk had ik dit al moeten doen voor de herstart maar dat is nu dus rechtgezet.

Als eerste maar even kijken of het internet werkt. Wellicht overbodig om hiervoor wederom een aptitude update te doen maar het werkt in elk geval:

Athlan:~# aptitude update
Hit http://ftp.nl.debian.org lenny Release.gpg
Ign http://ftp.nl.debian.org lenny/main Translation-en_US
Hit http://ftp.nl.debian.org lenny Release
Hit http://ftp.nl.debian.org lenny/main Packages/DiffIndex
Hit http://security.debian.org lenny/updates Release.gpg
Ign http://security.debian.org lenny/updates/main Translation-en_US
Hit http://ftp.nl.debian.org lenny/main Sources/DiffIndex
Hit http://security.debian.org lenny/updates Release
Ign http://security.debian.org lenny/updates/main Packages/DiffIndex
Ign http://security.debian.org lenny/updates/main Sources/DiffIndex
Hit http://security.debian.org lenny/updates/main Packages
Hit http://security.debian.org lenny/updates/main Sources
Reading package lists...

Het werken vanaf een prompt kan best interesant lijken maar voor het dagelijkse werk heb ik toch graag een grafische schil. Hiervoor installeer ik kde en daarvoor heb ik 2 pakketten nodig, kde-core en kdm om in te loggen:

Athlan:~# aptitude install kde-core kdm
Reading package lists...
Building dependency tree...
Reading state information...
Reading extended state information...
Initializing package states...
Reading task descriptions...
The following NEW packages will be installed:
  arts{a} aspell{a} aspell-en{a} avahi-daemon{a} bind9-host{a}
  console-common{a} console-data{a} cpp{a} cpp-4.3{a} dbus{a} dbus-x11{a}
  defoma{a} dictionaries-common{a} eject{a} enscript{a} esound-clients{a}
  esound-common{a} fam{a} file{a} fontconfig{a} fontconfig-config{a}
  ghostscript{a} ghostscript-x{a} gs-gpl{a} gsfonts{a} hal{a} hal-info{a}
  hicolor-icon-theme{a} htdig{a} kamera{a} kappfinder{a} kate{a} kbd{a}
  kcontrol{a} kde-core kdebase{a} kdebase-bin{a} kdebase-bin-kde3{a}
  kdebase-data{a} kdebase-kio-plugins{a} kdeeject{a} kdelibs{a}
  kdelibs-data{a} kdelibs4c2a{a} kdemultimedia-kio-plugins{a} kdepasswd{a}
  kdeprint{a} kdesktop{a} kdm kfind{a} khelpcenter{a} kicker{a} klipper{a}
  kmenuedit{a} konqueror{a} konqueror-nsplugins{a} konsole{a} kpager{a}
  kpersonalizer{a} kregexpeditor{a} ksmserver{a} ksplash{a} ksysguard{a}
  ksysguardd{a} ktip{a} kwin{a} libakode2{a} libart-2.0-2{a}
  libarts1-akode{a} libarts1c2a{a} libartsc0{a} libasound2{a}
  libaspell15{a} libaudio2{a} libaudiofile0{a} libavahi-client3{a}
  libavahi-common-data{a} libavahi-common3{a} libavahi-compat-libdnssd1{a}
  libavahi-core5{a} libavahi-qt3-1{a} libavc1394-0{a} libbind9-30{a}
  libcap1{a} libcdparanoia0{a} libcups2{a} libcupsimage2{a} libcupsys2{a}
  libdaemon0{a} libdbus-1-3{a} libdbus-glib-1-2{a} libdbus-qt-1-1c2{a}
  libdirectfb-1.0-0{a} libdirectfb-extra{a} libdns32{a} libdrm2{a}
  libesd0{a} libexif12{a} libexpat1{a} libfam0{a} libflac8{a}
  libfontconfig1{a} libfontenc1{a} libfreebob0{a} libfreetype6{a}
  libgl1-mesa-dri{a} libgl1-mesa-glx{a} libglib2.0-0{a} libglib2.0-data{a}
  libglu1-mesa{a} libgmp3c2{a} libgphoto2-2{a} libgphoto2-port0{a}
  libgs8{a} libhal-storage1{a} libhal1{a} libice6{a} libidn11{a}
  libiec61883-0{a} libilmbase6{a} libisc32{a} libisccc30{a} libisccfg30{a}
  libjack0{a} libjasper1{a} libjpeg62{a} libkcddb1{a} libkeyutils1{a}
  libkonq4{a} libkrb53{a} liblcms1{a} liblockfile1{a} libltdl3{a}
  liblua50{a} liblualib50{a} liblwres30{a} libmad0{a} libmagic1{a}
  libmng1{a} libmpfr1ldbl{a} libnss-mdns{a} libogg0{a} libopenexr6{a}
  libpaper-utils{a} libpaper1{a} libpci3{a} libpcre3{a} libpixman-1-0{a}
  libpng12-0{a} libqt3-mt{a} libraw1394-8{a} libsamplerate0{a}
  libsasl2-modules{a} libsm6{a} libsmbclient{a} libsmbios-bin{a}
  libsmbios1{a} libsmbiosxml1{a} libspeex1{a} libsplashy1{a} libsysfs2{a}
  libtiff4{a} libts-0.0-0{a} libvorbis0a{a} libvorbisenc2{a}
  libvorbisfile3{a} libx11-6{a} libx11-data{a} libx86-1{a} libxau6{a}
  libxaw7{a} libxcb-xlib0{a} libxcb1{a} libxcomposite1{a} libxcursor1{a}
  libxdamage1{a} libxdmcp6{a} libxext6{a} libxfixes3{a} libxfont1{a}
  libxft2{a} libxi6{a} libxinerama1{a} libxkbfile1{a} libxml2{a} libxmu6{a}
  libxmuu1{a} libxpm4{a} libxrandr2{a} libxrender1{a} libxslt1.1{a}
  libxss1{a} libxt6{a} libxtrap6{a} libxtst6{a} libxxf86misc1{a}
  libxxf86vm1{a} lockfile-progs{a} menu{a} menu-xdg{a} oss-compat{a}
  pciutils{a} perl{a} perl-doc{a} perl-modules{a} pm-utils{a} pmount{a}
  portmap{a} poster{a} powermgmt-base{a} psfontmgr{a} psmisc{a} psutils{a}
  radeontool{a} sgml-base{a} ttf-dejavu{a} ttf-dejavu-core{a}
  ttf-dejavu-extra{a} ucf{a} usbutils{a} uswsusp{a} vbetool{a}
  x11-common{a} x11-xkb-utils{a} x11-xserver-utils{a} xauth{a}
  xfonts-base{a} xfonts-encodings{a} xfonts-utils{a} xkb-data{a}
  xml-core{a} xserver-xorg{a} xserver-xorg-core{a}
  xserver-xorg-input-all{a} xserver-xorg-input-evdev{a}
  xserver-xorg-input-kbd{a} xserver-xorg-input-mouse{a}
  xserver-xorg-input-synaptics{a} xserver-xorg-input-wacom{a}
  xserver-xorg-video-all{a} xserver-xorg-video-apm{a}
  xserver-xorg-video-ark{a} xserver-xorg-video-ati{a}
  xserver-xorg-video-chips{a} xserver-xorg-video-cirrus{a}
  xserver-xorg-video-cyrix{a} xserver-xorg-video-dummy{a}
  xserver-xorg-video-fbdev{a} xserver-xorg-video-glint{a}
  xserver-xorg-video-i128{a} xserver-xorg-video-intel{a}
  xserver-xorg-video-mga{a} xserver-xorg-video-neomagic{a}
  xserver-xorg-video-nv{a} xserver-xorg-video-rendition{a}
  xserver-xorg-video-s3{a} xserver-xorg-video-s3virge{a}
  xserver-xorg-video-savage{a} xserver-xorg-video-siliconmotion{a}
  xserver-xorg-video-sis{a} xserver-xorg-video-sisusb{a}
  xserver-xorg-video-tdfx{a} xserver-xorg-video-tga{a}
  xserver-xorg-video-trident{a} xserver-xorg-video-tseng{a}
  xserver-xorg-video-v4l{a} xserver-xorg-video-vesa{a}
  xserver-xorg-video-vga{a} xserver-xorg-video-via{a}
  xserver-xorg-video-vmware{a} xserver-xorg-video-voodoo{a}
0 packages upgraded, 271 newly installed, 0 to remove and 0 not upgraded.
Need to get 148MB of archives. After unpacking 422MB will be used.
Do you want to continue? [Y/n/?]

271 pakketten verder kunnen we met het volgende commando dadelijk gaan inloggen:

Athlan:~# /etc/init.d/kdm start

Na het doen van een aantal instellingen start kde netjes op. Hierna krijg ik echter een aantal foutmeldingen te zien en blijft mijn panel leeg 

Stom natuurlijk, ik heb dezelfde gebruikersnaam gebruikt als in Kubuntu. Ook heb ik dezelfde home partitie aangehouden. Hiermee maak ik dus nu gebruik van de configuratie van Kubuntu en een aantal dingen zullen wel elders staan. Hopelijk gaat dat straks nog goed onder Kubuntu. Dit lossen we dus voorlopig op door een andere user aan te maken en daarmee verder te werken. Hiervoor schakel ik even over naar de commandprompt in terminal 1. Dit doe ik met de sneltoets Alt + F1.

Na het uitloggen en weer inloggen krijg ik dezelfde instellingen te doen maar verloopt de rest voorspoedig en is kde in elk geval compleet tot en met een gevuld panel aan toe.

Tijdens het dichtdoen van de cd-lade krijg ik een volgende foutmelding, de cd is niet te mounten. Na enig speurwerk kom ik erachter dat debian de cdrom niet als /dev/scd0 herkent maar als /dev/hdb. Na deze aanpassing werkt ook dat stukje.

Nu kunnen we langzaam aan de dingen die ik mis gaan toevoegen. Als het goed is werkt is stukje bij beetje een stuk minder onder Kubuntu.

Debian installatie Arkon

Aangezien ik bij Kubuntu tegen steeds meer dingen aanloop die ik zelf moet oplossen kan ik net zo goed Debian installeren. Ik heb dan niet de mix met pakketten die Kubuntu voor me uitkiest maar ook daar kan ik invloed op uitoefenen door bijvoorbeeld de testing branch te gebruiken. Maar eens kijken hoe het werkt in dualboot, ik heb hiervoor tenslotte al een paar extra partities aangemaakt. De installatie ga ik vanuit Kubuntu uitvoeren met behulp van debootstrap.

Als eerste de partitie formateren en mounten:

tecumseh@Athlan:~$ sudo mke2fs -j /dev/sda5
mke2fs 1.40.8 (13-Mar-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
983040 inodes, 3931900 blocks
196595 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4026531840
120 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
tecumseh@Athlan:~$ sudo mkdir /media/sda5/
tecumseh@Athlan:~$ sudo mount /dev/sda5 /media/sda5/

Vervolgens met synaptic package manager debootstrap installeren. Hopelijk kan ik met deze versie ook direct een debian debootstrap doen.

En dat lukt ook:

tecumseh@Athlan:~$ sudo /usr/sbin/debootstrap --arch amd64 lenny /media/sda5/ ftp.nl.debian.org/debian/
I: Retrieving Release
E: unknown location ftp.nl.debian.org/debian/dists/lenny/Release
tecumseh@Athlan:~$ sudo /usr/sbin/debootstrap --arch amd64 lenny /media/sda5/

Er gaat in eerste instantie iets mis met het gebruiken van een lokale mirror, geen idee waarom aangezien ik de Release file op die locatie namelijk wel vinden kan… Maar goed, ook vanuit de USA kan ik pakketten binnenhalen. Straks stel ik apt wel in om de spullen wat dichterbij te halen.

Er wordt een berg binnengehaald en geinstalleerd, enkel het basissysteem uiteraard. Na een tijdje stopt de voortgang bij deze melding:

I: Base system installed successfully.

We kunnen dus verdergaan met de installatie.

tecumseh@Athlan:~$ sudo LANG=C chroot /media/sda5/ /bin/bash
root@Athlan:/#

Vervolgens maken we een fstab aan zodat de partitie’s en overige media gevonden kan worden:

root@Athlan:/# nano /etc/fstab
# /etc/fstab: static file system information.
#
# file system    mount point   type    options                  dump pass
proc              /proc         proc    defaults                 0    0
/dev/sda5         /             ext3    defaults                 0    1
/dev/sda7         /home         ext3    rw,nosuid,nodev          0    2
/dev/sda8         none          swap    sw                       0    0
/dev/fd0          /media/floppy auto    noauto,rw,sync,user,exec 0    0
/dev/scd0         /media/cdrom  iso9660 noauto,ro,user,exec      0    0

Na het mounten van alle mountpunten krijg ik wel een foutmelding:

root@Athlan:/# mount -a
mount: special device /dev/sda7 does not exist

Dit laat ik nog even voor wat het is, als ik straks geboot heb met deze installatie dan kijk ik wel hoe het dan gaat. Er gaat trouwens wel meer mis met het mounten, ook een kijkje wat er in /proc is geeft me een maagdelijk leeg overzicht. Die mount ik dus hier nog even handmatig en dat lukt meteen. Anders had ik deze van buiten de chroot moeten mounten.

Het instellen van de tijdszone gaat in lenny blijkbaar anders dan in etch:

root@Athlan:/# tzconfig
bash: tzconfig: command not found

Een berichtje op irc doet wonderen. Ik ben er nu achter dat er inderdaad vanaf lenny een wijziging is doorgevoerd. Ik moet nu dpkg-reconfigure gebruiken:

root@Athlan:/# dpkg-reconfigure tzdata

Current default timezone: 'Europe/Amsterdam'
Local time is now:      Wed Jul  2 21:29:27 CEST 2008.
Universal Time is now:  Wed Jul  2 19:29:27 UTC 2008.

Netwerk is ook handig om te hebben, hiervoor moeten we een aantal dingen aanpassen. Als eerste de interfaces om de netwerkkaart werkend te krijgen:

root@Athlan:/# nano /etc/network/interfaces

Met de volgende inhoud:

# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.

# We always want the loopback interface.
#
auto lo
iface lo inet loopback

# To use dhcp:
#
auto eth0
iface eth0 inet dhcp

Ook de hosts file moet aangemaakt worden:

root@Athlan:/# nano /etc/hosts
127.0.0.1       localhost
127.0.1.1       Athlan

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

De oplettende lezer merkt dat ik 2 bestanden vergeten ben, namelijk resolf.conf en hostname. Nu zijn deze blijkbaar al overgenomen vanuit Kubuntu dus deze laat ik even staan. Mocht ik ze straks missen dan kan ik die alsnog instellen. De hostname verander ik nu ook nog niet aangezien ik daarmee meteen de hostname van de Kubuntu installatie meeverander.

Ook apt moet geconfigureerd worden, anders kunnen we geen pakketten installeren. We beginnen met een redelijk kale configuratie, uitbreiden kan later nog wel:

root@Athlan:/# nano /etc/apt/sources.list
deb http://ftp.nl.debian.org/debian lenny main
deb-src http://ftp.nl.debian.org/debian lenny main

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

Hierna kunnen we de locales installeren en instellen:

root@Athlan:/# aptitude install locales
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
The following NEW packages will be installed:
  locales
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 4431kB of archives. After unpacking 12.0MB will be used.
Writing extended state information... Done
Get:1 http://ftp.nl.debian.org lenny/main locales 2.7-10 [4431kB]
Fetched 4431kB in 30s (148kB/s)
Preconfiguring packages ...
Can not write log, openpty() failed (/dev/pts not mounted?)
Selecting previously deselected package locales.
(Reading database ... 7353 files and directories currently installed.)
Unpacking locales (from .../locales_2.7-10_all.deb) ...
Processing triggers for man-db ...
Can not write log, openpty() failed (/dev/pts not mounted?)
Setting up locales (2.7-10) ...
Generating locales (this might take a while)...
Generation complete.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Reading task descriptions... Done
root@Athlan:/# dpkg-reconfigure locales
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.

Ik zie hier een foutmelding langskomen over /dev die incompleet zou zijn. Na een tijdje zoeken kom ik erachter dat het installeren met behulp van de etch handleiding wat problemen kan veroorzaken, ik schakel dus over naar de testing handleiding en doe de missende stap nog even over. Er is namelijk slechts een basisgedeelte van /dev gevuld, om deze aan te vullen doe ik:

root@Athlan:/dev# MAKEDEV generic

Aangezien de foutmelding slechts gaat over het niet kunnen vullen van een logbestand ga ik de locales niet nogmaals installeren.

We komen in de buurt, nu is de kernel aan bod. Als eerste maken we een configuratiebestand aan volgens de handleiding:

root@Athlan:/# nano /etc/kernel-img.conf
# Kernel image management overrides
# See kernel-img.conf(5) for details
do_symlinks = yes
relative_links = yes
do_bootloader = yes
do_bootfloppy = no
do_initrd = yes
link_in_boot = no

Hierna installeren we de kernel. Eerst maar eens kijken welke kernels er beschikbaar zijn:

root@Athlan:/# aptitude search linux-image
v   linux-image                     -
v   linux-image-2.6                 -
p   linux-image-2.6-amd64           - Linux 2.6 image on AMD64
p   linux-image-2.6.22-3-amd64      - Linux 2.6.22 image on AMD64
p   linux-image-2.6.22-3-vserver-am - Linux 2.6.22 image on AMD64
p   linux-image-2.6.24-1-amd64      - Linux 2.6.24 image on AMD64
p   linux-image-amd64               - Linux image on AMD64

Ik kies hieruit het metapakket linux-image-2.6-amd64:

root@Athlan:/# aptitude install linux-image-2.6-amd64
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
The following NEW packages will be installed:
  busybox{a} initramfs-tools{a} klibc-utils{a} libklibc{a} libvolume-id0{a}
  linux-image-2.6-amd64 linux-image-2.6.24-1-amd64{a} udev{a}
0 packages upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 20.5MB of archives. After unpacking 80.2MB will be used.
Do you want to continue? [Y/n/?] y

Een 32-bits kernel vindt je hier niet tussen omdat ik als arch amd64 ingegeven heb.

Nu de installatie van de bootloader nog. Ik gebruik vooralsnog de bootloader van Kubuntu nog even. Deze staat namelijk al in de MBR. In een 2e terminal pas ik hiervoor grub van Kubuntu aan. Hier zet ik het volgende erbij in /boot/grub/menu.lst:

title           Debian Lenny op sda5
root            (hd0,4)
chainloader     +1

Vervolgens installeer ik in de chroot debian installatie grub:

root@Athlan:/# aptitude install grub
Reading package lists… Done
Building dependency tree
Reading state information… Done
Reading extended state information
Initializing package states… Done
Reading task descriptions… Done
The following NEW packages will be installed:
grub grub-common{a}
0 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 1115kB of archives. After unpacking 2351kB will be used.
Do you want to continue? [Y/n/?] y

Vervolgens installeer ik grub op /dev/sda5:

root@Athlan:/# grub-install /dev/sda5
Probing devices to guess BIOS drives. This may take a long time.
Searching for GRUB installation directory ... found: /boot/grub
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(fd0)   /dev/fd0
(hd0)   /dev/sda
root@Athlan:/# update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ...

Could not find /boot/grub/menu.lst file. Would you like /boot/grub/menu.lst generated for you? (y/N) y
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.24-1-amd64
Updating /boot/grub/menu.lst ... done

Vervolgens doen we dadelijk een reboot om te kijken of dit werkt. Daarna is het toch handig om een gui te installeren. Daarover later meer.