Re: Origin location of pxelinux.0 inside fai-make-nfsroot

2014-10-07 Thread Thomas Lange
 On Mon, 06 Oct 2014 13:10:22 -0700, Ronan Keryell ro...@keryell.fr said:

 I have an issue with fai-make-nfsroot around lines 492--508 :

 It is not clear to me why pxelinux.0 is fetched from $NFSROOT instead of 
the
 local file system?
Yes, that's not clean.

 - it is more related to the server than the client using NFSROOT.
IMO it's best to use both from inside the NFSROOT.
In Jessie those files are in different packages. I will add them to
/etc/fai/NFSROOT instead of defining both dependencies for the package
fai-nfsroot, so that it's still possible to change it when using
wheezy (since wheezy  does not have the package pxelinux)

Thanks for the report.

It's fixed in these commits
https://github.com/faiproject/fai/commit/530bcdb384266bf91c76099ded8e96932133b560
https://github.com/faiproject/fai/commit/5e46a5825d9f075af23a4247fa6f23cec1e575d9

-- 
regards Thomas


Origin location of pxelinux.0 inside fai-make-nfsroot

2014-10-06 Thread Ronan Keryell
After 10 years away from FAI, I am happily back on using it. :-)

I have an issue with fai-make-nfsroot around lines 492--508 :

f083d3ba bin/fai-make-nfsroot (Thomas Lange   2012-04-10 13:40:12 +0200 
492) # tftp environment
b8e70a3e bin/fai-make-nfsroot (Thomas Lange   2014-08-24 22:18:51 +0200 
493) local pxebin
b8e70a3e bin/fai-make-nfsroot (Thomas Lange   2014-08-24 22:18:51 +0200 
494) 
b8e70a3e bin/fai-make-nfsroot (Thomas Lange   2014-08-24 22:18:51 +0200 
495) # wheezy/jessie pathes
b8e70a3e bin/fai-make-nfsroot (Thomas Lange   2014-08-24 22:18:51 +0200 
496) if [ -f $NFSROOT/usr/lib/PXELINUX/pxelinux.0 ]; then
0e5df8c6 bin/fai-make-nfsroot (Thomas Lange   2014-08-25 23:11:20 +0200 
497) pxebin=$NFSROOT/usr/lib/PXELINUX/pxelinux.0
b8e70a3e bin/fai-make-nfsroot (Thomas Lange   2014-08-24 22:18:51 +0200 
498) else
0e5df8c6 bin/fai-make-nfsroot (Thomas Lange   2014-08-25 23:11:20 +0200 
499) pxebin=$NFSROOT/usr/lib/syslinux/pxelinux.0
b8e70a3e bin/fai-make-nfsroot (Thomas Lange   2014-08-24 22:18:51 +0200 
500) fi
b8e70a3e bin/fai-make-nfsroot (Thomas Lange   2014-08-24 22:18:51 +0200 
501) 
6e9dc307 bin/make-fai-nfsroot (Thomas Lange   2007-06-12 14:53:01 + 
502) rm -f $NFSROOT/boot/*.bak
371855ed bin/make-fai-nfsroot (Thomas Lange   2007-08-12 14:08:14 + 
503) mkdir -p $TFTPROOT/pxelinux.cfg
451b235e bin/fai-make-nfsroot (Thomas Lange   2012-11-28 15:31:04 +0100 
504) chmod a+r $NFSROOT/boot/initrd.img-*
b2b266d9 bin/fai-make-nfsroot (Thomas Lange   2012-04-25 22:13:53 +0200 
505) cp -pv $NFSROOT/boot/vmlinu?-* $NFSROOT/boot/initrd.img-* $TFTPROOT
6bed5337 bin/fai-make-nfsroot (Thomas Lange   2014-08-30 21:37:48 +0200 
506) cp -u $pxebin $TFTPROOT
6bed5337 bin/fai-make-nfsroot (Thomas Lange   2014-08-30 21:37:48 +0200 
507) [ -f /usr/lib/syslinux/modules/bios/ldlinux.c32 ]  cp -u 
/usr/lib/syslinux/modules/bios/ldlinux.c32 $TFTPROOT
8b73f0ad bin/fai-make-nfsroot (Thomas Lange   2013-11-25 13:09:18 +0100 
508) echo TFTP environment prepared. Enable DHCP and start the TFTP daemon 
on root $TFTPROOT.


It is not clear to me why pxelinux.0 is fetched from $NFSROOT instead of the
local file system?

The case of pxelinux.0 seems to be the same for example as ldlinux.c32
which comes from the local file system in the code sample above.

Rationale :
- there would be no need to install pxelinux in each NFSROOT;
- it is more related to the server than the client using NFSROOT.
- this makes the example from
  http://wiki.fai-project.org/wiki/Installing_Ubuntu_Linux_with_FAI to
  fail because there is no pxelinux package installed on the NFSROOT
  according to the given content of /etc/fai/NFSROOT

If that makes sense, I can send a pull request to have this code instead:
if [ -f /usr/lib/PXELINUX/pxelinux.0 ]; then
pxebin=/usr/lib/PXELINUX/pxelinux.0
else
pxebin=/usr/lib/syslinux/pxelinux.0
fi

Thank you,
-- 
  Ronan KERYELL.