First of all thank you for the clarification, this is some squeezed juice that must be in some FAQ, good information. Just one thing that I think is missing: the use of apt source.list. I read somewhere writed by you Thoomas: Do not mix /etc/apt/sources.list and /etc/fai/apt/sources.list. FAI uses the later for building the nfsroot. So I supose that the mirror is created based on /etc/apt/sources.list, is that correct? I think this information is the icing on the cake of your explanation :)
About my installation, even with linux-image-486 it doesn't seem to work, same error: >error: cannot read the Linux header. >error: you need to load the kernel first. > >Press any key to continue... I will try to save mirror messages and send it here. thanks! 2014-05-13 15:38 GMT+01:00 Toomas Tamm <tt-...@kky.ttu.ee>: > On Tue, 2014-05-13 at 14:23 +0100, Rui Teixeira wrote: > > in fact a stupid error... I feel stupid... But even with that class > > defined I don't get it, in NSFROOT I've defined that I want > > linux-image-486, why I have to told FAI that I want it again in > > packages_config/DEBIAN ? And more, I cant define linux-image-486 in > > NSFROOT and in packages_config/DEBIAN define another one... So, what's > > the point to define it in NSFROOT? > > I think you are confusing the nfs root and the system being installed. > Don't worry, you are not alone. After eight years of using FAI and > hundreds of installs, I still sometimes make the same kind of > error... :-) > > I shall try to explain this in some detail. > > The so-called nfsroot is a small but fully capable instance of Debian, > which gets booted when you perform a FAI installation, and once the > installation is over, it is not run on the same host again, until the > next install (or perhaps a sysinfo or softupdate run, but that's another > story). > > The nfsroot usually resides on an installation server (aka FAI server) > and is exported via NFS, and mounted by the kernel on the computer being > installed. In such setup, the kernel is usually delivered via TFTP, > although I have successfully used CDs and flash sticks to boot the > kernel, and then mount the nfsroot via NFS. > > Alternatively, the nfsroot can be put on a CD of flash stick, together > with a kernel and a package archive, to perform an installation without > use of a network connection. This is called a "FAI CD" and you appear to > be pursuing that route. > > The nfsroot is (re)created when you issue the "fai-make-nfsroot" > command, which may be also part of "fai-setup" or "fai-cd" scripts (not > sure of the latter). The packages which go into this system are listed > in the file called "NFSROOT", and that includes the kernel which will be > running during the installation. This is not necessarily the same kernel > that you wish to run on the system after it is installed, although in > many cases they will be the same. > > Once the kernel has booted and mounted the nfsroot over NFS or from the > CD or flash stick, it executes a series of scripts which make up the FAI > proper. These scripts install the system on the hard disk(s) of the > computer they are running on. The computer is usually called the > "target" and its root directory is, in fact, mounted as "/target" during > the install. > > The lists of packages that you put into package_config in the > configuration space are now inspected, and the packages corresponding to > the classes you specify for the particular host get installed > into /target and its subdirectories. These are entirely separate lists > from the packages that make up the nfsroot - no package is copied from > nfsroot to the target system directly (although there is a nuance here - > see below). In particular, you need to specify a kernel here, and it may > be a different kernel than the one which was installed into the nfsroot, > as long as it is able to boot (and meets your needs) on the target > system. > > The nuance I skipped over earlier is that a minimal set of packages (the > so-called essential packages) are not installed from the > corresponding .deb's, but are unpacked from a tar-file directly > into /target instead. This speeds up the installation, and also makes it > possible to do complicated things like cross-distribution and > cross-architecture installations. Ignoring the latter, the tar-file is > usually called base.tar.xz (or .gz) and is built together with the > nfsroot, and resides in /var/tmp of the nfsroot. > > When building base.tar.xz, the fai-make-nfsroot script makes use of the > packages and other content which are being installed into the nfsroot, > so there, indeed, the content of nfsroot influences what is eventually > ending up on the target system. However, the creation of the base file > occurs very early during fai-make-nfsroot, before the packages you list > in the NFSROOT file get installed into it. Thus no kernel or other > packages specific to your system end up in the base file. These still > need to be listed separately in various files under package_config. > > I hope this clarifies things a little, and remains in the list archive > for future reference of others as well. > > Regards, > > Toomas Tamm > > > > >