[HOWTO] Run 32bit Porteus on 64bit UEFI
Posted: 19 Oct 2014, 21:36
My UEFI system has 64bit firmware and refuses to load a 32bit kernel. I wanted to boot into 32bit Porteus without having to enter the BIOS and change to legacy mode each time. This is how it is done.
The claims that UEFI only runs 64bit operating systems is not exactly true. It only loads a 64bit kernel which in turn is quite happy running 32bit applications. If you replace the following files in your 32bit Porteus with the same files from the 64bit iso your system will boot into 32bit Porteus.
Files to replace: vmlinuz, initrd.xz, 000-kernel.xzm
Now you will need to swap out the uname binary so that it does not return x86_64 as the architecture. Just replace the file with a script that returns i486 when uname -a is issued. This is required for some porteus based scripts to function as i486.
So far it seems to be running well for me.
The claims that UEFI only runs 64bit operating systems is not exactly true. It only loads a 64bit kernel which in turn is quite happy running 32bit applications. If you replace the following files in your 32bit Porteus with the same files from the 64bit iso your system will boot into 32bit Porteus.
Files to replace: vmlinuz, initrd.xz, 000-kernel.xzm
Now you will need to swap out the uname binary so that it does not return x86_64 as the architecture. Just replace the file with a script that returns i486 when uname -a is issued. This is required for some porteus based scripts to function as i486.
Code: Select all
[ "$1" = "-a" ] && echo i486