Problems installing a bootp server - Embedded
This is a discussion on Problems installing a bootp server - Embedded ; Hi
I want to gather some embedded developing experience by using an old
pc as a target and my laptop with SuSE Linux as a development host. I
want to load the root fs on the target with nfs.
My ...
-
Problems installing a bootp server
Hi
I want to gather some embedded developing experience by using an old
pc as a target and my laptop with SuSE Linux as a development host. I
want to load the root fs on the target with nfs.
My tutorial book (basing on a very old 2.2.19 kernel) tells me to
configure the bootp server in the /etc/inetd.conf. I didn't find any
bootps executable on my SuSE 9.1 installation. Therefore I tried to
install the bootp-DD2 with YaST. But this did not install any
executable. It only installed some files in the
/usr/share/doc/bootp-DD2 directory. There also lack a lot of files
mentioned in the README within this directory, as e.g. the makefile.
Do I really first have to build the bootp-DD2 or did I fail installing
with YaST (I checked the box: automatic check for dependencies)?
Furthermore the tutorial tells me bootp is searching for the ip
configurations in the /etc/bootptab that is also missing on my SuSE
installation. Any suggestions or guidance for a good short primer for
bootp, nfs, better dedicated discussion groups ... ?
TIA
Hans-Joerg
-
Re: Problems installing a bootp server
Hello Hans!
Hans-Joerg Wagner wrote:
> I want to gather some embedded developing experience by using an old
> pc as a target and my laptop with SuSE Linux as a development host. I
> want to load the root fs on the target with nfs.
I would suggest to put etherboot on your target....
There is plenty of documentation on the net, and it is simple to set up.
best regards
Wolfgang
-
Re: Problems installing a bootp server
Wolfgang Mües wrote in message news:...
> Hello Hans!
>
> Hans-Joerg Wagner wrote:
> > I want to gather some embedded developing experience by using an old
> > pc as a target and my laptop with SuSE Linux as a development host. I
> > want to load the root fs on the target with nfs.
>
> I would suggest to put etherboot on your target....
> There is plenty of documentation on the net, and it is simple to set up.
>
> best regards
> Wolfgang
Thanks Wolfgang
but as I am a very newbie, I prefer to stay step by step with my
tutorial labs. But if nobody has other ideas I will be forced to use
your recommendation.
BTW: Doesn't etherboot to be put on the host, if the target has to
catch its fs over nfs?
TIA
Hans-Joerg
-
Re: Problems installing a bootp server
In article ,
nickiundhj@hispeed.ch (Hans-Joerg Wagner) writes:
> Wolfgang Mües wrote in message news:...
>> Hello Hans!
>>
>> Hans-Joerg Wagner wrote:
>> > I want to gather some embedded developing experience by using an old
>> > pc as a target and my laptop with SuSE Linux as a development host. I
>> > want to load the root fs on the target with nfs.
>>
>> I would suggest to put etherboot on your target....
>> There is plenty of documentation on the net, and it is simple to set up.
>>
>> best regards
>> Wolfgang
>
> Thanks Wolfgang
>
> but as I am a very newbie, I prefer to stay step by step with my
> tutorial labs. But if nobody has other ideas I will be forced to use
> your recommendation.
>
> BTW: Doesn't etherboot to be put on the host, if the target has to
> catch its fs over nfs?
You put the etherboot sources on the host and compile them to create
an etherboot binary which is suitable for your target. However, for
common configurations (such as your "old PC") you can quite conveniently
configure and download a suitable etherboot image online (just go to
www.rom-o-matic.net). The easiest way to use etherboot with an old PC
is to create a floppy boot image so that the PC loads etherboot from
floppy.
Note that etherboot has nothing to do with the filesystem: it is only
responsible for loading a kernel via network, similar to the way LILO
or GRUB load the kernel from harddisk. How the kernel accesses its
root FS after being loaded is entirely up to that the kernel.
The procedure is roughly as follows:
- The target wakes up from reset or power on. After doing its
initialization stuff (BIOS), it runs the etherboot program.
- Etherboot only knows the NIC's MAC address. It broadcasts
BOOTP and/or DHCP (depending on how etherboot was configured)
requests on the network.
- This is where your hotst's bootpd enters the picture: in response
to these BOOTP requests from the target, a bootp server checks its
database (the /etc/bootptab file) for an entry matching the MAC
address of the target that issued the request.
- if it finds a matching entry, it sends the network configuration
info attached to it to the target. This info contains a lot of
tags, many of which are optional ("man bootptab" for details). The
info however must be sufficient for the target to configure its
network interface (i.e. IP address, mask, gateway, ...) and to
request a boot file (IP/hostname of TFTP server, location of
boot file on that server ...).
- With that information, the etherboot program on the target
configures its network interface and then sends TFTP requests
to its designated TFTP server to load the designated boot file
(containing the Linux kernel).
- After the boot file was loaded to RAM, etherboot passes control to
it.
Note that the DHCP protocal is a superset of BOOTP, so you could as
well set up a DHCP server instead of a BOOTP one (this is probably
the reason why SuSE do not seem to provide a functional BOOTP server
package). Both these protocols are only responsible for passing
network configuration parameters to the target upon request. The actual
boot is then done via TFTP (which means that in addition to a BOOTP or
DHCP server, you also need to set up a TFTP server).
Once the target has successfully booted the kernel, that kernel needs
to mount a root filesystem. For a diskless system, this can either be
an NFS filesystem (which would imply that you also need to run an NFS
server), or it can be an initial RAMDISK image which was booted along
with the kernel image.
Also see the mknbi manpage. If it is missing you need to install
that tool as well.
Rob
--
Robert Kaiser email: rkaiser AT sysgo DOT com
SYSGO AG http://www.elinos.com
Klein-Winternheim / Germany http://www.sysgo.com