Discussion:
How to upgrade an EOL FreeBSD release or how to make it working again
(too old to reply)
Mario Marietto
2024-01-15 16:46:43 UTC
Permalink
The ARM Chromebook is based on armv7,it is still recent. But let's change
perspective for a moment,don't think about the ARM Chromebook. My question
is : how to upgrade FreeBSD when it goes EOL. I ask this because there is a
huge difference here between FreeBSD and Linux. Today if you need to use ,
for example Ubuntu 14.0, you can use it as is. Yes,there will be a lot of
bugs,but it will work without crashes. But if you want to use an old
FreeBSD system,nothing will work for you. So,do you know some methods to
install even packages or ports ? You know,there are cases when you need to
do some experiments so that you can keep your machine off the internet,so
you aren't scared that someone can compromise it. Totally prohibiting the
users to use an old system,removing ports and packages is not a choice that
I approve of. And I'm not the only one that thinks like this.
Judging by a commit message BSD on the ARM Chromebook didn't work
when support was removed in 2019.
RK* Exynos* and Meson*/Odroid* don't even work with current
source code, if someone wants to make them work again they
better use the Linux DTS.
https://cgit.freebsd.org/src/commit?id=9dfa2a54684978d1d6cef67bbf6242e825801f18
I have one of the "snow" Chromebooks. The warnings in the web page
https://wiki.freebsd.org/arm/Chromebook led me not to try FreeBSD.
None of the many bugs seemed likely to ever be fixed. I'm not using it
so I could try an experiment, but fighting with u-boot is not how I want
to spend my days. Even the popular Raspberry Pi takes skill or luck.
(So "build an arm6 world and copy X, Y, and Z to the DOS partition
on your USB drive" is the kind of advice I need to supplement the old
Chromebook wiki page.)
There is at least a little value in getting it to work because the armv6
code is bit rotting and will go away entirely unless people use it.
John Carr
Hello to everyone.
I'm trying to install FreeBSD 14 natively on my ARM Chromebook model
xe303c12 ; I've found only one tutorial that teaches how to do that,that's
https://wiki.freebsd.org/arm/Chromebook
The problem is that it ends with the installation of FreeBSD 11,that's
very EOL.
I can't use it as is. I need to upgrade it to 14 (but I'm on arm 32
bit,that's TIER-2,so I can't upgrade it automatically using the
freebsd-update script. It is also true that I can't install 14 directly on
<unnamed.png>
I've looked all around and I found the tool pkgbase,that I'm talking
about on the FreeBSD forum,to understand if it allows the 11 to be usable
or upgradable. It does not seem to be the proper tool to achieve my goal.
Do you have any suggestions that can help me ? Thanks.
--
Mario.
--
Mario.
David Chisnall
2024-01-15 18:14:48 UTC
Permalink
Post by Mario Marietto
The ARM Chromebook is based on armv7,it is still recent.
For reference, the ARMv7 architecture was introduced in 2005. The last cores that implemented the architecture were released in 2014. This is not a ‘recent’ architecture, it’s one that’s 19 years old and has been largely dead for several years.
Post by Mario Marietto
But let's change perspective for a moment,don't think about the ARM Chromebook. My question is : how to upgrade FreeBSD when it goes EOL.
Generally, run `freebsd-update`. This is a very different question from ‘how do I do a new install of an old an unsupported version?'
Post by Mario Marietto
I ask this because there is a huge difference here between FreeBSD and Linux. Today if you need to use , for example Ubuntu 14.0, you can use it as is. Yes,there will be a lot of bugs,but it will work without crashes. But if you want to use an old FreeBSD system,nothing will work for you. So,do you know some methods to install even packages or ports ? You know,there are cases when you need to do some experiments so that you can keep your machine off the internet,so you aren't scared that someone can compromise it. Totally prohibiting the users to use an old system,removing ports and packages is not a choice that I approve of. And I'm not the only one that thinks like this.
If you want to use an old and unsupported version of FreeBSD, no one is stopping you, but:

- You will need to build the releases. The source code is still in git, you can. The scripts for building the release images are right there in the repo. Just grab the relevant release or releng branch and go.

- You will need to build packages. Newer versions of the ports tree will not be tested with the older release, so you may need to use an older checkout of the ports tree. Poudriere will build a package repo for you.

In both cases, if you’re using older versions you almost certainly *will* have security vulnerabilities. The project strongly advises you not to do this and not to blame us when you install known-insecure software and end up compromised.

The project does not have enough active contributors to keep maintaining things indefinitely. This is why release have a five-year supported lifetime. If you want to pick up an old branch and maintain it, you’re welcome to. In the past, companies have picked up old branches and maintained them for customers that had a dependency on them. If you want to pay someone to maintain an old branch (and have deep pockets) then there are probably a few companies that will happily take your money.

Maintaining binaries is a slightly different issue, but it’s not totally unrelated. Keeping old packages around consumes disk space and costs the project money (remember, every package is mirrored across the CDN, so this isn’t just a single disk). Even if it were free, philosophically, I think making it easy for users to install known-insecure software is a bad idea but if you want to keep a package repo with out-of-date packages online indefinitely then you can. You can run Poudriere and even cross-compile from a fairly beefy cloud machine quite easily.

It’s been a while since I did a full package build, but I would guess that you could do a single package build (all ports) for about $50 on a cloud VM, more (2-3x) if it’s emulated. Storing the results for a small number of users will cost around $10-20/month. If you think this is an important thing to do, then you are absolutely welcome to spend your own money on doing it.

David



--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Warner Losh
2024-01-18 22:06:08 UTC
Permalink
Hello to everyone.
I'm trying to copy the Chromebook's SNOW source files that have been included on the FreeBSD 11
revision 269385 to the new FreeBSD 13 revision 373300. It has compiled correctly world,but when it
starts to compile the kernel,it gives a lot of "unknown option" errors. Is there a way to fix them ?
https://wiki.freebsd.org/arm/Chromebook
# svn co http://svn.freebsd.org/base/head ./head-373300
# cp ./head-269395/sys/arm/conf/CHROMEBOOK-SNOW ./head-373300/sys/arm/conf
# cd ./head-373300
# make TARGET_ARCH=armv7 KERNCONF=CHROMEBOOK-SNOW buildworld buildkernel
I tried also with : make TARGET_ARCH=armv6 KERNCONF=CHROMEBOOK-SNOW buildworld buildkernel,but it
didn't make any difference.
.....
.....
--------------------------------------------------------------
Post by Mario Marietto
Post by David Chisnall
World build completed on Wed Jan 17 21:27:04 CET 2024
World built in 14203 seconds, ncpu: 16
--------------------------------------------------------------
make[1]: "/mnt/zroot2/zroot2/OS/Chromebook/head-373300/Makefile.inc1" line 341: SYSTEM_COMPILER: lib
clang will be built for bootstrapping a cross-compiler.
make[1]: "/mnt/zroot2/zroot2/OS/Chromebook/head-373300/Makefile.inc1" line 346: SYSTEM_LINKER: libcl
ang will be built for bootstrapping a cross-linker.
--------------------------------------------------------------
Post by Mario Marietto
Post by David Chisnall
Kernel build for CHROMEBOOK-SNOW started on Wed Jan 17 21:27:04 CET 2024
--------------------------------------------------------------
===> CHROMEBOOK-SNOW
mkdir -p /usr/obj/mnt/zroot2/zroot2/OS/Chromebook/head-373300/arm.armv7/sys
--------------------------------------------------------------
Post by Mario Marietto
Post by David Chisnall
stage 1: configuring the kernel
--------------------------------------------------------------
cd /mnt/zroot2/zroot2/OS/Chromebook/head-373300/sys/arm/conf; PATH=/usr/obj/mnt/zroot2/zroot2/OS/Ch
romebook/head-373300/arm.armv7/tmp/bin:/usr/obj/mnt/zroot2/zroot2/OS/Chromebook/head-373300/arm.armv
7/tmp/usr/sbin:/usr/obj/mnt/zroot2/zroot2/OS/Chromebook/head-373300/arm.armv7/tmp/usr/bin:/usr/obj/m
nt/zroot2/zroot2/OS/Chromebook/head-373300/arm.armv7/tmp/legacy/usr/sbin:/usr/obj/mnt/zroot2/zroot2/
OS/Chromebook/head-373300/arm.armv7/tmp/legacy/usr/bin:/usr/obj/mnt/zroot2/zroot2/OS/Chromebook/head
-373300/arm.armv7/tmp/legacy/bin:/usr/obj/mnt/zroot2/zroot2/OS/Chromebook/head-373300/arm.armv7/tmp/
legacy/usr/libexec::/sbin:/bin:/usr/sbin:/usr/bin config -d /usr/obj/mnt/zroot2/zroot2/OS/Chromebo
ok/head-373300/arm.armv7/sys/CHROMEBOOK-SNOW -I '/mnt/zroot2/zroot2/OS/Chromebook/head-373300/sys/a
rm/conf' -I '/mnt/zroot2/zroot2/OS/Chromebook/head-373300/sys/arm/conf' '/mnt/zroot2/zroot2/OS/Chro
mebook/head-373300/sys/arm/conf/CHROMEBOOK-SNOW'
WARNING: duplicate option `DEBUG' encountered.
./head-373300/sys/arm/conf/CHROMEBOOK-SNOW: unknown option "IPI_IRQ_END" / "IPI_IRQ_START / ARM_L2_PIPT"
and so on...
these options are included inside the file "std.exynos5250" (that I have copied from the old to the new
#options IPI_IRQ_START=0
#options IPI_IRQ_END=15
These likely require changes to adopt exynos to INTRNG.
#options ARM_L2_PIPT
This is likely a nop. It was for ARMv4/5 only and google tells me
exynos5250 was a dual core Cortex A-15, which is armv7.
but I suspect that a lot of options will be missing and the more comments
I will make,the more the chance that it will not work will increase. ...
There's likely a lot of work here...

Warner
Post by Mario Marietto
Hello.
Do you have deleted forever the set of packages and ports for FreeBSD 11
or you keep them stored in DVDs that I can buy or download for a small
amount of money ? If yes,where ? To rebuild everything is out of my
expertise.
Post by David Chisnall
The ARM Chromebook is based on armv7,it is still recent.
For reference, the ARMv7 architecture was introduced in 2005. The last
cores that implemented the architecture were released in 2014. This is not
a ‘recent’ architecture, it’s one that’s 19 years old and has been largely
dead for several years.
But let's change perspective for a moment,don't think about the ARM
Chromebook. My question is : how to upgrade FreeBSD when it goes EOL.
Generally, run `freebsd-update`. This is a very different question from
‘how do I do a new install of an old an unsupported version?'
I ask this because there is a huge difference here between FreeBSD and
Linux. Today if you need to use , for example Ubuntu 14.0, you can use it
as is. Yes,there will be a lot of bugs,but it will work without crashes.
But if you want to use an old FreeBSD system,nothing will work for you.
So,do you know some methods to install even packages or ports ? You
know,there are cases when you need to do some experiments so that you can
keep your machine off the internet,so you aren't scared that someone can
compromise it. Totally prohibiting the users to use an old system,removing
ports and packages is not a choice that I approve of. And I'm not the only
one that thinks like this.
If you want to use an old and unsupported version of FreeBSD, no one is
- You will need to build the releases. The source code is still in
git, you can. The scripts for building the release images are right there
in the repo. Just grab the relevant release or releng branch and go.
- You will need to build packages. Newer versions of the ports tree
will not be tested with the older release, so you may need to use an older
checkout of the ports tree. Poudriere will build a package repo for you.
In both cases, if you’re using older versions you almost certainly
*will* have security vulnerabilities. The project strongly advises you not
to do this and not to blame us when you install known-insecure software and
end up compromised.
The project does not have enough active contributors to keep maintaining
things indefinitely. This is why release have a five-year supported
lifetime. If you want to pick up an old branch and maintain it, you’re
welcome to. In the past, companies have picked up old branches and
maintained them for customers that had a dependency on them. If you want
to pay someone to maintain an old branch (and have deep pockets) then there
are probably a few companies that will happily take your money.
Maintaining binaries is a slightly different issue, but it’s not totally
unrelated. Keeping old packages around consumes disk space and costs the
project money (remember, every package is mirrored across the CDN, so this
isn’t just a single disk). Even if it were free, philosophically, I think
making it easy for users to install known-insecure software is a bad idea
but if you want to keep a package repo with out-of-date packages online
indefinitely then you can. You can run Poudriere and even cross-compile
from a fairly beefy cloud machine quite easily.
It’s been a while since I did a full package build, but I would guess
that you could do a single package build (all ports) for about $50 on a
cloud VM, more (2-3x) if it’s emulated. Storing the results for a small
number of users will cost around $10-20/month. If you think this is an
important thing to do, then you are absolutely welcome to spend your own
money on doing it.
David
--
Mario.
--
Mario.
Mario Marietto
2024-01-15 18:48:06 UTC
Permalink
Hello.

Do you have deleted forever the set of packages and ports for FreeBSD 11 or
you keep them stored in DVDs that I can buy or download for a small amount
of money ? If yes,where ? To rebuild everything is out of my expertise.
Post by David Chisnall
Post by Mario Marietto
The ARM Chromebook is based on armv7,it is still recent.
For reference, the ARMv7 architecture was introduced in 2005. The last
cores that implemented the architecture were released in 2014. This is not
a ‘recent’ architecture, it’s one that’s 19 years old and has been largely
dead for several years.
Post by Mario Marietto
But let's change perspective for a moment,don't think about the ARM
Chromebook. My question is : how to upgrade FreeBSD when it goes EOL.
Generally, run `freebsd-update`. This is a very different question from
‘how do I do a new install of an old an unsupported version?'
Post by Mario Marietto
I ask this because there is a huge difference here between FreeBSD and
Linux. Today if you need to use , for example Ubuntu 14.0, you can use it
as is. Yes,there will be a lot of bugs,but it will work without crashes.
But if you want to use an old FreeBSD system,nothing will work for you.
So,do you know some methods to install even packages or ports ? You
know,there are cases when you need to do some experiments so that you can
keep your machine off the internet,so you aren't scared that someone can
compromise it. Totally prohibiting the users to use an old system,removing
ports and packages is not a choice that I approve of. And I'm not the only
one that thinks like this.
- You will need to build the releases. The source code is still in git,
you can. The scripts for building the release images are right there in
the repo. Just grab the relevant release or releng branch and go.
- You will need to build packages. Newer versions of the ports tree will
not be tested with the older release, so you may need to use an older
checkout of the ports tree. Poudriere will build a package repo for you.
In both cases, if you’re using older versions you almost certainly *will*
have security vulnerabilities. The project strongly advises you not to do
this and not to blame us when you install known-insecure software and end
up compromised.
The project does not have enough active contributors to keep maintaining
things indefinitely. This is why release have a five-year supported
lifetime. If you want to pick up an old branch and maintain it, you’re
welcome to. In the past, companies have picked up old branches and
maintained them for customers that had a dependency on them. If you want
to pay someone to maintain an old branch (and have deep pockets) then there
are probably a few companies that will happily take your money.
Maintaining binaries is a slightly different issue, but it’s not totally
unrelated. Keeping old packages around consumes disk space and costs the
project money (remember, every package is mirrored across the CDN, so this
isn’t just a single disk). Even if it were free, philosophically, I think
making it easy for users to install known-insecure software is a bad idea
but if you want to keep a package repo with out-of-date packages online
indefinitely then you can. You can run Poudriere and even cross-compile
from a fairly beefy cloud machine quite easily.
It’s been a while since I did a full package build, but I would guess that
you could do a single package build (all ports) for about $50 on a cloud
VM, more (2-3x) if it’s emulated. Storing the results for a small number
of users will cost around $10-20/month. If you think this is an important
thing to do, then you are absolutely welcome to spend your own money on
doing it.
David
--
Mario.
Mario Marietto
2024-01-17 22:54:06 UTC
Permalink
Hello to everyone.

I'm trying to copy the Chromebook's SNOW source files that have been
included on the FreeBSD 11
revision 269385 to the new FreeBSD 13 revision 373300. It has compiled
correctly world,but when it
starts to compile the kernel,it gives a lot of "unknown option"
errors. Is there a way to fix them ?

# svn co http://svn.freebsd.org/base/***@269385 ./head-269385 ; taken
from this tutorial :

https://wiki.freebsd.org/arm/Chromebook

# svn co http://svn.freebsd.org/base/head ./head-373300
# cp ./head-269395/sys/arm/conf/CHROMEBOOK-SNOW ./head-373300/sys/arm/conf
# cd ./head-373300
# make TARGET_ARCH=armv7 KERNCONF=CHROMEBOOK-SNOW buildworld buildkernel

I tried also with : make TARGET_ARCH=armv6 KERNCONF=CHROMEBOOK-SNOW
buildworld buildkernel,but it
didn't make any difference.

....
....
--------------------------------------------------------------
Post by Mario Marietto
Post by David Chisnall
World build completed on Wed Jan 17 21:27:04 CET 2024
World built in 14203 seconds, ncpu: 16
--------------------------------------------------------------
make[1]: "/mnt/zroot2/zroot2/OS/Chromebook/head-373300/Makefile.inc1"
line 341: SYSTEM_COMPILER: lib
clang will be built for bootstrapping a cross-compiler.
make[1]: "/mnt/zroot2/zroot2/OS/Chromebook/head-373300/Makefile.inc1"
line 346: SYSTEM_LINKER: libcl
ang will be built for bootstrapping a cross-linker.

--------------------------------------------------------------
Post by Mario Marietto
Post by David Chisnall
Kernel build for CHROMEBOOK-SNOW started on Wed Jan 17 21:27:04 CET 2024
--------------------------------------------------------------
===> CHROMEBOOK-SNOW
mkdir -p /usr/obj/mnt/zroot2/zroot2/OS/Chromebook/head-373300/arm.armv7/sys

--------------------------------------------------------------
Post by Mario Marietto
Post by David Chisnall
stage 1: configuring the kernel
--------------------------------------------------------------
cd /mnt/zroot2/zroot2/OS/Chromebook/head-373300/sys/arm/conf;
PATH=/usr/obj/mnt/zroot2/zroot2/OS/Ch
romebook/head-373300/arm.armv7/tmp/bin:/usr/obj/mnt/zroot2/zroot2/OS/Chromebook/head-373300/arm.armv
7/tmp/usr/sbin:/usr/obj/mnt/zroot2/zroot2/OS/Chromebook/head-373300/arm.armv7/tmp/usr/bin:/usr/obj/m
nt/zroot2/zroot2/OS/Chromebook/head-373300/arm.armv7/tmp/legacy/usr/sbin:/usr/obj/mnt/zroot2/zroot2/
OS/Chromebook/head-373300/arm.armv7/tmp/legacy/usr/bin:/usr/obj/mnt/zroot2/zroot2/OS/Chromebook/head
-373300/arm.armv7/tmp/legacy/bin:/usr/obj/mnt/zroot2/zroot2/OS/Chromebook/head-373300/arm.armv7/tmp/
legacy/usr/libexec::/sbin:/bin:/usr/sbin:/usr/bin config -d
/usr/obj/mnt/zroot2/zroot2/OS/Chromebo
ok/head-373300/arm.armv7/sys/CHROMEBOOK-SNOW -I
'/mnt/zroot2/zroot2/OS/Chromebook/head-373300/sys/a
rm/conf' -I '/mnt/zroot2/zroot2/OS/Chromebook/head-373300/sys/arm/conf'
'/mnt/zroot2/zroot2/OS/Chro
mebook/head-373300/sys/arm/conf/CHROMEBOOK-SNOW'
WARNING: duplicate option `DEBUG' encountered.

/head-373300/sys/arm/conf/CHROMEBOOK-SNOW: unknown option
"IPI_IRQ_END" / "IPI_IRQ_START / ARM_L2_PIPT"

and so on...

these options are included inside the file "std.exynos5250" (that I
have copied from the old to the new

source code). What I'm trying to do to stop these error is to comment
the offending lines :


nano ./head-373300/sys/arm/samsung/exynos/std.exynos5250 :

#options IPI_IRQ_START=0
#options IPI_IRQ_END=15
#options ARM_L2_PIPT


but I suspect that a lot of options will be missing and the more comments I
will make,the more the chance that it will not work will increase. ...
Post by Mario Marietto
Hello.
Do you have deleted forever the set of packages and ports for FreeBSD 11
or you keep them stored in DVDs that I can buy or download for a small
amount of money ? If yes,where ? To rebuild everything is out of my
expertise.
Post by David Chisnall
The ARM Chromebook is based on armv7,it is still recent.
For reference, the ARMv7 architecture was introduced in 2005. The last
cores that implemented the architecture were released in 2014. This is not
a ‘recent’ architecture, it’s one that’s 19 years old and has been largely
dead for several years.
But let's change perspective for a moment,don't think about the ARM
Chromebook. My question is : how to upgrade FreeBSD when it goes EOL.
Generally, run `freebsd-update`. This is a very different question from
‘how do I do a new install of an old an unsupported version?'
I ask this because there is a huge difference here between FreeBSD and
Linux. Today if you need to use , for example Ubuntu 14.0, you can use it
as is. Yes,there will be a lot of bugs,but it will work without crashes.
But if you want to use an old FreeBSD system,nothing will work for you.
So,do you know some methods to install even packages or ports ? You
know,there are cases when you need to do some experiments so that you can
keep your machine off the internet,so you aren't scared that someone can
compromise it. Totally prohibiting the users to use an old system,removing
ports and packages is not a choice that I approve of. And I'm not the only
one that thinks like this.
If you want to use an old and unsupported version of FreeBSD, no one is
- You will need to build the releases. The source code is still in git,
you can. The scripts for building the release images are right there in
the repo. Just grab the relevant release or releng branch and go.
- You will need to build packages. Newer versions of the ports tree
will not be tested with the older release, so you may need to use an older
checkout of the ports tree. Poudriere will build a package repo for you.
In both cases, if you’re using older versions you almost certainly *will*
have security vulnerabilities. The project strongly advises you not to do
this and not to blame us when you install known-insecure software and end
up compromised.
The project does not have enough active contributors to keep maintaining
things indefinitely. This is why release have a five-year supported
lifetime. If you want to pick up an old branch and maintain it, you’re
welcome to. In the past, companies have picked up old branches and
maintained them for customers that had a dependency on them. If you want
to pay someone to maintain an old branch (and have deep pockets) then there
are probably a few companies that will happily take your money.
Maintaining binaries is a slightly different issue, but it’s not totally
unrelated. Keeping old packages around consumes disk space and costs the
project money (remember, every package is mirrored across the CDN, so this
isn’t just a single disk). Even if it were free, philosophically, I think
making it easy for users to install known-insecure software is a bad idea
but if you want to keep a package repo with out-of-date packages online
indefinitely then you can. You can run Poudriere and even cross-compile
from a fairly beefy cloud machine quite easily.
It’s been a while since I did a full package build, but I would guess
that you could do a single package build (all ports) for about $50 on a
cloud VM, more (2-3x) if it’s emulated. Storing the results for a small
number of users will cost around $10-20/month. If you think this is an
important thing to do, then you are absolutely welcome to spend your own
money on doing it.
David
--
Mario.
--
Mario.
Loading...