Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Sep 2022 10:24:06 -0700
From:      Dan Mahoney <freebsd@gushi.org>
To:        Doug Denault <doug@safeport.com>
Cc:        "freebsd-questions@freebsd.org" <freebsd-questions@FreeBSD.ORG>
Subject:   Re: FreeBSD 12.2 can not be upgraded
Message-ID:  <AA1D2084-FB1A-418E-A26A-D468312A6DC5@gushi.org>
In-Reply-To: <alpine.BSF.2.00.2209041200310.67914@bucksport.safeport.com>
References:  <alpine.BSF.2.00.2209041200310.67914@bucksport.safeport.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_36764694-2D26-4F46-9C8A-ACA398C8484E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii



> On Sep 4, 2022, at 10:05, Doug Denault <doug@safeport.com> wrote:
>=20
> There was a long thread on this. My observations and questions are =
more about how to update production systems. My long standing update =
path is to update my FreeBSD workstations. If that goes okay we some =
servers on out LAN that we update next.
>=20
> I ran `freebsd-update -r 12.3-RELEASE upgrade` which converted my =
laptop essentially into a paperweight by the introduction a bad copy of =
ld-elf.so.1. The system would boot, but most useful commands (think cp) =
exited with an error. This is all documented via google with no =
successful work arounds that I could fine. What you can not do is =
`freebsd-update rollback`. I though I could maybe fix this by going to =
single user and overwriting ld-elf.so.1. This can not be done as all =
commands depend on this file.
>=20
> I created image files from:
>=20
>  FreeBSD-12.3-RELEASE-amd64-dvd1.iso (4+GB)
>  FreeBSD-12.3-RELEASE-amd64-memstick.img ~1GB
>=20
> Neither of these images are self contained. Both install 12.3 =
correctly but by downloading the OS from a mirror site of your choosing. =
Is there a path thought the dvd1 install that does something with the =
extra 3GB of data? Does the dvd1.iso image have to be burned to a DVD?

dvd1 includes a bunch of extra local packages, it's otherwise identical =
to cd1.

You should have a bunch of static binaries in /rescue which include cp.

I've been bitten by this several times in the past (on machines in =
faraway countries, where my only access was a serial console), where all =
of a sudden midway through a freebsd update install I'll just see a =
bunch of segfaults, and I'm still not sure what's happening to cause it, =
but my solution has been to *before I update* grab a spare tar file for =
base.txz for my target OS, just in case.

> My am not sure what is the philosophy of deleting the supporting files =
so quickly. Other than making a system from backup is there a way to =
install an older version?

Yes.  Grab the base.txz files from ftp.freebsd.org =
<http://ftp.freebsd.org/>; or ftp-archive.freebsd.org =
<http://ftp-archive.freebsd.org/>, or from your boot cdrom.  Untar them =
over /, and you should have a working linker back.  I would not call =
that "a production system" but it should be stable enough to let your =
system attempt to redo the upgrade.

Yes, freebsd-update is bad at recovering from this failure mode.  The =
rollback function really is only good for rolling back patchlevels, not =
major upgrades.  Nor does it have a "wait, you're a shell script, please =
just use the static files in /rescue, and re-attempt the install" =
function.

FreeBSD really should have "ftp" or "fetch" or "scp" or  something in =
/rescue, but there is at least nc, which you can use to get a file on to =
the box, albeit slowly.

-Dan=

--Apple-Mail=_36764694-2D26-4F46-9C8A-ACA398C8484E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><br =
class=3D""><div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D"">On Sep 4, 2022, at 10:05, Doug Denault &lt;<a =
href=3D"mailto:doug@safeport.com" class=3D"">doug@safeport.com</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><div class=3D""><div =
class=3D"">There was a long thread on this. My observations and =
questions are more about how to update production systems. My long =
standing update path is to update my FreeBSD workstations. If that goes =
okay we some servers on out LAN that we update next.<br class=3D""><br =
class=3D"">I ran `freebsd-update -r 12.3-RELEASE upgrade` which =
converted my laptop essentially into a paperweight by the introduction a =
bad copy of ld-elf.so.1. The system would boot, but most useful commands =
(think cp) exited with an error. This is all documented via google with =
no successful work arounds that I could fine. What you can not do is =
`freebsd-update rollback`. I though I could maybe fix this by going to =
single user and overwriting ld-elf.so.1. This can not be done as all =
commands depend on this file.<br class=3D""><br class=3D"">I created =
image files from:<br class=3D""><br class=3D""> =
&nbsp;FreeBSD-12.3-RELEASE-amd64-dvd1.iso (4+GB)<br class=3D""> =
&nbsp;FreeBSD-12.3-RELEASE-amd64-memstick.img ~1GB<br class=3D""><br =
class=3D"">Neither of these images are self contained. Both install 12.3 =
correctly but by downloading the OS from a mirror site of your choosing. =
Is there a path thought the dvd1 install that does something with the =
extra 3GB of data? Does the dvd1.iso image have to be burned to a =
DVD?<br class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>dvd1 includes a bunch of extra local packages, =
it's otherwise identical to cd1.</div><div><br class=3D""></div><div>You =
should have a bunch of static binaries in /rescue which include =
cp.</div><div><br class=3D""></div><div>I've been bitten by this several =
times in the past (on machines in faraway countries, where my only =
access was a serial console), where all of a sudden midway through a =
freebsd update install I'll just see a bunch of segfaults, and I'm still =
not sure what's happening to cause it, but my solution has been to =
*before I update* grab a spare tar file for base.txz for my target OS, =
just in case.</div><div><br class=3D""></div><blockquote type=3D"cite" =
class=3D""><div class=3D""><div class=3D"">My am not sure what is the =
philosophy of deleting the supporting files so quickly. Other than =
making a system from backup is there a way to install an older =
version?<br class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>Yes. &nbsp;Grab the base.txz files from <a =
href=3D"http://ftp.freebsd.org" class=3D"">ftp.freebsd.org</a>&nbsp;or =
<a href=3D"http://ftp-archive.freebsd.org" =
class=3D"">ftp-archive.freebsd.org</a>, or from your boot cdrom.&nbsp; =
Untar them over /, and you should have a working linker back. &nbsp;I =
would not call that "a production system" but it should be stable enough =
to let your system attempt to redo the upgrade.</div><div><br =
class=3D""></div><div>Yes, freebsd-update is bad at recovering from this =
failure mode. &nbsp;The rollback function really is only good for =
rolling back patchlevels, not major upgrades. &nbsp;Nor does it have a =
"wait, you're a shell script, please just use the static files in =
/rescue, and re-attempt the install" function.</div><div><br =
class=3D""></div><div>FreeBSD really should have "ftp" or "fetch" or =
"scp" or &nbsp;something in /rescue, but there is at least nc, which you =
can use to get a file on to the box, albeit slowly.</div><div><br =
class=3D""></div><div>-Dan</div></div></body></html>=

--Apple-Mail=_36764694-2D26-4F46-9C8A-ACA398C8484E--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AA1D2084-FB1A-418E-A26A-D468312A6DC5>