Univention Bugzilla – Bug 25416
Net Installer: zu kleine ramdisk in PXE Konfiguration für amd64
Last modified: 2012-12-06 14:48:00 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.
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
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.
Der Standard für die Größe der Ramdisk wurde auf 209272 geändert.
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
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.)
(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.
OK, Rest ggf. über Support.
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".