Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 111345 - Diskless install using PXE boot, unclear about server file layout
Summary: Diskless install using PXE boot, unclear about server file layout
Status: RESOLVED FIXED
Alias: None
Product: [OLD] Docs on www.gentoo.org
Classification: Unclassified
Component: Other documents (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Docs Team
URL: http://www.gentoo.org/doc/en/diskless...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-03 04:22 UTC by Fabian Sturm
Modified: 2007-07-12 07:04 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fabian Sturm 2005-11-03 04:22:01 UTC
Hi!

The section 'diskless install using pxe boot' is nice up to the point where the
server file system is setup.

1. question in section:

Code Listing 5.6: /etc/exports
Why do I have to export /diskless/eta? Shouldn't the files in this directory be
provided by tftp?
So I would make two different dirctories for clarity, one providing everything
for the tftp boot and one for the gentoo root partition. (maybe
/diskless/eta/gentoo)


2. reboot?
"You might want to reboot the server with a Gentoo Install CD, "

How is this meant? If I reboot into a gentoo installation cd on the server, why
do I then setup all the tftp stuff on the disk?
(Ahh okay during writing this bug report I understood how this was meant)
Maybe this option should be presented only as an alternative at the end of the
section? Otherwise you get quite confused what one has to do or not if he did
not boot from the cd. (e.g. is a chroot necessary?)

Maybe instead of unpacking the stage tarball it is also possible to export the
gentoo cd as root filesystem?

3. unclear what is meant in this sentence:

Simply finish the install and restart the server.

So now I am completely lost.

Maybe someone can shed some light into this! I would greatly appreciate it and
would like to help and improve this part of the documentation.

Thanks, Fabian


Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Comment 1 Jan Kundrát (RETIRED) gentoo-dev 2005-11-03 11:00:10 UTC
(In reply to comment #0)  
> Code Listing 5.6: /etc/exports  
> Why do I have to export /diskless/eta? Shouldn't the files in this directory  
be  
> provided by tftp?  
  
tftp transfers only kernel image and initrd, root is mounted over NFS. What are  
you referring to? (supposing "eta" is your machine)  
  
> So I would make two different dirctories for clarity, one providing  
everything  
> for the tftp boot and one for the gentoo root partition. (maybe  
> /diskless/eta/gentoo)  
  
Why?  
  
> 2. reboot?  
> "You might want to reboot the server with a Gentoo Install CD, "  
  
I can't find anything like that in our doc (see $URL). Are we talking about the 
same file? 
  
Comment 2 Fabian Sturm 2005-11-03 11:45:40 UTC
Ahh damn the link I meant is http://www.gentoo.org/doc/en/altinstall.xml#doc_chap5.

And the diskless documentation is the one which is A LOT clearer.

You are right, it is not necessary to have seperate directories for tftp and the
provided root fs, but from the mentioned doc it is unclear what is part of which
process. Maybe an introductory paragraph about the boot process and directory
layout would be good.

E.g. somthing like this:

"The bootprocess starts by the client running the bios built in network boot
code. This code first tries to get an ip via dhcp and then loads the image file
configured in the dhcpd configuration.
In our case this is pxegrub which than is executed and loads the grub boot
manager and the grub.lst file also loaded from the tftp server. 
Finally if you select the boot option in grub a linux kernel image bzImage is
loaded over tftp and started.
From this point on the Linux kernel will take over the client and tries to mount
it's root partition over nfs."

"Therefore we have the following file setup on the server:
/diskless/eta/ (contains all files necessary for the client to boot, e.g. the
linux root file system and the bootmanager in ./boot)
/diskless/eta/boot/pxegrub (the grub boot manager)
/diskless/eta/boot/grub.lst (the grub menu file)"

Since I now provided the correct url you will find the section:

"Creating the system on the server"

Here it gets confusing, what are the concret options, do i need to reboot? Do I
need to copy files from the cd to the /diskless directory?

This command:
cd /mnt/gentoo/diskless/eta/ e.g. won't work. I have all my files in
/diskless/eta not /mnt/gentoo/diskless. 

Next I am told to chroot and after that I should compile a kernel. This won't
work since I didn't extracted a kernel image into my /diskless/eta directory.
And an emerge won't work since I didn't extract a portage snapshot there.
(which is not necessary anyways just to be able to boot and install the client)

Next why do I have a /dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0 in the
/etc/fstab file which will be provided to the client, but if the client would
have a cdrom then I just could have booted the gentoo cd.

Next emerge nfs-utils
see above with emerge gentoo-kernel, since I did not extract a snapshot, I don't
have a portage dir...

Next Code Listing 5.14: Starting services
I am never told to leave the chroot environment

Next ...and provide you with a login prompt. 
yes if you get that far everything seems fine, except you can't login since you
never set a password for the root user in the chrooted environment.


Maybe all these steps missing are meant implicitely in the statement "Then
follow the installation manual until kernel configuration". 
But for a novice user like me it would be better to include the necessary steps
and not to refer to just another document. Even though that would mean partial
redundancy in the documentation.

Finally I want to say that I don't want to be nitpicking about the docu. Every
single piece available is really great and took hours of time to create,
but I just wanted to point on some things which in my opinioin could be a little
    bit clearer!

Thanks a lot, Fabian 




Comment 3 nm (RETIRED) gentoo-dev 2006-10-31 23:51:52 UTC
(In reply to comment #2)

Okay, here's how I see things: I think the doc is clear enough; all the explanatory stuff you mentioned wouldn't do anything but increase reading time. However, you have brought up some things that need to be fixed.

> http://www.gentoo.org/doc/en/altinstall.xml#doc_chap5.
>
> This command:
> cd /mnt/gentoo/diskless/eta/ e.g. won't work. I have all my files in
> /diskless/eta not /mnt/gentoo/diskless. 
Yup. It should be /diskless not /mnt/gentoo/diskless.

> Next I am told to chroot and after that I should compile a kernel. This won't
> work since I didn't extracted a kernel image into my /diskless/eta directory.
> And an emerge won't work since I didn't extract a portage snapshot there.
> (which is not necessary anyways just to be able to boot and install the client)
Yup, neither Portage emerging nor kernel extraction were mentioned.

> 
> Next why do I have a /dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0 in the
> /etc/fstab file which will be provided to the client, but if the client would
> have a cdrom then I just could have booted the gentoo cd.
Because it's possible the client can take CDs if it's running as a thin client (primarily an X server, for example). Not an issue; this part can stay.

> Next emerge nfs-utils
> see above with emerge gentoo-kernel, since I did not extract a snapshot, I
> don't
> have a portage dir...
Correct, no Portage stuff was setup. Should be fixed.

> Next Code Listing 5.14: Starting services
> I am never told to leave the chroot environment
This is not an issue; we have the sentence "Simply finish the install and restart the server." -- and since we already tell users to just follow the installation handbook, we don't need to duplicate all that information in the altinstall guide.

> Next ...and provide you with a login prompt. 
> yes if you get that far everything seems fine, except you can't login since you
> never set a password for the root user in the chrooted environment.
This is also tricky; perhaps we *should* explicitly mention creating a root user? Though that would be duplicating information that is *already in the handbook*.

To sum up, there are 2 outstanding issues:
1) change /mnt/gentoo/diskless/ to /diskless -- I assume that mounting a top level dir (not one in /mnt/) will work normally.
2) Missing kernel and Portage snapshot extraction steps. (This also affects emerging nfs-utils).
Comment 4 nm (RETIRED) gentoo-dev 2007-07-12 07:04:11 UTC
(In reply to comment #3)

> To sum up, there are 2 outstanding issues:
> 1) change /mnt/gentoo/diskless/ to /diskless -- I assume that mounting a top
> level dir (not one in /mnt/) will work normally.
> 2) Missing kernel and Portage snapshot extraction steps. (This also affects
> emerging nfs-utils).

Seems to be a dead issue after reviewing the doc for several months.

First, /mnt/gentoo/diskless was changed to just /diskless some time ago (I think I made that commit, not sure), and there is no more diskless/eta dir of any kind.

Second, the user is never told to chroot to the diskless client, thus the emerge for things like nfs-utils and copying the bzImage takes place on the master's filesystem, so a Portage snapshot isn't necessary, as nfs-utils is installed on the master anyway, since it's going to be setting up the NFS server in the first place.

Going to close this one. None of the original "issues" reported are still present or valid.