Install both 32 and 64 bit ubuntu
You will be able to keep all your programs, settings and data. You start with a 32 bit system that can run 64 bit programs, then convert it to a 64 bit system that can run 32 bit programs.
The facility permits the installation of executable files such as libraries and programs from multiple architectures simultaneously on the same system. The primary use of this is to allow 32 bit programs to be run on a 64 bit system, but it has other uses.
With the release of Ubuntu LTS This HowTo has been replaced for the new The process is now more straight-forward. The 32 bit kernel does not allow the execution of 64 bit programs. However the 64 bit kernel allows the execution of both 32 bit and 64 bit programs, so this is the first thing needed. Run the following in turn to allow 64 bit programs to be installed as a foreign architecture, then install the 64 bit kernel.
We also install debootstrap as we will use it later. You may also wish to deinstall all the old 32 bit kernels at this point. Now reboot with the newly installed 64 bit amd64 kernel before install both 32 and 64 bit ubuntu. Save a checkpoint of the packages we have installed at the start. The aim is to have the same packages installed at the end, just in the 64 bit architecture.
Download some essential files that we will call upon later. Unpack dpkg and dash as we will need the executables to be available later. Also create a list of, and download, the packages for the base system. We can get away with including ssh in the base system, but most additional packages will break the migration process. The controlfile format for PostgreSQL differs on different architectures. Therefore we need to create an install both 32 and 64 bit ubuntu backup that can be restored after the migration.
Shrink down the current selection of installed packages on the current 32 bit system to the base system of essential packages only. Install some miscellaneous packages and all the libraries that we will need immediately for our base system upgrade.
Start with the installation of 64 bit versions of dpkg and apt. We unpacked apt earlier, so we can use the unpacked version to install the replacement package. The installation will halt with the following error. This is because both dash and bash were removed together. This dependency is simple to resolve. Now continue resolving dependencies that apt cannot automatically resolve.
Now install the 64 bit shells. I answer "Yes" to the debconf prompt when configuring dash as the system shell. Thus we manually unpack them now so we can continue to access their programs while they are being replaced. The libc6-bin package needs a little nudge to install.
When install both 32 and 64 bit ubuntu following message appears, run the commands to resume the package configuration. Take another look at the packages we have installed. There should not be any i architecture packages installed at this point.
The base system now comprises entirely amd64 and all packages. Now that the base system has been migrated to 64 bit, we can begin the process of re-installing the packages that were previously installed as 32 bit software. It may be necessary to run the installs and configures multiple times until all dependencies are met. Start with the most important software and any standard meta-packages.
I use the Gnome desktop environment, so I will install the packages now. When asked to choose a display manager I choose "Okay" then "lightdm". Now we are ready to install all the software packages that were previously installed. I saw the following message when running through these steps. I do not know if it is harmful or related to the later message about an invalid debconf value.
The postgresql package was re-installed for us. Its configuration and data needs to be restored. We can now re-enable the installation of 32 bit packages. In other words we have a multiarch system that runs 64 bit but allows the installation of 32 bit programs and libraries.
There are some packages that pre-depend on bashbut are not documented as such in their control files. I need to raise a bug for these: Really great step-by-step explanation, and it actually works! I was prepared to face a few terrible unforseenable issues along the way, but the worst things install both 32 and 64 bit ubuntu happened were a I had to type everything because I didn't dare do it remotely and b my Internet went down somewhere in the middle right before the packages for ubuntu-desktop etc.
Just a bad timing from my provider I guess: I now have a full system, everything that has a amd64 version is amd64, and also Skype i only with all its dependencies Thank you so much for this! Although I have to discourage anyone from trying this, I was probably just lucky install both 32 and 64 bit ubuntu I had a full backup stashed away on disk ;- The backup was handy at some point to include in my PATH, to have the coreutils somewhere when needed So far I have only tried this on a virtual machine clone of my working machine as I still have not taken the plunge to upgrade to the latest LTS release where the bit migration is possible install both 32 and 64 bit ubuntu, but did run through, refining the steps, many, many times.
I am pleased the guide was thorough but broad enough to work for you. Thank you for your feedback! I wanted to add that I performed the 32 to 64 bit upgrade entirely in a console session, so any lack of the desktop packages was never an issue for me.
The SSH server should also have been accessible throughout the process. Anyway I have now upgraded the 'real' machine from The only factor that may stall this is if hibernation does not work with the 64 bit operating system due to a BIOS bug. The first step is the 64 bit kernel installation, so it won't be too disasterous if this happens to be the case.
Am I correct is assuming that after I reboot to the 64bit kernel, sshd would be working and I would be able to complete the steps remotely. I only need the kernel and mysql-server to go 64 bit and it would be great to not have to travel to the datacenter for just this. As with any operation of this nature it is advisable to have some form of console access available to you, e. Once the install both 32 and 64 bit ubuntu is rebooted with the 64 bit kernel it will start all the 32 bit server processes as normal, including sshd.
The ssh client and server dependencies are gathered early on in the process, but there are intervals where, should you lose connectivity, you would be unable to reconnect.
For example, how much of the system, minimally, needs to be upgraded to 64 bit to support 64 bit MySQL? The whole base system, or just a few libraries? I suggest you perform multiple dry runs on a virtualised copy of this remote system.
I will also test how the migration process behaves over an ssh connection, but may not be able to get around to it this week. However, after apt-get update and apt-get install linux-image-generic: After first reboot I've boot into previous version of kernel.
Hi Ivan, the Linux kernel in my What was the origin and flavour of your kernel? That may account for the different initrd behaviour. I followed your how-to and it amazingly it worked staright-away. I now have bit ubuntu There were little issues with some libs, etc. Very good work, considering especially how install both 32 and 64 bit ubuntu people on different forums are suggesting a fresh install in order to move to bit.
For those install both 32 and 64 bit ubuntu back, the 64 bit migration should be much simpler under I'll get a guide out when the release is available and I've tested the process. Every step worked perfectly until I got to the end of step 5 where you deselect-upgrade.
For some reason, this caused all of my packages install both 32 and 64 bit ubuntu get deleted including the ones that work with apt and terminal. So when i went to do the next step, I kept getting errors and than my terminal shut down and I couldn't open anything. I tried restarting and my operating system was not being shown by the boot loader. In the end i was forced to install a 64 bit os directly.
That is very strange. It would appear the 'set selections' stage found no packages to mark for installation. Do you remember if you had any errors running the debootstrap in the earlier step?
I'd have hoped that the operating system would have thrown up a severe warning before allowing you to remove essential packages — forcing you to confirm. This would have provided an opportunity to abort and review the previous steps. Boot into 64 bit The 32 bit kernel does not allow the execution of 64 bit programs. Pre-prepare files Save a checkpoint of the packages we have installed at the start.
Upgrade base system Install some miscellaneous packages and all the libraries that we will need immediately for our base system upgrade. Re-install packages Now that the base system has been migrated to 64 bit, we can begin the process of re-installing the packages that were previously installed as 32 bit software.