Add system image error: grub configuration /dev/mem operation not permitted


100% new to vyos. Looking to have it hand out IPs and cache/resolve hostnames for 40Gb storage network in lab.

Fumbling through setup, I realized I was on a really old ISO and did a system upgrade. It gave me this odd error message:

# add system image
. . . 
error: grub configuration
/dev/mem operation not permitted
/dev/mem operation not permitted

Sorry, I wasn’t attached via ssh so I couldn’t copy an exact message, but that is the gist.

When I rebooted, the new image was present in grub, which I booted from and worked, so I suppose everything is OK. Anyone know what that was all about?

Hello @AveryFreeman, from which VyOS version did you upgrade your router?
Not recommended update to rolling if version less the 1.1.8. At first upgrade to 1.1.8 and then to rolling.

(digs up old server iso bank)

avery@napp-it01:/mnt/wdgreen/tub/esxi_backup/ISOs/Appliances$ ls vyos-

I think I downloaded it before VyOS went to a rolling model, or maybe was last version available non-rolling when rolling was rolled out …

Would it be prudent for me to make a backup of my config and start from scratch?

Yes, you definitely need to try.
For test I successfully update LTS 1.2.2 to the latest rolling

Do you want to continue without signature check? (yes/no) [yes] 
Checking MD5 checksums of files on the ISO image...OK.
What would you like to name this image? [1.4-rolling-202102141111]: 
OK.  This image will be named: 1.4-rolling-202102141111
Installing "1.4-rolling-202102141111" image.
Copying new release files...
Would you like to save the current configuration 
directory and config file? (Yes/No) [Yes]: 
Copying current configuration...
Would you like to save the SSH host keys from your 
current configuration? (Yes/No) [Yes]: 
Copying SSH keys...
Running post-install script...
Setting up grub configuration...

Interesting, the last lines (re: grub configuration) is where I got the /dev/mem error.

I’ll have to find the wiki for backing up the config and try it later. Thanks for your help

The simple way is to get configuration commands and put them to new installed device:

show configuration commands

Interesting way of doing things. Then I just put these into a bash script and run on the new server, huh?

Is there a repo where people keep copies of common configurations?

Thanks :slight_smile:

Edit: I’m noticing what look like json files in /config directory - is there a reason you recommend issuing the commands instead of replacing these files with saved ones?