PC Engines apu2 experiences
-
@vollans I did a quick test in a virtual machine to figure out what the commands would be. This appears to work:
On a running 2.4.5-p1 system:
zpool checkpoint zroot
Booted from the 2.5.0 installer and in the Rescue Shell:
zpool import -f -N --rewind-to-checkpoint zroot zpool export zroot poweroff
-
@vollans Thanks for this write up! I am installed on UFS but may go back and switch to ZFS now. I'm a Linux guy, so ZFS has always been out of my wheelhouse.
When I do the initial setup and pfSense is working, do I:
- Perform a snapshot then and leave it around for years and years? Is this safe? I'm thinking like a VM snapshot where you don't want to have a snapshot hang around for long periods of time.
- Only perform snapshots before an upgrade, do the upgrade, then remove the snapshot after it's working?
Thanks again!
-
@logan5247 said in PC Engines apu2 experiences:
@vollans Thanks for this write up! I am installed on UFS but may go back and switch to ZFS now. I'm a Linux guy, so ZFS has always been out of my wheelhouse.
This is an issue mainly because UFS in pfsense performs recovery so incredibly badly. I don't fully understand why something as heavy as ZFS seems to be the only solution.
-
@logan5247 I don’t see any inherent dangers in leaving the snapshot hanging around, unless you are really tight for space. Snapshots only record changed files, so it’s not a huge thing. Personally, I use it for a couple of reasons.
-
Fully installed with patches base OS before any fiddling - that way if you screw up you can roll back and undo your “magic” that was more Weasley than Granger.
-
Snapshot once fully tweaked and working, so you’ve got a known working system to roll back to
-
Just before a major upgrade
Here’s my snapshot catalogue:
NAME USED AVAIL REFER MOUNTPOINT zroot 2.90G 9.21G 88K /zroot zroot@210219 0 - 88K - zroot@2-4-5p1-base 0 - 88K - zroot@2-4-5-p1 0 - 88K - zroot/ROOT 2.14G 9.21G 88K none zroot/ROOT@210219 0 - 88K - zroot/ROOT@2-4-5p1-base 0 - 88K - zroot/ROOT@2-4-5-p1 0 - 88K - zroot/ROOT/default 2.14G 9.21G 1.84G / zroot/ROOT/default@210219 146M - 1.14G - zroot/ROOT/default@2-4-5p1-base 36.3M - 1.43G - zroot/ROOT/default@2-4-5-p1 36.5M - 1.43G - zroot/tmp 512K 9.21G 512K /tmp zroot/var 776M 9.21G 396M /var zroot/var@210219 183M - 527M - zroot/var@2-4-5p1-base 52.1M - 409M - zroot/var@2-4-5-p1 61.5M - 434M -
The space used as it goes along is tiny. The upgrade to 2.5 that I ended up rolling back from only used about 900MB IIRC.
-
-
Without doing manual snapshots, is there an advantage of using ZFS over the old UFS? I am on ZFS on a single SSD and I forgot what its advantage is when I posted here a few years ago.
-
@kevindd992002 Better resilience if you have a crash. UFS has a horrid habit of collapsing in an unrecoverable heap, ZFS is far more likely to recover gracefully.
-
@kevindd992002 said in PC Engines apu2 experiences:
Without doing manual snapshots, is there an advantage of using ZFS over the old UFS? I am on ZFS on a single SSD and I forgot what its advantage is when I posted here a few years ago.
....of course RAID with ZFS gives more redundancy, best is more disks using RAID. As the problem with a single disk and "copies" is the same as creating an mdadm raid-1 using two partitions of the same disk: you have data redundancy, but not disk redundancy, as disk failure will cause the loss of both data sets.
Comparing UFS with ZFS, well ZFS, like btrfs, is copy-on-write, so power surges are never a problem and ZFS requires a system with ECC memory (APU2 has this), otherwise you're still not 100% safeguarded against bit errors.
-
@vollans Sorry to keep asking questions.
- ) If I snapshot
zroot
do I need to snapshotzroot/ROOT
andzroot/ROOT/default
? Doeszroot
not include everything else?
- Let's say I did a snapshot, made a change, and successfully rolled back:
zfs rollback zroot/var@20210308 zfs rollback zroot/ROOT/default@20210308 zfs rollback zroot/ROOT@20210308 zfs rollback zroot@20210308 shutdown -r now
And now my
zfs list
looks like this (after the rollback):NAME USED AVAIL REFER MOUNTPOINT zroot 674M 12.4G 96K /zroot zroot@20210308 0 - 96K - zroot/ROOT 665M 12.4G 96K none zroot/ROOT@20210308 0 - 96K - zroot/ROOT/default 665M 12.4G 665M / zroot/ROOT/default@20210308 388K - 665M - zroot/tmp 144K 12.4G 144K /tmp zroot/var 7.02M 12.4G 6.62M /var zroot/var@20210308 400K - 6.62M -
How do I know what set of filesystems I'm running on? Is there something like an "active" marker in
zfs list
? - ) If I snapshot
-
@logan5247 this really should get its own zfs thread, it has nothing to do with the apu2
-
@vamike I agree, but quickly in summary, you're always running the one without the @ sign - that's the current live version. You can see that the size of the "backup" of zroot is nothing. The size of zroot/ROOT/default's backup is bigger. zroot doesn't include the other, effectively, "partitions".
-
@dem said in PC Engines apu2 experiences:
@vollans I did a quick test in a virtual machine to figure out what the commands would be. This appears to work:
On a running 2.4.5-p1 system:
zpool checkpoint zroot
Booted from the 2.5.0 installer and in the Rescue Shell:
zpool import -f -N --rewind-to-checkpoint zroot zpool export zroot poweroff
I would like to know how you booted from the 2.5.0 installer using a virtual pfsense machine and got to the Rescue Shell?
-
@qinn In VirtualBox I put the file
pfSense-CE-2.5.0-RELEASE-amd64.iso
in the virtual optical drive and booted to this screen, where I selected Rescue Shell: -
@dem Thanks for the quick reply, I understand that.
What I would like to know is how you get to the Virtual pfSense from here as the virtual pfsense machine is not running and access the checkpoint you made?Btw I am using VM workstation!
-
@qinn Sorry I wasn't clear: I put the installer image into the virtual optical drive of the same virtual pfSense instance that I checkpointed, so the installer has access to the same virtual disk and can locate the checkpointed
zroot
pool.Edited to add: My goal was to simulate booting an apu2 from the
memstick
image in order to rewind a checkpoint, but I don't have a spare apu2 to test with. If I actually ran pfSense in a virtual machine I would use virtual machine snapshots before any upgrade. -
@qinn I never would have guessed this was somehow specific to the apu2
-
-
@dem so he should start another thread so that people actually interested in apu2 experiences can find those without digging through unrelated zfs support questions
-
@vamike I agreed it wasn't relevant here 2 days ago, and stopped responding.
-
Why pfsense 2.5 shows "AES-NI CPU Crypto: No" when in 2.4.x there was YES on APU2? Also on 2.5 there is in other line: Hardware crypto AES-CBC,AES-CCM,AES-GCM,AES-ICM,AES-XTS
-
@sikita said in PC Engines apu2 experiences:
Why pfsense 2.5 shows "AES-NI CPU Crypto: No" when in 2.4.x there was YES on APU2?
Anything to do with this problem? If so, it appears to be fixed in 2.5.1.
-
@bigsy Ok, thank you. Seems to be GUI bug and does not involve using HW crypto.
-
@sikita I am on pfSense 2.5.0 and here it says:
Do you have AES-NI enabled?
-
Can anyone share there System / Advanced / Networking on a APU2
Mine are
as these are the defaults, grabbed them from a VM installation, which is not quit the same setup.
The old and not anymore recommend settings from https://teklager.se/en/knowledge-base/apu2-1-gigabit-throughput-pfsense/ are quit different!
...and there is a new settings present in 2.5.0. " hn ALTQ support"
Could anyone elaborate on all these or there settings?
-
There are no hn NICs on any APU so it makes no difference. You can disable it.
Steve
-
I performed all the bootloader and other tweaks mentioned in various threads throughout the years on my <= 2.45-p1 installation and now I don't remember what they all are. It would be great if somebody could post what things to look for (to remove?) when you update your apu2 from 2.4.5 --> 2.5.0.
At the moment because of the performance issues, I'm not upgrading.
-
@valnar said in PC Engines apu2 experiences:
when you update your apu2 from 2.4.5 --> 2.5.0.
Hi,
With that, I would wait a little longer
here,....you will find a lot of useful info if you even decide to upgrade...
https://teklager.se/en/knowledge-base/
https://teklager.se/en/knowledge-base/apu2-1-gigabit-throughput-pfsense/+++edit:
and of course
https://pcengines.github.io/ -
Smooth update to pfSense 2.5.1 CE
-
Updated to bios coreboot v4.13.05.
-
@qinn Fine !
I am still on 2.4.5_1.
Did you notice any performance degradation ? -
@flok No, so far not.
-
I received an email notification about v4.14.0.2 and this IMPORTANT message was included:
To update the firmware and keep the runtime configuration unchanged please use the following command:
flashrom -p internal -w apuX_v4.14.0.2.rom --fmap -i COREBOOT
The persistent runtime configuration works only when migrating from versions v4.14.0.1 and later. The feature is not yet supported on apu1. Flashrom version needs to be v1.1 or newer.I did the upgrade from v4.14.0.1 with that new command without any issues. However, for the longest time this is what I've been using:
flashrom -p internal -w apuX_v4.14.0.2.rom
What is the difference?
-
@kevindd992002
I'm not by any means an expert on coreboot, butflashrom -p internal -w apuX_v4.14.0.2.rom
will overwrite the entire flash chip with the new rom file.
flashrom -p internal -w apuX_v4.14.0.2.rom --fmap -i COREBOOT
The flash chip has various partitions defined in a 'flashmap' format and this command specifies which area to overwrite. This probably allows for user altered settings such as seabios boot order changes to persist and not get overwritten during the coreboot update, but I haven't tried it out.
-
@bigsy said in PC Engines apu2 experiences:
@kevindd992002
I'm not by any means an expert on coreboot, butflashrom -p internal -w apuX_v4.14.0.2.rom
will overwrite the entire flash chip with the new rom file.
flashrom -p internal -w apuX_v4.14.0.2.rom --fmap -i COREBOOT
The flash chip has various partitions defined in a 'flashmap' format and this command specifies which area to overwrite. This probably allows for user altered settings such as seabios boot order changes to persist and not get overwritten during the coreboot update, but I haven't tried it out.
That's what I thought. However, with the 1st command I have never seen any seabios setting get changed when I use it to update my APU2. I'm wondering if it's really better to use the 2nd command from this point moving forward.
-
@kevindd992002 If you look at the changes to the pcEngines fork of SeaBIOS, the addition of 'support for persistent bootorder in FMAP region' has only been in the most recent release of SeaBIOS v1.14.0.1 and similarly for sortbootorder v4.6.21.
-
@bigsy I see. So we're just preserving boot order here? Since I just have one boot device in my APU2, then it wouldn't matter to me.
-
For the APU2C4, why is it that when I have a serial cable connected between its serial port and a computer, its USB ports don't work? I have a UPS plugged in to one of its USB ports and I use the NUT package in pfsense. As soon as I connect to the hardware through the serial port (using putty), the USB port does not work. Unplugging the serial cable fixes the issue and that's why I know it's the one causing it. This is happening for both of my APU2C4 boxes.
-
@kevindd992002 said in PC Engines apu2 experiences:
connected between its serial port and a computer, its USB ports don't work?
Hmmmm, I haven't seen it yet, it is true we don't even connect to MOBO in this multiple way...
Have you tried to remove NUT? (of course temporarily)
-
@daddygo said in PC Engines apu2 experiences:
@kevindd992002 said in PC Engines apu2 experiences:
connected between its serial port and a computer, its USB ports don't work?
Hmmmm, I haven't seen it yet, it is true we don't even connect to MOBO in this multiple way...
Have you tried to remove NUT? (of course temporarily)
I haven't yet but I see the usb disconnect message in the terminal itself so I figured it's a board issue. I also use the USB port only for NUT so removing it will be a moot point but I can still try for the sake of troubleshooting.
-
@kevindd992002 said in PC Engines apu2 experiences:
but I can still try for the sake of troubleshooting.
Sure
Would it be worth doing to rule out the SW/Code issue (on NUT) in the background...
The NUT is a strange animal anyway and sometimes difficult to get to work..
It also handles USB and RS232 stuff, so I guess that's where the rub is
-
@daddygo said in PC Engines apu2 experiences:
@kevindd992002 said in PC Engines apu2 experiences:
but I can still try for the sake of troubleshooting.
Sure
Would it be worth doing to rule out the SW/Code issue (on NUT) in the background...
The NUT is a strange animal anyway and sometimes difficult to get to work..
It also handles USB and RS232 stuff, so I guess that's where the rub is
I already uninstalled NUT and I soon as I connected to the serial port, I still see the issue:
ugen0.2: <Unknown > at usbus0 (disconnected)
So this is definitely an APU2C4 issue. Can anyone try this?