Bug 25416 - Net Installer: zu kleine ramdisk in PXE Konfiguration für amd64
Net Installer: zu kleine ramdisk in PXE Konfiguration für amd64
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UCS Net Installer
UCS 3.0
Other Linux
: P5 normal (vote)
: UCS 3.0-2
Assigned To: Felix Botner
Philipp Hahn
: interim-2
Depends on:
Blocks: 26772 29604
  Show dependency treegraph
 
Reported: 2011-12-09 19:36 CET by Felix Botner
Modified: 2012-12-06 14:48 CET (History)
4 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Felix Botner univentionstaff 2011-12-09 19:36:17 CET
Net Installer mit einem amd64 System geht schief, da die ramdisk in der pxe Konfiguration zu kleine ist:

univention-net-installer/debian/postins
pxe/installer/ramdisksize?"184696" \

Für amd64 muss es mindestens 209272 sein.

Das kann man aber auf dem Rechner, der Net Installation per pxe/installer/ramdisksize konfigurieren.
Comment 1 Hendrik Mangels univentionstaff 2012-04-11 16:14:42 CEST
Im Auslieferungszustand bringt die PXE-Installation folgende Fehlermeldung auf amd64-Systemen:

  init started: BusyBox v1.17.1 (Univnetion 1:1.17.1-8.36.201105171211)
  cat: can't open '/proc/cmdline': No such file or directory
  cat: can't open '/proc/cmdline': No such file or directory
  cat: can't open '/proc/cmdline': No such file or directory
  'linux': unknown terminal type.
  'linux': unknown terminal type.
  'linux': unknown terminal type.
  Traceback (most recent call last):
    File "/lib/univention-installer/main.py", line 114, in <module>
      f=open('/proc/cmdline', 'r')
  IOError: [Errno 2] No such file or directory: '/proc/cmdline'
  Press Return to restart the installer program.

In bereits generierten PXE-Konfigurationen muss "ramdisk_size" außerdem direkt in der jeweiligen Datei unter "/var/lib/univention-client-boot/pxelinux.cfg" angepasst oder ein "resync" des zugehörigen Listener durchgeführt werden:

  univention-directory-listener-ctrl resync serverinstallerpxe
Comment 2 Philipp Hahn univentionstaff 2012-04-12 08:52:28 CEST
Da der Fehler einer zu kleinen RAMDISK regelmäßig auftritt (gefühlt jede UCS-Release) sollte hier IMHO langfristig darüber nachgedacht werden, wo nicht auf InitRamFS-Umgestellt wird. Der kleine aber feine Unterschied ist folgender:

- Die InitRamDisk (initrd) hat einen fest reservierten Speicherbereich, der dem Kernel mitgegeben werden muß. Dadurch ist die Größe fix. Außerdem enthält sie ein normales ext[234]-Dateisystem, dessen Daten nochmals im BufferCache zwischengespeichert werden, wie dies auch bei einem ext[234]-Dateisystem auf einer Festplatte der Fall wäre.
<http://de.wikipedia.org/wiki/Initrd>

- Ein InitRamFileSystem (initramfs) dagegen ist ein tmpfs, das direkt den im BufferCache lebt und damit die Daten nicht im RAM verdoppelt. Außerdem kann ein TempFs dynamisch bis zur maximalen Haupspeichergröße wachsen (sofern man das nicht künstlich einschränkt). Statt einer ext[234]-Datei wird ein cpio-Archiv verwendet, das wie die initrd auch per gzip/bzip/lzma/xz komprimiert sein kann.
<http://de.wikipedia.org/wiki/Initramfs>

Beide Formate können über das "initrd"-Keyword in der grub.cfg bzw. pxe-Konfiguration übergeben werden, der Kernel erkennt automatisch, ob es ein (komprimiertes) cpio-Archiv ist oder ein anderes Dateisystem für die initrd.
Comment 3 Felix Botner univentionstaff 2012-06-05 13:09:08 CEST
Der Standard für die Größe der Ramdisk wurde auf 209272 geändert.
Comment 4 Philipp Hahn univentionstaff 2012-07-05 10:19:19 CEST
OK: univention-net-installer wurde auf einem UCS-3.0-2wip AMD64 System installiert, univention-repository-create aufgerufen, ein Rechner angelegt und für die automatische Installation angewählt. Der Installer wurde per PXE erfolgreich geladen und eine Basisinstallation lief durch.
OK: grep ramsize /proc/cmdline # 209272
OK: svn33427, univention-net-installer_5.0.4-1.14.201206051259
OK: ChangeLog svn13348
+Bytes
Comment 5 Philipp Hahn univentionstaff 2012-07-07 08:02:39 CEST
Mir ist dann da doch noch was aufgefallen:
svn33427 erhöht die Ramdisk-Größe nur dann, wenn die UCV-Variable vorher exakt der Wert 184696 hatte. Wenn ein Kunde das selber oder der Support das für ihn schon mal angepasst hat, weil es bei ihm nicht funktioniert hat, bleibt es ggf. bei einem zu kleinen Wert. Von daher sollte der Test von
 = "184696"
in
 -lt 209272
geändert werden, damit die Größe für die von uns ausgelieferte Ramdisk wieder passt.
(Ggf, lässt sich das auch durch einen längeren Updatepfad von UCS-2.x aus provozieren, aber das nachzustellen spar ich mir jetzt.)
Comment 6 Stefan Gohmann univentionstaff 2012-07-09 06:26:27 CEST
(In reply to comment #5)
> Mir ist dann da doch noch was aufgefallen:
> svn33427 erhöht die Ramdisk-Größe nur dann, wenn die UCV-Variable vorher exakt
> der Wert 184696 hatte. Wenn ein Kunde das selber oder der Support das für ihn
> schon mal angepasst hat, weil es bei ihm nicht funktioniert hat, bleibt es ggf.
> bei einem zu kleinen Wert. Von daher sollte der Test von
>  = "184696"
> in
>  -lt 209272
> geändert werden, damit die Größe für die von uns ausgelieferte Ramdisk wieder
> passt.
> (Ggf, lässt sich das auch durch einen längeren Updatepfad von UCS-2.x aus
> provozieren, aber das nachzustellen spar ich mir jetzt.)


Das sollten wir so lassen, wenn ein Kunde den Wert angepasst hat, dann sollten wir ihn nicht automatisch anpassen.
Comment 7 Philipp Hahn univentionstaff 2012-07-09 10:22:55 CEST
OK, Rest ggf. über Support.
Comment 8 Stefan Gohmann univentionstaff 2012-07-20 15:24:45 CEST
UCS 3.0-2 has been released: 
  http://forum.univention.de/viewtopic.php?f=54&t=1905

If this error occurs again, please use "Clone This Bug".