vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| I am about to upgrade my system from a sub-Gigahertz Duron to a Athlon 64 3000+. I would like to run in 64-bit mode, but I don't want to do a complete re-install. I have taken a lot of time to get my system configured and working nicely, so a re-install from scratch would not be pleasant. Can I just adjust the settings in /etc/make.conf and change the profile and let it convert to 64-bit over time (as packages are updated)? If the 64-bit conversion is not practical, currently (for historical reasons), I have been using "CHOST=i586-pc-linux-gnu" (although I also have "-march=athlon"), how should I convert to a more appropriate CHOST? |
| |||
| Whoever wrote: > I am about to upgrade my system from a sub-Gigahertz Duron to a Athlon > 64 3000+. I would like to run in 64-bit mode, but I don't want to do a > complete re-install. I have taken a lot of time to get my system > configured and working nicely, so a re-install from scratch would not be > pleasant. > > Can I just adjust the settings in /etc/make.conf and change the profile > and let it convert to 64-bit over time (as packages are updated)? No, but you can continue to use it as 32-bit. > If the 64-bit conversion is not practical, currently (for historical > reasons), I have been using "CHOST=i586-pc-linux-gnu" (although I also > have "-march=athlon"), how should I convert to a more appropriate CHOST? That setup isn't a good one for a Duron, you should have had CHOST=i686-pc-linux-gnu, but switching CHOST ain't safe, so you are more or less stuck with that i586-pc-linux-gnu. -- //Aho |
| |||
| Whoever wrote: > I am about to upgrade my system from a sub-Gigahertz Duron to a Athlon > 64 3000+. I would like to run in 64-bit mode, but I don't want to do a > complete re-install. I have taken a lot of time to get my system > configured and working nicely, so a re-install from scratch would not > be pleasant. Actually, it's probably not as unpleasant as it may seem. All the configurations related to the Gentoo part should be more or less in /etc/, and most can be copied directly and tweaked for the new system. To reinstall everything you already had, just grab the world file from the old system. I did this once to a system where the MB died and I had to switch it into a CPU incompatible box. I booted a Knoppix and installed the system in a chrooted folder in the old file system, with most of the same configuration files, and then finished up by moving around the relevant folders to their new homes. > Can I just adjust the settings in /etc/make.conf and change the > profile and let it convert to 64-bit over time (as packages are > updated)? Mixed 32 and 64 bit systems should be technically possible, but I think this is something one needs to prepare from the beginning if one wishes a less painful process. > If the 64-bit conversion is not practical, currently (for historical > reasons), I have been using "CHOST=i586-pc-linux-gnu" (although I also > have "-march=athlon"), how should I convert to a more appropriate > CHOST? CHOST conversions are generally not recommended, IIRC. It should be possible, but it might be easier to start from scratch. Might also be a good chance to clean out the accumulated gunk (if one is not good at keeping a clean Gentoo system). -- PeKaJe There is a new service pack that fixes all of IIS's problems permanently. Go here to download it: http://www.apache.org |
| |||
| -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 | ----- Original Message ----- | From: Whoever <nobody@devnull.none> | Sent: 12/12/2006 2:36:58 AM +0100 | Subject: Converting to 64-bit | | If the 64-bit conversion is not practical, currently (for historical | reasons), I have been using "CHOST=i586-pc-linux-gnu" (although I also | have "-march=athlon"), how should I convert to a more appropriate CHOST? If you're really serious about changing the CHOST, you may (or may not) find something helpful about it at http://www.gentoo.org/doc/en/change-chost.xml. Converting to amd64 over time looks difficult to me, because running 32 and 64-bit programms at the same time is impossible. I myself use a amd64 profile with multilib support, so I can run 32-bit and 64-bit binaries. But: it is necessary, that EVERY library a 32-bit binary needs, is available under /lib32/ or /usr/lib32/. 32-bit binaries only work with 32-bit libraries, as 64-bit binaries only load 64-bit libraries. So it looks rather impossible to me to convert to 64-bit "over time". Good luck, - -- *Sebastian Volke* registered Linux user #426550 mail address: echo ozslxhmfw_gfxyn@lrc.sjy | perl -pe 'y/a-z/v-za-w/' -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFFgbLfTVzZ9whcz3sRAmIqAJ4n+zSt3fX1y9eStdOxAk e7KllCagCeO9p2 Zv68wCQs1s9IXKYgFbX0Yf8= =0OcL -----END PGP SIGNATURE----- |
| |||
| On Thu, 14 Dec 2006, Sebastian Volke wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > | ----- Original Message ----- > | From: Whoever <nobody@devnull.none> > | Sent: 12/12/2006 2:36:58 AM +0100 > | Subject: Converting to 64-bit > | > > | If the 64-bit conversion is not practical, currently (for historical > | reasons), I have been using "CHOST=i586-pc-linux-gnu" (although I also > | have "-march=athlon"), how should I convert to a more appropriate CHOST? > > If you're really serious about changing the CHOST, you may (or may not) > find something helpful about it at > http://www.gentoo.org/doc/en/change-chost.xml. I found that after posting. I should have looked for it: one of Gentoo's greatest assets is its documentation on setting up, configuring and tweaking the system. > Converting to amd64 over time looks difficult to me, because running 32 > and 64-bit programms at the same time is impossible. > I myself use a amd64 profile with multilib support, so I can run 32-bit > and 64-bit binaries. But: it is necessary, that EVERY library a 32-bit > binary needs, is available under /lib32/ or /usr/lib32/. 32-bit binaries > only work with 32-bit libraries, as 64-bit binaries only load 64-bit > libraries. > So it looks rather impossible to me to convert to 64-bit "over time". Thanks for this. I guess that I will just run a 64-bit kernel and then build up a new installation in a chroot jail. |
| |||
| On Thu, 14 Dec 2006, Sebastian Volke wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > | ----- Original Message ----- > | From: Whoever <nobody@devnull.none> > | Sent: 12/12/2006 2:36:58 AM +0100 > | Subject: Converting to 64-bit > | > > | If the 64-bit conversion is not practical, currently (for historical > | reasons), I have been using "CHOST=i586-pc-linux-gnu" (although I also > | have "-march=athlon"), how should I convert to a more appropriate CHOST? > > If you're really serious about changing the CHOST, you may (or may not) > find something helpful about it at > http://www.gentoo.org/doc/en/change-chost.xml. > Converting to amd64 over time looks difficult to me, because running 32 > and 64-bit programms at the same time is impossible. > I myself use a amd64 profile with multilib support, so I can run 32-bit > and 64-bit binaries. But: it is necessary, that EVERY library a 32-bit > binary needs, is available under /lib32/ or /usr/lib32/. 32-bit binaries > only work with 32-bit libraries, as 64-bit binaries only load 64-bit > libraries. > So it looks rather impossible to me to convert to 64-bit "over time". I started to try to build a new 64-bit system in a chroot environment, but have run into a problem: chroot: cannot run command `/bin/bash': Exec format error I assume that this is because the kernel doesn't recognise 64-bit binaries. I have previously selected Opteron/Athlon64 for my processor sub-architecture and rebuilt the kernel and rebooted. Yet uname still shows it as i686: # uname -a Linux newhome 2.6.18-gentoo-r264b #4 SMP PREEMPT Sat Dec 16 18:17:06 PST 2006 i686 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux Is there anything else I need to do in order to get the system to chroot into my 64-bit environment? Or is this approach not going to work? |
| |||
| Whoever wrote: > > > On Thu, 14 Dec 2006, Sebastian Volke wrote: > >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> | ----- Original Message ----- >> | From: Whoever <nobody@devnull.none> >> | Sent: 12/12/2006 2:36:58 AM +0100 >> | Subject: Converting to 64-bit >> | >> | If the 64-bit conversion is not practical, currently (for historical >> | reasons), I have been using "CHOST=i586-pc-linux-gnu" (although I also >> | have "-march=athlon"), how should I convert to a more appropriate >> CHOST? >> >> If you're really serious about changing the CHOST, you may (or may not) >> find something helpful about it at >> http://www.gentoo.org/doc/en/change-chost.xml. >> Converting to amd64 over time looks difficult to me, because running 32 >> and 64-bit programms at the same time is impossible. >> I myself use a amd64 profile with multilib support, so I can run 32-bit >> and 64-bit binaries. But: it is necessary, that EVERY library a 32-bit >> binary needs, is available under /lib32/ or /usr/lib32/. 32-bit binaries >> only work with 32-bit libraries, as 64-bit binaries only load 64-bit >> libraries. >> So it looks rather impossible to me to convert to 64-bit "over time". > > I started to try to build a new 64-bit system in a chroot environment, > but have run into a problem: > chroot: cannot run command `/bin/bash': Exec format error The 32bit kernel do not have any 64bit support, so you can't run 64bit programs without using an emulator, not sure if qemu can help you here. > I assume that this is because the kernel doesn't recognise 64-bit > binaries. I have previously selected Opteron/Athlon64 for my processor > sub-architecture and rebuilt the kernel and rebooted. Yet uname still > shows it as i686: You can build a 64bit kernel with support for 32bit, this may work. On Sparcs you use 64bit kernel with a 32bit userspace, as you don't gain anything really using 64bit for quite standard systems (on heavy calculating systems you would). -- //Aho |
| |||
| On Sunday 17 December 2006 10:50, J.O. Aho stood up and addressed the masses in /alt.os.linux.gentoo/ as follows...: > Whoever wrote: > >> I started to try to build a new 64-bit system in a chroot environment, >> but have run into a problem: >> chroot: cannot run command `/bin/bash': Exec format error > > The 32bit kernel do not have any 64bit support, so you can't run 64bit > programs without using an emulator, not sure if qemu can help you here. It can't. ;-) While it is possible to emulate a 32-bit system on a 64-bit architecture via /qemu/ - although if the OS is the same, the /x86_64/ architecture can run 32-bit code natively in a 64-bit environment without the need for an emulator - it is to my knowledge (and at the moment) not possible to run a 64-bit emulator on a 32-bit system. >> I assume that this is because the kernel doesn't recognise 64-bit >> binaries. I have previously selected Opteron/Athlon64 for my processor >> sub-architecture and rebuilt the kernel and rebooted. Yet uname still >> shows it as i686: > > You can build a 64bit kernel with support for 32bit, this may work. > On Sparcs you use 64bit kernel with a 32bit userspace, as you don't gain > anything really using 64bit for quite standard systems (on heavy > calculating systems you would). It also deserves to be noted that choosing Athlon64/Opteron as the processor type in the kernel configuration tool will not normally build a 64-bit kernel. It will just be a 32-bit kernel with optimizations for the specified processor. You need the cross-compiler version of /gcc/ and of the GNU /make/ utilities to be able to generate a 64-bit kernel. Even if you select Athlon64/Opteron (or EM64T for that matter) from the kernel configurator, the /.config/ file will still be set for /x86,/ not for /x86_64./ -- With kind regards, *Aragorn* (registered GNU/Linux user #223157) |
| ||||
| Aragorn wrote: > On Sunday 17 December 2006 10:50, J.O. Aho stood up and addressed the masses > in /alt.os.linux.gentoo/ as follows...: > >> Whoever wrote: >> >>> I started to try to build a new 64-bit system in a chroot environment, >>> but have run into a problem: >>> chroot: cannot run command `/bin/bash': Exec format error >> >> The 32bit kernel do not have any 64bit support, so you can't run 64bit >> programs without using an emulator, not sure if qemu can help you here. > > It can't. ;-) While it is possible to emulate a 32-bit system on a 64-bit > architecture via /qemu/ - although if the OS is the same, the /x86_64/ > architecture can run 32-bit code natively in a 64-bit environment without > the need for an emulator - it is to my knowledge (and at the moment) not > possible to run a 64-bit emulator on a 32-bit system. It is possible, I just tried it: qemu-system-x86_64 -boot d -cdrom crux-x86_64-2.1.iso According to the qemu status page http://fabrice.bellard.free.fr/qemu/status.html x86_64 on x86 is working in system emulation mode "only", but not in user emulation mode. With system emulation you can boot a complete system. With user emulation, you could run standalone 64 bit executables, see e.g. http://kidsquid.com/cgi-bin/moin.cgi/UserModeEmulation Regards... Michael |