GoaSkin Geschrieben 17. Dezember 2013 Geschrieben 17. Dezember 2013 Hallo, ich möchte das gesamte System von bereits ausgelieferten Systemen ersetzen, die sich nicht so ohne Weiteres neu installieren lassen. Meine Idee ist, ein anderes Linux-System in ein Unterverzeichnis der System-Partition zu legen - quasi ein chroot-System - und den GRUB-Bootloader direkt in diese Chroot-Umgebung booten zu lassen. Einige Dokumentationen im Netz wollen behaupten, man müsste nur aus dem gebooteten Muttersystem das Unterverzeichnis mit dem neuen System chrooten, nachdem man /dev, /proc und /sys dort reingemountet hat und dort update-grub und grub-install ausführen. Klappt nur leider nicht. update-grub legt eine Konfiguration im Boot-Unterordner des Zweit-Systemordners an, wobei in der Konfiguration nicht darauf eingegangen wird, dass es sich um eine chroot-Umgebung handelt. Grub-Install lässt sich normal ausführen. Beim nächsten Start geht allerdings Grub davon aus, dass sich das Unterordner-System im Hauptordner befindet und bringt Fehlermeldungen, dass die ganzen Kernel- und Initram-Images nicht vorhanden seien. Logisch, sie befinden sich ja auch in der chroot-Umgebung. Hat jemand Erfahrung damit, wie man das richtig macht? Zitieren
Crash2001 Geschrieben 18. Dezember 2013 Geschrieben 18. Dezember 2013 Was steht denn in der Grub-Config drin? (Standardmässig glaube ich unter /boot/grub/ zu finden) Eventuell musst du dort nur die Verzeichnisspfade anpassen Zitieren
RipperFox Geschrieben 20. Dezember 2013 Geschrieben 20. Dezember 2013 Goa: Schau Dir die manpage von pivot_root an, dort steht als Beispiel wie man z.B. Root auf ein NFS-Share legt. Mit nem Unterordner ist es prinzipiell das selbe - ggf. must Du eine eigene initrd erstellen, welche alles mountet.. Grüße Ripper Zitieren
darkfader Geschrieben 20. Januar 2014 Geschrieben 20. Januar 2014 Es kann sein, dass Dir der Grub dabei so viele graue Haare macht, dass Du nichts mehr mit Computern zu tun haben willst. Insofern wuerd ich die Grubconfig hier erstmal von Hand "richtig machen". Kernel und Initrd kannste in Deinem Unterordner liegen haben, ich wuerde es aber in Einzelschritten machen, z.b. _erst_ in /boot. Dann initrd rueberziehen. Dann ggf. den Kernel. Der Hinweis von RipperFox wird Dir vermutlich das Leben retten, einfach aus der Initrd (im normalen /boot) rueberspringen vereinfacht die Sache vielleicht. Meine Leseempfehlung: AN2008_05_ChangingYourRoots < DULG < DENX Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.