Multi-arch installation: x86 and amd64
Posted by neofpo on Wed 16 May 2007 at 10:09
Since I bought my first amd64 system, I have been developing a solution to make the best of the new amd64 and the old x86 architectures work together. There are many documentation out there, but most are incomplete or obscure.
The whole solution I found for my Debian systems is described in an article at my site:
http://ornellas.apanela.com/dokuwiki/pub:multiarch
It can be applied on both workstation (to run Firefox with Flash, Skype or whatever you need) and server.
The solution is not simple, but will give you two simultaneous working systems, one for each architecture. This means you will have no pain trying to find that missing x86 library in order to run a x86 software on your amd64 installation. Just aptitude it inside the x86 system.
Have fun!
[ Parent | Reply to this comment ]
--
"It's Not Magic, It's Work"
Adam
[ Parent | Reply to this comment ]
https://alioth.debian.org/docman/view.php/30192/21/debian-amd64-h owto.html
http://www.debian-administration.org/articles/356
http://www.debian-administration.org/users/ajt/weblog/69
--
"It's Not Magic, It's Work"
Adam
[ Parent | Reply to this comment ]
It is true that in the true sense of the word the solution I made is not multiarch. But it ties both systems as if it were. My X is amd64, my Acrobat is ia32, my Firefox is ia32 and all them work together and access the same file at my $HOME and /tmp.
It is true what ajt said. Many things will work with the ia32 packages. I made this dual system because I found some trouble with some "32bit only" software. Some are unstable if built under amd64. Some examples are Sun's Java (I got many segfaults with it) and Grip (the CD ripper). Blender is a major example, that only in its latest release became 64bit safe.
There is another application for this solution. There are times you need to keep different Linux installations working together to fit different demands. And you do not need to have two machines to do the job of one. At my work for example, I had to make an old Oracle running, while upgrading the Debian system. That Oracle simply does not run under Etch, just under Sarge. I found my solution applying the "multiarch" way I made. Now Oracle has it's own private Sarge and all the rest of the system can enjoy a fresh Etch release, that can be upgraded with no loss to Oracle and Sarge. People use it on day by day with no problems.
Thank you guys for the comments ;-)
[ Parent | Reply to this comment ]
you have to essentially maintain two distinct systems with dchroot as the gatekeeper between the two. a true multiarch solution will not require that. as you have admitted, that's problematic as most applications, menu entries, etc do not expect to call dchroot to exec an application.
and to access amd64 applications from the ia32 chroot, can you not install dchroot in the ia32 chroot and specify the amd64 chroot as /amd64?
for userland virtualization (which is what you are doing in your oracle example) i use vserver.
[ Parent | Reply to this comment ]
I personally dislike virtualization on this cases, there is no demand for two kernels, only for two userlands. I never had a chance to play with vserver, I will give it a try when I find time. Thank you for the tip.
[ Parent | Reply to this comment ]
I personally use vserver for many different kind of situations and can be a really good answer to the problem you brought up with your "multiarch" system.
[ Parent | Reply to this comment ]