Upgrading from 32 bits to 64 bits

I’ve a 12.2 32 bits system. I’m going to upgrade hardware: mobo, memory, processor, HD.
I’m going to copy the working system to the new one, I’ve done this several times and it works fine: boot with system rescue, partition new hard disk, mount new partition and old partition, copy with cp -a the entire filesystem an then install grub.
Or even better: copy with cp -a and then upgrade to 13.1
The question is why not upgrade to x86_64?

I’ know it’s not officially supported (at least on previous versions). I’ve been searching reports of success doing so, but I haven’t found any.
I’t may work?

Of course other option is a fresh install 64 bits and configuring all as new (users, services, etc. ).

regards

On 2013-12-08 23:46, fperal wrote:
>
> I’ve a 12.2 32 bits system. I’m going to upgrade hardware: mobo, memory,
> processor, HD.
> I’m going to copy the working system to the new one, I’ve done this
> several times and it works fine: boot with system rescue, partition
> new hard disk, mount new partition and old partition, copy with cp -a
> the entire filesystem an then install grub.
> Or even better: copy with cp -a and then upgrade to 13.1
> The question is why not upgrade to x86_64?

:slight_smile:

> I’ know it’s not officially supported (at least on previous versions).
> I’ve been searching reports of success doing so, but I haven’t found
> any.
> I’t may work?

Yes. I have done it.

> Of course other option is a fresh install 64 bits and configuring all as
> new (users, services, etc. ).

But less fun :wink:

Yes, you can do it using the full install DVD, 64 bits, and choosing
upgrade. The partition 32 bit root partition will not be found, but you
can manually select it. It will give a warning, but you can go ahead.

First migrate the machine, and make sure it boots correctly. Then
attempt that upgrade.

Do not try a zypper dup to do it, use the dvd, system offline upgrade
method. The procedure does not upgrade everything, it can’t, because the
DVD can not contain it all. So you have to run a query to find out which
are the wrong arch packages.

Ok, after the upgrade attempt booting. This is the trickiest part,
because part of the system is 64 bits, parts are 32 bits.

Run this:


rpm -q -a --queryformat "%{INSTALLTIME};%{INSTALLTIME:day}; \
%{BUILDTIME:day}; %{NAME};%{VERSION}-%-7{RELEASE};%{arch}; \
%{VENDOR};%{PACKAGER};%{DISTRIBUTION};%{DISTTAG}
" \
| sort | cut --fields="2-" --delimiter=\; \
| tee rpmlist.csv | less -S

or this:

rpm -q -a --queryformat "%{INSTALLTIME}	%{INSTALLTIME:day} \
%{BUILDTIME:day} %-30{NAME}	%15{VERSION}-%-7{RELEASE}	%{arch} \
%25{VENDOR}%25{PACKAGER} == %{DISTRIBUTION} %{DISTTAG}
" \
| sort | cut --fields="2-" | tee rpmlist | less -S

one of the columns, arch, tells you which architecture the package is
for. You have to upgrade all of them.

Maybe, running “zypper dup” will catch many of those: I have not tried
this particular operation on a mixed system, so I can’t vouch for it,
but if it works, saves a lot of clicking. Make sure you only have the
four official repos active.

Then run the above query again, find out if there are any 32 bit
packages, and if they exist, upgrade them using yast (version tab,
select the appropriate one).

Good luck and have fun :slight_smile:

(if you want success reports, I can dig out some from the mail list)

Some docu:

Offline upgrade
method


Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)

Well changing architectures can be tricky without a re install.
If you are planning to upgrade your hardware then your software I suggest keeping 32bit so you can transition more easily.
I see no harm in it especially if you have a PAE compliant kernel (something openSUSE can provide anyway)
If you dont feel like re installing software then the traditional upgrade method is advised.

On 2013-12-09 00:46, MadmanRB wrote:
>
> Well changing architectures can be tricky without a re install.
> If you are planning to upgrade your hardware then your software I
> suggest keeping 32bit so you can transition more easily.
> I see no harm in it especially if you have a PAE compliant kernel
> (something openSUSE can provide anyway)

Not for a long time: there is a proposal to stop delivering the 32 bit
version in two releases.


Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)

I’m trying the rough way: “zypper dup”.

First I’ve updated the distro with the DVD as you said iwth “success”.
I’ve booted the system with a x86_64 kernel.
I’ve run the query you suggested. I already have a lot of 32 bit packages, so I’ve changed arch=x86_68 in /etc/zypp/zypp.conf and I’ve done a “zypper dup” in order to try to change all the packages to x86_64.
But zypper reports an error on any package:

RPM failed: package ********.x86_64 is intended for a different architecture

and does not upgrade the package.

Is there any way to tell zypper to force change of architecture of all packages?

Don’t. It won’t work.
The upgrade will fail somewhere in the middle because of the mixture of 32bit and 64bit packages.
And your system won’t even boot anymore.

Believe me, I did that some time ago.
I managed to fix that, by looking at the boot errors and installing the missing 32bit or 64bit packages accordingly manually with rpm, but it was tedious. And you really need to know what you are doing if you want to fix it that way.
And I won’t help you in doing that… :wink:

Use the installation DVD and select “Upgrade an existing installation”. Maybe copy it to an USB stick, so you don’t have to burn a DVD.

Is there any way to tell zypper to force change of architecture of all packages?

Yes, have a look at /etc/zypp/zypp.conf.
But again, “zypper dup” for changing a 32bit system into 64bit won’t work.

I already did it, but there are still a lot of 32 bit packages and a lot of things don’t work (yast is one of them)
I have now a mixed system.

Yes, have a look at /etc/zypp/zypp.conf.
But again, “zypper dup” for changing a 32bit system into 64bit won’t work.

I was trying to use “zypper dup” to complete the change.

Well.

I was trying to use “zypper dup” to complete the change.

Right, and that won’t work because even “rpm” will fail to run now IIRC.

Maybe your best option is to try an upgrade with the 64bit installation DVD. That should fix your system.
If that doesn’t help, a fresh install would be the easiest way to recover.

Congratulations, you borked your system, like predicted. My 2 cents: spend your time on a new, fresh, clean install, and take the advice given.

I haven’t broken my system. I cloned my system to a new hadrware and I did all the stuff on the clone (and I don’t mind if the clone lives or dies because I’m senator palpatine :wink: )
Surely I won’t get that clone working and sure the easiest way is to do a clean install, copy the users and make all the configuration. But in the process of trying to copy and upgrade the system I’m learning a lot. That’s the primary goal.

On 2014-01-19 22:06, Knurpht wrote:
>
> fperal;2617578 Wrote:
>> I already did it, but there are still a lot of 32 bit packages and a lot
>> of things don’t work (yast is one of them)
>> I have now a mixed system.
>
> Congratulations, you borked your system, like predicted. My 2 cents:
> spend your time on a new, fresh, clean install, and take the advice
> given.

No, not so. This is a expected stage on the upgrade-conversion from 32
to 64 bits. :slight_smile:

However, yast should work, at least in text mode.


Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)

On 2014-01-19 21:46, fperal wrote:

>> Use the installation DVD and select “Upgrade an existing installation”.
>> Maybe copy it to an USB stick, so you don’t have to burn a DVD.

> I already did it, but there are still a lot of 32 bit packages and a lot
> of things don’t work (yast is one of them)
> I have now a mixed system.

Ah, so you did the upgrade from 32 to 64 bit using the dvd, right? Make
sure of this, because you have to force the issue: the dvd does not even
see the installation of another arch.

>> Yes, have a look at /etc/zypp/zypp.conf.
>> But again, “zypper dup” for changing a 32bit system into 64bit won’t
>> work.
>
> I was trying to use “zypper dup” to complete the change.

Yes, that is correct, it is the second step.

> First I’ve updated the distro with the DVD as you said iwth “success”.
> I’ve booted the system with a x86_64 kernel.

right.

> I’ve run the query you suggested. I already have a lot of 32 bit
> packages,

right.

> so I’ve changed arch=x86_68 in /etc/zypp/zypp.conf and
> I’ve done a “zypper dup” in order to try to change all the packages to
> x86_64.
> But zypper reports an error on any package:
>
> RPM failed: package ********.x86_64 is intended for a different
> architecture
>
>
> and does not upgrade the package.
>
> Is there any way to tell zypper to force change of architecture of all
> packages?

I don’t know… I did that step with yast, clicking on each package for
the list and selecting the other one of the “wrong” architecture.

Wait. You said:

> so I’ve changed arch=x86_68 in /etc/zypp/zypp.conf and

Where? What I see is:


##
## Override the detected architecture
##
## Valid values:  i586, i686, x86_64, ppc, ppc64, ia64, s390, s390x, ..
## Default value: Autodetected
##
## ** CAUTION: Only set if you know what you're doing !
## ** Changing this needs a full refresh (incl. download)
## ** of all repository data.
##
# arch = s390

If you have to change this, it means it is not detecting the
architecture automatically correctly.

Have a look at “/etc/os-release”, and “SUSE-brand” “SuSE-release”. They
come from these rpms:


minas-tirith:~ # rpm -qf /etc/SuSE-release
openSUSE-release-13.1-1.10.x86_64
minas-tirith:~ # rpm -qf /etc/SUSE-brand
branding-openSUSE-13.1-10.4.13.noarch
minas-tirith:~ # rpm -qf /etc/os-release
openSUSE-release-13.1-1.10.x86_64
minas-tirith:~ #

If all of those are correct, use yast package manager to force
installation of the packages you want.


Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)

The three of them report the same as yours: x86_64 for SuSE-release and os-release and noarch for SUSE-brand

uname -m reports x86_64

In fact I have a funny grub with a lot of kernels, some of them 32 bits and others 64 bits and both boot, and booting with a kernel pae and running “uname -m” reports i686.

If all of those are correct, use yast package manager to force
installation of the packages you want.

yast does not run. It dos not complains either, simply returns the prompt.
I’m thinking on trying again to upgrade with the DVD.
zypper works, it was so why I’m searching for a way to use zypper to change all packages architecture

On 2014-01-19 23:06, fperal wrote:
>
> robin_listas;2617605 Wrote:

> The three of them report the same as yours: x86_64 for SuSE-release
> and os-release and noarch for SUSE-brand
>
> uname -m reports x86_64

Well, that is good.

>
> In fact I have a funny grub with a lot of kernels, some of them 32 bits
> and others 64 bits and both boot, and booting with a kernel pae and
> running “uname -m” reports i686.

Yes, figures.

>> If all of those are correct, use yast package manager to force
>> installation of the packages you want.
>>
>>
>
>
> yast does not run. It dos not complains either, simply returns the
> prompt.

Even text mode yast? Try “yast” in a terminal. Otherwise the alternative
is using “rpm” to install some packages manually till it works. I don’t
know if you can try force zypper… hey! Did you try “–force”?

> I’m thinking on trying again to upgrade with the DVD.
> zypper works, it was so why I’m searching for a way to use zypper to
> change all packages architecture

See above :slight_smile:


Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)

zypper does not work with --force, but I try again with the DVD of opensuse 13.1-64, and I actitivate the 4 online repos during the installation and it worked. All updated except package arts which failed to be updated during the installation.
Tomorrow I will test it thoroughly, but I think I can say SUCCESS!!!

thanks

On 2014-01-20 02:16, fperal wrote:

> zypper does not work with --force,

No?

Then there must be some other option. Or should be.

> but I try again with the DVD of
> opensuse 13.1-64, and I actitivate the 4 online repos during the
> installation and it worked.

Ah. I don’t use that method because I have little bandwidth, but you are
right, it should work. I should have thought of that.

> All updated except package arts which failed
> to be updated during the installation.

Good! :slight_smile:

> Tomorrow I will test it thoroughly, but I think I can say SUCCESS!!!

:slight_smile:


Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)