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