Every ReadyNAS device has a bios like all other PCs, however its not updated automatically when you update the firmware as this is a manual and additional process. To perform an bios upgrade for example for an RNDU4000 (ReadyNAS Ultra 4) you need to follow the steps below. Other devices are similar (see the notes below).
To find out which version you are using (maybe the latest one) you need to perform the following steps:
1.) Login into the web GUI from your ReadyNAS
2.) Click on Logfiles and download all logfiles as *.ZIP file
3.) Inside the *.zip file is a file named bios_ver.log which needs to be opened
4.) Inside that file you can see a string which is similar like:
/sys/class/dmi/id/product_version
::::::::::::::
05/19/2010 ReadyNAS-NVX-V2 V1.8
::::::::::::::
/sys/class/dmi/id/bios_date
::::::::::::::
05/19/2010
::::::::::::::
/sys/class/dmi/id/bios_version
::::::::::::::
080016
 Keep noted that this RNDU4000 (ReadyNAS Ultra 4) comes up as ReadyNAS-NVX-V2 with the bios date from 2010.
Â
If the version is older then the BIOS version which you might have seen somewhere else (for example below) you can perform the following steps to update it:
1.) Login into the web GUI from your ReadyNAS
2.) Enable the SSH option
3.) Use Putty to login into the device (with the same password as used on the web GUI but with username root)
4.) Once logged in download the latest bios via:
wget http://www.readynas.com/download/addons/x86/4.2/BIOS_Update_Package_0.5-x86.bin
 it will output something like:
--2020-01-11 14:58:49--Â http://www.readynas.com/download/addons/x86/4.2/BIOS_Update_Package_0.5-x86.bin
Resolving www.readynas.com (www.readynas.com)... 208.185.37.247
Connecting to www.readynas.com (www.readynas.com)|208.185.37.247|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3026944 (2.9M) [application/octet-stream]
Saving to: ‘BIOS_Update_Package_0.5-x86.bin’
BIOS_Update_Package 100%[=====================>]  2.89M 1.97MB/s  in 1.5s
2020-01-11 14:58:51 (1.97 MB/s) - ‘BIOS_Update_Package_0.5-x86.bin’ saved [3026944/3026944]
5.) Output some more infos from the file via:
head -n 1 BIOS_Update_Package_0.5-x86.bin
which will output
addon::name=BIOS_Update_Package,version=0.5,time=1336699935,size=3010560,md5sum=1a72de0097d80cf3838c391fb053b0b2,skipreboot=1,unencrypted=1,arch=x86,api=1
6.) you can also get some more infos via:
ls -l BIOS_Update_Package_0.5-x86.bin
which will output
-rw-r--r-- 1 admin admin 3026944 May 11Â 2012 BIOS_Update_Package_0.5-x86.bin
7.) Now we will use dd (diskdump) to generate a Tar file:
dd if=BIOS_Update_Package_0.5-x86.bin of=BIOS_Update_Package_0.5-x86.tar bs=1 skip=$[ 3026944 – 3010560 ]
Which will generate the following output:
3010560+0 records in
3010560+0 records out
3010560 bytes (3.0 MB, 2.9 MiB) copied, 62.1372 s, 48.5 kB/s
Note: This step might take some time!
8.) Once the command finished we then can check the MD5SUM via:
md5sum BIOS_Update_Package_0.5-x86.tar
9.) Now we will create a new folder for the bios and move into it
mkdir BIOS
cd BIOS
10.) inside that folder we will expand our *.tar file via:
tar xvf ../BIOS_Update_Package_0.5-x86.tar
11.) and also expand the files.tgz file which was in the *.tar file
tar xzvf files.tgz
12.) You can now show the bios files via:
 ls -lah /homes/admin/BIOS/opt/biosflash/
which will output something like:
drwxr-xr-x 1 admin admin 206 Nov 11 2011 .
drwxr-xr-x 1 admin admin  18 Mar 9 2011 ..
-rwxr-xr-x 1 admin admin 275K Jan 14Â 2011 flashrom
-rw-r--r-- 1 admin admin 2.1M Jun 25Â 2009 RN_3200_062410.ROM
-rw-r--r-- 1 admin admin 1.0M Jul 27Â 2010 RN_NV6_072610.ROM
-rw-r--r-- 1 admin admin 2.0M Nov 2 2011 RN_Ultra2_110211.ROM
-rw-r--r-- 1 admin admin 2.0M Aug 26Â 2011 RN_Ultra4_082311.ROM
-rw-r--r-- 1 admin admin 1.0M Jan 14Â 2011 RN_Ultra6_061010.ROM
With that details you can decide if an update would require. For example for the RNDU4000 (ReadyNAS Ultra 4) we can see the string 082311, which means the bios is from 08/23/2011. So its newer then our version and an upgrade is possible.
13.) now we need to check the install.sh file to find the command we need. To read out the file use:
cd /homes/admin/BIOS/
grep -B2 biosflash install.sh
it will output something like:
#Â Â - Todo: add check to only flash if newer.
ULTRA2BIOS=/opt/biosflash/RN_Ultra2_110211.ROM
ULTRA4BIOS=/opt/biosflash/RN_Ultra4_082311.ROM
ULTRA6BIOS=/opt/biosflash/RN_Ultra6_061010.ROM
NV6BIOS=/opt/biosflash/RN_NV6_072610.ROM
--
# // pre-flight checks
if [ ! -d /opt/biosflash ]; then
       echo " * missing BIOS images"; exit
fi
if [ ! -x /opt/biosflash/flashrom ]; then
--
if [ $DMI_BOARD = "ReadyNAS-NVX-V2" ]; then
       echo " * found Ultra 4 board, date: $DMI_DATE"
       /opt/biosflash/flashrom -c SST25VF016B -w $ULTRA4BIOS > /tmp/bios.flash
--
elif [ $DMI_BOARD = "FLAME6-2" ]; then
       echo " * found Ultra 6 board, date $DMI_DATE"
       /opt/biosflash/flashrom -c W25Q80 -w $ULTRA6BIOS > /tmp/bios.flash
--
elif [ $DMI_BOARD = "FLAME6-MB" ]; then
       echo " * found NV6 board, date $DMI_DATE"
       /opt/biosflash/flashrom -c W25x80 -w $NV6BIOS > /tmp/bios.flash
--
       echo " * found Ultra 2 board, date $DMI_DATE"
       # -c SST25VF016B | -c MX25L1605
       /opt/biosflash/flashrom -w $ULTRA2BIOS > /tmp/bios.flash
14.) before we can flash the bios we need to install some files, so we need to add a repository via:
echo “deb http://ftp.us.debian.org/debian wheezy main non-free” >> /etc/apt/sources.list
15.) run an update via:
apt-get update
16.) And install some software we need via:
apt-get install dmidecode flashrom
15.) As we saw in the check above that our board is an ReadyNAS-NVX-V2 we need the string SST25VF016B. So the complete command to flash the bios would be:
cd /BIOS/opt/biosflash
flashrom –programmer internal -c SST25VF016B -w /root/BIOS/opt/biosflash/RN_Ultra4_082311.ROM
the output will be something like:
flashrom v0.9.7-r1782 on Linux 4.4.184.x86_64.1 (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK.
Found chipset "Intel ICH9". Enabling flash write... OK.
Found SST flash chip "SST25VF016B" (2048 kB, SPI) at physical address 0xffe00000.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
16.) Now its time for a reboot. So login into the webGUI and perform a reboot.
17.) You then download a fresh new copy from the logfiles, open the bios_ver.log and you should see:
/sys/class/dmi/id/product_version
::::::::::::::
08/23/2011 ReadyNAS-NVX-V2 V1.10
::::::::::::::
/sys/class/dmi/id/bios_date
::::::::::::::
08/23/2011
::::::::::::::
/sys/class/dmi/id/bios_version
::::::::::::::
080016
18.) Now you can do some cleanup. Login again via SSH (via root)
19.) remove files and folders via:
rm BIOS_Update_Package_0.5-x86.tar
rm BIOS_Update_Package_0.5-x86.bin
rm -r BIOS
20.) remove the two packages we installed via:
apt-get remove dmidecode flashrom
21.) Once done disable SSH in the web fronted from the NAS as we do no longer need that (and it might cause security issues if enabled but not needed).