This is something I'd been thinking of doing for a while*, but I finally took a stab at it today. I opted for using a kernel from repo-ck, as that seemed the simplest option and has no real downsides (it even -theoretically- nets me improved performance). I commented out the "Architecture" line in my pacman.conf and manually set all repos (except ck, which I set to x86_64) to i686. After installing the new kernel and nvidia packages I updated grub and rebooted.
I ran uname -m to check everything was going to plan before I moved onto making things transparent... and got i686. So I tried "linux64 uname -m" and got x86_64. Which leaves me wondering whether I've done something wrong (messed with some config file that I've forgotten about?) or a developer has done something clever (Allan, perhaps, since he was/is using a similar setup).
*Mostly so I could do 64bit Xen to allow me to do a 64bit Windows VM when I eventually get around to experimenting with VGA passthrough, since I've been happy enough with PAE.
In short: Should one be able to just drop in a 64bit ck kernel and have it work out of the box, or should I be fearing an imminent implosion?
Last edited by 1Samildanach (2013-07-01 05:09:30)
I run the same ck kernel, and when I do "linux64 uname -m" I get x86_64 (as expected), and when I run "linux32 uname -m" I get i686 (also as expected). I see no real reason why a 64bit kernel would happily run an i686 setup. Off the top of my head, I know that Parted Magic does exactly this.
It's just that I was expecting to be doing this before uname -m would spit out i686. The blob post is a few years old, so it's entirely possible things have changed, but kernels are important enough that I want to be sure the issue is simply out of date information, rather than assuming everything is fine and later discovering that things have been busily screwing themselves up .
Last edited by 1Samildanach (2013-03-06 02:27:59)
uname -m ... and got i686
Then you're *not* booting into a 64-bit kernel. Or are already using linux32 to fool it.
Crosstool filled in the missing link, for me to be able to compile a 64-bit kernel in a 32-bit system.
I see no real reason why a 64bit kernel would happily run an i686 setup.
Did you miss a "not" betweek "would" and "happily", or care to explain why?
I also wonder, apart from the OP specific case, if there are other advantages in running 32bit userland with a 64bit linux.
Indeed there is a missing word there. Sorry for the confusion kokoko3k
My memory is a little fuzzy, since quite some time has passed, but I recall it mysteriously working itself out at some point and bash is now set up the way I was expecting to need. I still have no idea what was going on.
While I'm at it, I may as well provide an update on the cause of the change: I ended up going with KVM instead of Xen, mostly due to the comparative simplicity. Using libvirt I was able get everything running, including 64bit Windows 7, though I found myself subject to the 2GiB RAM limit of 32bit libvirt (or QEMU? I can't quite remember which, and it may be both). I was going to mess around with a chroot and see if I could hack my way through the problem that way, but I got distracted by life and haven't gotten around to working on it again.
However, the most important thing is that I did it before it got popular .