Re: adding swap when expanding root filesystem

bob prohaska <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
On Mon, Nov 07, 2022 at 04:07:08PM -0800, Mark Millard wrote:
> On Nov 7, 2022, at 12:51, bob prohaska <[email protected]> wrote:
> 
> > On Mon, Nov 07, 2022 at 12:47:29PM -0600, Mike Karels wrote:
> >> On 7 Nov 2022, at 11:52, bob prohaska wrote:
> >> 
> >>> On Mon, Nov 07, 2022 at 10:10:38AM -0600, Mike Karels wrote:
> > [snip]
> > 
> >>>> I have a prototype,
> >>>> and wondered if this is a good thing to do.  Granted, this will often
> >>>> create swap on microSD, which is not optimal, but probably better than
> >>>> nothing.
> >>>> 
> > [snip]
> > 
> > Definitely better than nothing. I think it's a good thing to do.
> > 
> >>>> The current prototype creates a swap partition which is 1/10 of the disk
> >>>> if the disk is at least 15 GB and the initial root partition is no more
> >>>> than 1/3 of the disk, but only up to 1.5x of physical memory.  I would
> >>>> probably enable this by default, but provide a way to disable it via a
> >>>> kenv variable and/or a variable in /etc/rc.conf.
> >>>> 
> >>>> Thoughts?
> >>> 
> > 
> > "Yes, please!". I'd suggest 2-4x physical RAM rather than 1.5x,
> > simply because extra swap is harmless and microSD cards are 
> > amply large; 64GB was about the smallest readily available 
> > last time I looked. Now it's probably 128GB. 
> > 
> > It might be wise to add a warning about flash wearing out,
> > but it took a year of near-continuous buildworlds to kill
> > a 128GB microSD holding -current on a Pi3 with ~3 GB swap.
> > 
> > Anything done to make FreeBSD work better on Raspberry Pi
> > and competitors is worth a try. Running from microSD isn't
> > ideal but does work if used gently. It worked much better
> > under armv7. Between aarch64 and growth in compilers
> > working swap seems essential now, the more the better. 
> > 
> >>> For starters, is there any hope of making bsdinstall run from the
> >>> microSD and installing FreeBSD via the traditional process on USB?
> > [snip]
> >> 
> >> I think that???s a completely different problem.  I suspect that this
> >> is already possible, fetching packages over the net, but I don???t
> >> know the incantation.  Ideally the packages would be local, but then
> >> the image would be more like a CD-ROM.  It would be nice to have
> >> a procedure documented though.
> >> 
> > Since there's a complete system on the microSD can't that be used
> > as the initial repository?
> > 
> > I agree it is a different problem in terms of implementation. 
> > If bsdinstall can format a boot device for Raspberry Pi I should 
> > give it a try.
> 
> Remember that bsdinstall does not deal with U-Boot
> installation in general. 

Ok, I'll give up hope for now.
 
[snip]

> Also the amount of space
> U-Boot and the like takes varies. The Rock64 images
> use a 16 MiByte space for its U-Boot and the like,
> which are stored outside any file system. 

I'm not sure how anything can be stored "outside any
filesystem". Might it be better to say "in a private filesystem",
as in not known to the running kernel?

Is there any basic problem with automatically establishing a 
swap partition during a microSD card setup?  A trio of self-
hosted armv7 Pi2's with swap on microSD have been running 
happily for over two years as name, mail and webservers on 
64 GB cards. Admittely, aarch64 is a lot more swap-intensive, 
but a Pi3 ran for about a year on a 128 GB card before things 
started going wrong. That Pi3 was running buildworld
most of the time.

The Pi2's df outputs are now straddling 50% capacity without any 
cleanup, so it's probably time to think about upgrading the storage 
in some way. Treating microSD as a write-once medium isn't 
outrageous and it may be prudent for shingled mechnical disks. 
 
Configuring swap manually on a RPi microSD system is a very
considerable amount of work. Having it happen by default 
wastes at most a few percent of the card capacity. At this
point I can't see any reason to say it's a bad idea and
have some personal experience to suggest it's a good idea.

[bsdinstall limitations snipped]

It might be worth mentioning the /boot/loader.conf and 
/etc/sysctl.conf additions you've mentioned in other threads,
as adjuncts to having autoconfigured swap on microSD. They've
all been helpful in my experiments on RPi2 and RPi3. I think
they'd be constructive additions to the RPi images and perhaps
others.. 
 
Thanks for reading, and all your help!

bob prohaska
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.