[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [K12OSN] Fedora 9 Live LTSP Server, Beta 1



Nadav Kavalerchik wrote:
it is etherboot. (rtl8139 + etherboot chip i got from disklessworkstation)

what can i do to help in this ?


Any idea what version of Etherboot?  What is its vendor-class-identifier?

I just committed the attached to ltsp-trunk. This should work on anything reporting itself as "Etherboot-5.4" in the DHCP request. If your Etherboot is older though, it becomes a bit difficult to handle automatically. This is because older Etherboot reported itself as "Etherboot", where some versions supported only NBI while others were capable of ELF.

I tried mknbi-linux just now and the resulting NBI seems to just fail. I cannot prioritize looking further at NBI given how old it is. If somebody else figures out a way to improve this situation for older Etherboot I'm willing to review patches.

Anyhow, give this a try.

Warren Togami
wtogami redhat com
revno: 796
committer: Warren Togami <wtogami redhat com>
branch nick: ltsp-trunk
timestamp: Sun 2008-08-10 16:08:07 -0400
message:
  Fedora: Generate ELF image automatically for Coreboot or Etherboot-5.4
  You must install mkelfimage into the chroot and use the dhcpd.conf changes.
  This should theoretically work with anything with vendor-class-identifier of "Etherboot-5.4".
  I also tried mknbi-linux for even older clients, but the resulting output NBI file seems to broken.
  Perhaps our modern kernel + initrd is just too big.

=== modified file 'server/configs/k12linux/ltsp-dhcpd.conf'
--- server/configs/k12linux/ltsp-dhcpd.conf	2008-03-06 01:41:24 +0000
+++ server/configs/k12linux/ltsp-dhcpd.conf	2008-08-10 20:08:07 +0000
@@ -36,11 +36,10 @@
         filename      "yaboot";
         option vendor-class-identifier "AAPLBSDPC";
      } 
-     # Etherboot PXE (only 5.4))
+     # Etherboot ELF (only 5.4), should work with Coreboot
      elsif substring (option vendor-class-identifier, 0, 13) = "Etherboot-5.4" 
      {
-        # NOTE: kernels are specified in /tftpboot/ltsp/i386/pxelinux.cfg/
-        filename      "/ltsp/i386/pxelinux.0";
+        filename      "/ltsp/i386/elf.ltsp";
      } 
      # PXE
      elsif substring (option vendor-class-identifier, 0, 9) = "PXEClient" 

=== modified file 'server/configs/k12linux/mkinitrd/ltsp-postinst.d'
--- server/configs/k12linux/mkinitrd/ltsp-postinst.d	2008-08-05 19:07:37 +0000
+++ server/configs/k12linux/mkinitrd/ltsp-postinst.d	2008-08-10 20:08:07 +0000
@@ -1,7 +1,24 @@
 #!/bin/bash
+
+# Prep kernel and initrd for various types of LTSP netboot
+[ ! -e /etc/ltsp_chroot ] && exit 0
+KERNELOPTS="ro quiet selinux=0 rhgb"
+
+# Image for ELF and coreboot
+if [ -x /usr/sbin/mkelfImage ]; then
+  rm -f /boot/elf-$1.img
+  mkelfImage --kernel=/boot/vmlinuz-$1 --initrd=/boot/initrd-$1.img --output=/boot/elf-$1.img --append="$KERNELOPTS"
+  ln -sf elf-$1.img /boot/elf.ltsp
+fi
+
+# Image for really old NBI-only clients
+if [ -x /usr/bin/mknbi-linux ]; then
+  rm -f /boot/legacy-nbi-$1.img
+  mknbi-linux /boot/vmlinuz-$1 /boot/initrd-$1.img --output=/boot/legacy-nbi-$1.img --append="$KERNELOPTS"
+  ln -sf legacy-nbi-$1.img /boot/legacy-nbi.ltsp
+fi
+
 # Symlink vmlinuz.ltsp and initrd.ltsp and set permissions for tftp server
-[ ! -e /etc/ltsp_chroot ] && exit 0
-
 ln -sf vmlinuz-$1    /boot/vmlinuz.ltsp
 ln -sf initrd-$1.img /boot/initrd.ltsp
 chmod 644 /boot/initrd-$1.img

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]