10-base-classes with i386 and amd64 nfsroot

Rudy Gevaert Rudy.Gevaert at UGent.be
Mon Apr 30 16:32:11 CEST 2007


Hello,

Last week posted in thread (upgrade FAI 2.10.2 to FAI 3) that I wanted 
to upgrade my FAI install server.

Up till now I have acomplished the following:

- 1 etch nfsroot
- a netboot kernel that is compiled for i386 (A)
- a netboot kernel that is compiled for amd64 but with i386 emulation (B)
- 1 sarge i386 base.tgz
- 1 sarge amd64 base.tgz
- 1 etch amd64 base.tgz

I have a working i386 setup now.  I can boot with kernel (A) and install 
sarge and etch machines.

However installing AMD64 machines is not working yet.  During the 
installation it's installing but it isn't the AMD port of my distribution.

My netboot kernel (B) reports (this is during the installation):

spring:/tmp# uname -a
Linux spring 2.6.16.20-pure-amd64 #1 SMP Mon Jun 12 14:24:54 CEST 2006 
x86_64 GNU/Linux

Sources.list seems ok:

spring:/tmp# cat /tmp/target/etc/apt/sources.list
# These lines should work for many sites
# A more comprehensive example can be found in 
/usr/share/doc/fai/examples/etc

deb http://ftp.be.debian.org/debian etch main contrib non-free
deb http://security.debian.org/debian-security etch/updates main \
    contrib non-free
deb http://debs.ugent.be/debian etch main

But, when I chroot:

spring:~# chroot /tmp/target/
spring:/# uname -a
Linux spring 2.6.16.20-pure-amd64 #1 SMP Mon Jun 12 14:24:54 CEST 2006 
x86_64 GNU/Linux

spring:/# file bin/bash
bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for 
GNU/Linux 2.4.1, dynamically linked (uses shared libs), for GNU/Linux 
2.4.1, stripped

So, I'm installing the 32bit version of Debian....

But:

spring:/# echo $classes
DEFAULT LINUX I386 FAIBASE UGENT GRUB AMD64 X4100 spring LAST

So for some reasong I386 and AMD64 are defined.

DEFAULT LINUX I386: are defined by the 10-base-classes script.

FAIBASE UGENT GRUB: by 50-host-classes

AMD64 X4100: by spring file in classes directory.

Now in 50-host-classes I can see:
[ -x "`which dpkg`" ] \
    && dpkg --print-installation-architecture | tr a-z A-Z

And when I run that in my nfsroot it prints I386.  Because it is a i386 
nfsroot.

I could remove that line, and manually define I386 or AMD64, but the 
file says I should do that :-)

If I set up two different nfsroot I don't have that problem, but I don't 
want to do that any more.

How could I fix this?

Thanks in advance,

-- 
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Rudy Gevaert          Rudy.Gevaert at UGent.be          tel:+32 9 264 4734
Directie ICT, afd. Infrastructuur ICT Department, Infrastructure office
Groep Systemen                    Systems group
Universiteit Gent                 Ghent University
Krijgslaan 281, gebouw S9, 9000 Gent, Belgie               www.UGent.be
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --



More information about the linux-fai mailing list