Re: [bitfolk] Confused XEN says 64 bit, VPS says 32

Top Page
Author: Andy Smith
Date:  
To: users
Subject: Re: [bitfolk] Confused XEN says 64 bit, VPS says 32

Reply to this message
gpg: Signature made Mon Jul 22 16:42:00 2019 UTC
gpg: using DSA key 2099B64CBF15490B
gpg: Good signature from "Andy Smith <andy@strugglers.net>" [unknown]
gpg: aka "Andrew James Smith <andy@strugglers.net>" [unknown]
gpg: aka "Andy Smith (UKUUG) <andy.smith@ukuug.org>" [unknown]
gpg: aka "Andy Smith (BitFolk Ltd.) <andy@bitfolk.com>" [unknown]
gpg: aka "Andy Smith (Linux User Groups UK) <andy@lug.org.uk>" [unknown]
gpg: aka "Andy Smith (Cernio Technology Cooperative) <andy.smith@cernio.com>" [unknown]
Hi Keith,

This entire email can be summarised to, "no, Xen says your
BOOTLOADER is 64-bit. Then you told it to boot a 32-bit kernel."

On Mon, Jul 22, 2019 at 05:21:10PM +0100, Keith Williams wrote:
> First, into Xen shell and type in arch x86_64


[…]

> Chugging through the upgrade process I see that it is all 32 bit
> packages being installed. I thought Xen by some internal magic
> changed what I could download.


Xen cannot intercept a request from a binary on your system to
download a particular other binary from the Internet. You have a
32-bit i686 architecture dpkg binary. I am not aware of any
virtualisation tech in existence that would detect you running that
and turn it into a 64-bit amd64 binary that is requesting an
entirely other URI. I would be extremely concerned if something was
trying to do that.

> OK I should have done some step earlier on in the process which I didn't -
> maybe install a 64 bit kernel and rebooted, or something.


I've sent at least 3 emails here in the last week that say what the
process is, and one of the first steps is to install an amd64
kernel.

> Showing my ignorance here I know, but I seem to remember when doing it on
> my other VPS it was as simple as do the arch command on xen then just
> update/upgrade


If you set the bootloader architecture with "arch xxxx" and run the
installer then it downloads a debian-installer of architecture xxxx
which by default installs a kernel and userland of architecture
xxxx. That's why that works.

However, as explained multiple times, the architecture which dpkg
selects by default is determined by what architecture of dpkg you
ALREADY HAVE, which is why the procedure for crossgrading at:

    https://wiki.debian.org/CrossGrading#Crossgrade_.60dpkg.60_.60tar.60_and_.60apt.60


has you download and forcibly install an amd64 architecture version
of dpkg, tar and apt.

Just changing your bootloader to 64-bit does not make the 32-bit
dpkg on your pre-existing system into something that can download
and replace itself with a different architecture and then continue
to do same for the things it installs.

The reason why what you booted managed to boot at all is that amd64
can run i686 binaries.

Cheers,
Andy

--
https://bitfolk.com/ -- No-nonsense VPS hosting