Dakuan
Anmeldungsdatum: 2. November 2004
Beiträge: 6345
Wohnort: Hamburg
|
Auf meinem neuen PC (Shuttle SZ270R8, noch nicht geliefert) beabsichtige ich, neben dem 64-Bit System auch ein 32-Bit System zu installieren. Nachdem ich mich jetzt aber nochmal mit der Partitionierung und UEFI beschäftigt hatte, sind mir Zweifel gekommen, dass das so einfach geht. Weil hier steht: Im Allgemeinen kann eine 32-Bit-EFI-Firmware nur ein 32-Bit-Betriebssystem starten und eine 64-Bit-EFI-Firmware nur ein 64-Bit-Betriebssystem. Der einfache Grund dafür ist, dass ein 64-Bit-Kernel im Normalfall nur 64-Bit-Treiber, inklusive (U)EFI-Treiber, verwenden kann.
Habe ich da etwas falsch verstanden? Und wenn nicht, kann man das durch irgendeien Trick umgehen? Warum ich das möchte: Ich will meine Software in beiden Systemen testen. Ich habe hier noch einige Epia Boards und Raspi's in Betrieb.
|
DJKUhpisse
Supporter, Wikiteam
Anmeldungsdatum: 18. Oktober 2016
Beiträge: 17657
Wohnort: in deinem Browser, hier auf dem Bildschirm
|
Man könnte eine MBR-Installation durchführen.
Sollte das in einem GRUB-Bootmanager nicht möglich sein, kann man 2 Platten nutzen, die jeweils einen eigenen MBR haben.
|
HarryD
Anmeldungsdatum: 14. Juni 2006
Beiträge: 2702
Wohnort: Germany - BW
|
Nur um Software in 32-Bit zu testen könnte man auch eine 32-Bit Installation in einer VM (Virtualbox) machen.
|
Dakuan
(Themenstarter)
Anmeldungsdatum: 2. November 2004
Beiträge: 6345
Wohnort: Hamburg
|
Also VM ist komplettes Neuland für mich. Möglicherweise aber der einzige Weg. Ich habe inzwischen das hier gefunden. Da steht: Dieses System wird ohne Betriebssystem ausgeliefert.
Es ist kompatibel mit Windows 7 / 10 und Linux (64-Bit).
Hinweis: Windows 7 wird nur zusammen mit Intel Core Prozessoren der sechsten Generation "Skylake" unterstützt.
Es wird ein I7 verbaut. Hast Du, was die VM betrifft, noch etwas Lesestoff? @DJKUhpisse - Das mit der zweiten Festplatte hatte ich auch vor, aber da der jetzige Händler keine 500GB Platten mehr liefern kann, dachte ich, ich nehme dann eine aus einem alten PC. Aber ich kann noch nicht erkennen, dass eine MBR-Installation da anders ist. Hinweis: Alle meine bisherigen PCs sind MBR Installationen. Mein Rekord lag bei 17 Partitionen, was allerdings seit der Umstellung von hda auf sda nicht mehr geht. Aber GPT und (U)EFI sind Neiland für mich. Deswegen die Anfängerfrage.
|
DJKUhpisse
Supporter, Wikiteam
Anmeldungsdatum: 18. Oktober 2016
Beiträge: 17657
Wohnort: in deinem Browser, hier auf dem Bildschirm
|
Es wird dann einfach die Platte gewählt, von der gestartet werden soll.
Versuche es aber doch einfach mal.
Ich würde mit dem x64-OS anfangen, da der GRUB 32 eventuell nicht das x64-OS starten kann.
Hier musst du aber einfach mal ausprobieren, was geht.
|
black_tencate
Anmeldungsdatum: 27. März 2007
Beiträge: 10958
|
Hej Dakuan, Dakuan schrieb: ...
Aber ich kann noch nicht erkennen, dass eine MBR-Installation da anders ist.
dem grub ist das wurscht, ob efi jetzt de Knackpunkt ist...? versuch mal Ulfzibis anzutriggern, der hat mal so eine Kombination versucht; habe das aber nicht so verfolgt ▶ https://forum.ubuntuusers.de/topic/howto-installation-von-32-bit-ubuntu-auf-efi-s/ Ansonsten, Virtualbox ist jetzt kein so ein Geheimnis, das geht fast von selbst. Gruß black tencate
|
mrkramps
Anmeldungsdatum: 10. Oktober 2006
Beiträge: 5523
Wohnort: south central EL
|
Dakuan schrieb: Hast Du, was die VM betrifft, noch etwas Lesestoff?
Die Wiki-Artikel Virtualisierung, VirtualBox sowie KVM und Qemu sollten für dich interessant sein. Das ist alles kein Hexenwerk und bei deinen Hardwarespezifikationen (ich kenne ja dein Thema zum Arbeitsspeicher) ist eine VM für das 32-Bit-System definitiv die sinnvollste Lösung. womit ich dich aber auf keinen Fall vom Basteln mit den anderen Lösungsansätzen abhalten möchte 😉
|
encbladexp
Ehemaliger
Anmeldungsdatum: 16. Februar 2007
Beiträge: 17449
|
Ich würde auch zu VirtualBox raten, bis auf Hypermoderne 3D Anwendungen läuft da alles sauber drin. Was für Software willst du da testen? Wenn es Konsolenprogramme oder Serverdienste mit z.B. Weboberfläche sind ist systemd-nspawn oder Docker wohl die sinnvollste Möglichkeit wenn man kein chroot mag. mfg Stefan
|
HarzG
Anmeldungsdatum: 24. Dezember 2009
Beiträge: 452
|
Erst das 64-Bit System installieren und Grub in den MBR der Platte schreiben lassen. Danach kann das 32-Bit System installiert werden wobei dessen Grub nicht in den MBR sondern in den PBR, also den Bootrecord der Partition geschrieben wird. Es ist dann noch etwas Handarbeit nötig damit aus dem 64-Bit Grub das 32er System gestartet werden kann. Was jedoch sowieso per Hand gehen sollte im 64er Grub-Terminal (mit 'c' bekommt man die Kommandozeile in Grub):
set root=(hdX,Y)
chainloader +1
boot
Erst für Grub die 32er Rootpartition festlegen, chainloader aufrufen und danach kann gebootet werden. Es erscheint dann das Grub-Menü der 32er Installation.
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11179
Wohnort: München
|
In den meisten Fällen braucht man keinen Dual-Boot, wenn man 32-Bit Anwendungen ausführen will. Bei Windows kann man 32-Bit Anwendungen problemlos unter einer 64-Bit Installation ausführen (nur 16-Bit Anwendungen gehen mit dem aktuellen Unterbau nicht mehr) und Ubuntu (und Debian) beherrschen Multiarch: https://help.ubuntu.com/community/MultiArch, damit kann man 32-Bit und 64-Bit Bibliotheken parallel installieren. Man kann auch 32-Bit Programme auf einem 64-Bit System zu kompilieren, wenn man die Flags export CFLAGS=-m32 bzw. export CXXFLAGS=-m32 setzt). Wenn man aus "Gründen" eine reines 32-Bit Linux braucht, würde ich das mit debootstrap und systemd-nspawn machen: Systemd-nspawn, das ist oft bequemer als sich mit VMs herumzuschlagen.
|
Dakuan
(Themenstarter)
Anmeldungsdatum: 2. November 2004
Beiträge: 6345
Wohnort: Hamburg
|
Also erstmal vorweg, ich stelle gerade fest, dass sich bei mir in den letzten Jahren allerhand Unwissen angesammelt hat. VM und systemd-nspawn hören sich interessant an. @HarzG - Was Du da schreibst, kommt mir doch ziemlich bekannt vor. Ich hatte vor etlicher Zeit viel mit Multiboot-Sytemen gespielt und meine Server habe alle Dualboot (mit minimalem Wartungssystem als Reserve). Aber dazu habe ich noch eine Frage. Wenn chainloading geht, könnte ich dann nicht auch direkt auf /vmlinuz verlinken, oder funktioniert dann die Umschaltung auf 32-Bit nicht? seahawk1986 schrieb: Man kann auch 32-Bit Programme auf einem 64-Bit System zu kompilieren, wenn man die Flags export CFLAGS=-m32 bzw. export CXXFLAGS=-m32 setzt).
Das war mir jetzt nicht bewusst, obwohl ich weiß, das etwas ähnliches im Embedded Bereich laufend gemacht wird. Es geht mit aber auch darum, meine Quelltexte zu testen. Also speziell auch die Datenstrukturen, die teilweise recht komplex sein können. Da habe ich schon Überraschungen erlebt. Die Programme laufen dann zwar, aber die Datenstrukturen sind nicht immer gleich. Das ist doof, wenn man das dann in eine Datei schreiben will. encbladexp schrieb: Ich würde auch zu VirtualBox raten, bis auf Hypermoderne 3D Anwendungen läuft da alles sauber drin.
Bedeutet das dass OpenGL nicht geht?
|
encbladexp
Ehemaliger
Anmeldungsdatum: 16. Februar 2007
Beiträge: 17449
|
Dakuan schrieb: Bedeutet das dass OpenGL nicht geht?
Es geht, aber mit starken Einschränkungen was die Performance angeht. mfg Stefan
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11179
Wohnort: München
|
Dakuan schrieb: encbladexp schrieb: Ich würde auch zu VirtualBox raten, bis auf Hypermoderne 3D Anwendungen läuft da alles sauber drin.
Bedeutet das dass OpenGL nicht geht?
Es geht mit Abstrichen, wenn man die 3D-Beschleunigung für die VM aktiviert hat - aber das passiert alles in Software. glxgears bringt man leicht zum Laufen, bei komplexeren Anwendungen kann es mitunter passieren, dass er über nicht implementierte Funktionen stolpert (KODI lässt sich z.B. in einer VirtualBox VM nicht starten). Außerdem gibt es immer mal wieder VirtualBox Versionen, bei denen die 3D-Beschleunigung nicht ganz reibungslos funktioniert - mit Ubuntu 18.04 in einer Virtual Box 5.2.12 r122591 auf einem Windows 10 Host sieht das aktuell z.B. so aus:
$ glxgears -info
OpenGL Warning: vboxCall failed with VBox status code VERR_BUFFER_OVERFLOW
GL_RENDERER = Chromium
GL_VERSION = 2.1 Chromium 1.9
GL_VENDOR = Humper
GL_EXTENSIONS = GL_EXT_texture_compression_s3tc GL_EXT_draw_range_elements GL_EXT_framebuffer_object GL_EXT_compiled_vertex_array GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shadow GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_EXT_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_EXT_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_IBM_texture_mirrored_repeat GL_ATI_texture_mirror_once GL_ARB_texture_non_power_of_two GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_pixel_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_func_separate GL_EXT_blend_subtract GL_EXT_texture_env_add GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_secondary_color GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_EXT_texture_object GL_EXT_texture3D GL_IBM_rasterpos_clip GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_texgen_reflection GL_NV_texture_rectangle GL_ARB_texture_rectangle GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_SGIS_generate_mipmap GL_ARB_shading_language_100 GL_ARB_shader_objects GL_ARB_vertex_shader GL_ARB_fragment_shader GL_EXT_texture_sRGB GL_EXT_framebuffer_blit GL_EXT_blend_equation_separate GL_EXT_stencil_two_side GL_ARB_texture_float GL_ARB_draw_buffers GL_ARB_shader_texture_lod GL_CR_state_parameter GL_CR_cursor_position GL_CR_bounding_box GL_CR_print_string GL_CR_tilesort_info GL_CR_synchronization GL_CR_head_spu_name GL_CR_performance_info GL_CR_window_size GL_CR_tile_info GL_CR_saveframe GL_CR_readback_barrier_size GL_CR_server_id_sharing GL_CR_server_matrix GL_EXT_stencil_two_side
VisualID 33, 0x21
148 frames in 5.0 seconds = 29.468 FPS
|
Dakuan
(Themenstarter)
Anmeldungsdatum: 2. November 2004
Beiträge: 6345
Wohnort: Hamburg
|
OpenGL Warning: vboxCall failed with VBox status code VERR_BUFFER_OVERFLOW
Das hört sich nicht gut an. So viele vertices sollten die Zahnräder doch nicht haben. Bei einem alten Athlon XP mit onboard Grafik und Grafikspeicher vom Prozessor geklaut geht das Testprogramm (siehe Anhang) problemlos. Allerdings geht folgendes Beispiel nicht: OpenGL Texture Mapped Image With Lighting. Da bekomme ich immer Error 1285 "Out of Memory". Auf neueren Rechnern ist beides natürlich kein Problem.
(KODI lässt sich z.B. in einer VirtualBox VM nicht starten)
Wer weiß was der sonst noch von der Grafikkarte will. Momentan tendiere ich dazu, mal auszuprobieren, ob Grub das packt. Die VM Lösung läuft mir ja nicht weg.
- Bilder
|
bluedxca93
Anmeldungsdatum: 29. Dezember 2011
Beiträge: 372
|
Also man installiert erstmal.das 64 nit System. Dann kann man testweise grml-boot installieren und die 32 bit iso in /boot/grml kopieren.
update-grub und dann kann man real testen ob unten das Linix steht und ob es bootet. grml-rescueboot which
integrates ISO-booting into GRUB.
|