Got bored and did some more digging through source code, found some interesting (but more or less useless) information. If you remember the "no password" command you can run in the bootloader that makes it temporarily boot without a user password, this is the routine it runs:
Paste ofCode
It's just reading the value stored in the chassis EEPROM at offset 8, and adding 0x1000000 to it. This is the same EEPROM that stores the chassis MAC, serial, license ID, etc. Booting into the hidden dev bootloader mode so I had access to i2c commands, I could watch the EEPROM value change:
Code:
ICX64XX-boot>> i2cread 52 8 1 4
Read: dev_addr=0x52, addr=0x8, data=0x80000000, (al=1, dl=4)
ICX64XX-boot>> no password
OK! Skip password check when the system is up.
ICX64XX-boot>> i2cread 52 8 1 4
Read: dev_addr=0x52, addr=0x8, data=0x81000000, (al=1, dl=4)
Then when linux boots, then launches the fastiron binary, the fastiron binary has a routine that checks this EEPROM offset for certain values. if it sees that value, it temporarily removes password checks. Interestingly while digging around I found a hidden command I haven't seen mentioned anywhere, "use default-configuration" -
Paste ofCode
this works the exact same way as the "no password" routine above, except it adds 0x800000 to that EEPROM location instead. And again, after boot the fastiron binary checks this location, and if it sees this value, runs with the default configuration. Kind of redundant though, as we already have the "factory set-default" command, which does the same thing but is more thorough. Here's the factory set-default routine:
ICX7150 u-boot factory default routine
This one is even simpler, it just sets a u-boot environment variable named fips_reset to a value of "fipsreset" (the value is usually blank). In u-boot this is one of many environment variables that get appended to the boot argument that gets sent to linux (/proc/cmdline). So by default when it's blank, nothing is appended, but when it's set, the word "fipsreset" is appended to what gets passed to /proc/cmdline - then if we look in the linux OS, at the main init script that brings the system and then fastiron up, we see a routine that specifically searches for "fipsreset" in the cmdline, and if it's found, deletes pretty much everything (except licenses) -
FI 8080b fips_reset routine (from /etc/init.sh)