OECG – Chapter 24

O

Router Boot Process

  • Router performs a power-on self test (POST).
  • Router loads and runs bootstrap code from ROM.
  • Router finds IOS software (or other software) and loads it. Options are:
    • Full-featured IOS, stored in flash. This is the binary you run for the router to run normally.
    • Limited function IOS (RXBOOT mode), stored in ROM. This is when your image on flash is not loadable, but you get basic IP connectivity so that you can load a functional image and get it onto flash.
    • ROMMON, store in ROM. Low-level debugging mode, used by TAC and for password recovery, (and from experience, when something Really Super Bad happened to the router).
  • Router finds the config file and loads it into running configuration.

Configuration Register & Boot System Command

  • The configuration register is a 16-bit software register in the router.
  • The configuration register value is set using the “config-register” global command.
  • On most routers, this is set to hex 0x2102.
  • The boot field is the lower-order 4 bits of the configuration register.
    • If the boot field is a hex 0, ROMMON.
    • If the boot field is a hex 1, RXBOOT.
    • If the boot field is anything else, load the OS specified by the “boot system” commands.
  • The “boot system” global configuration command defines what the router is supposed to load if the boot field is not a “0” or “1”.
    • No boot command – the router will attempt to load the first file it finds in Flash, then it will broadcast for a TFTP server and default filename, then it looks for an IOS in ROM, and finally it will end up in ROMMON.
    • “boot system rom” – the router loads IOS from ROM.
    • “boot system flash” – the router loads the first file from flash memory.
    • “boot system flash <filename>” – the router loads <filename> from flash memory. If you spelled it right.
    • “boot system tftp <filename> xx.xx.xx.xx” – the router loads <filename> from xx.xx.xx.xx via TFTP.
    • If there are multiple boot system commands, the router will attempt to load the IOS from the first boot system command it encounters. If that attempt fails, the router will continue with the second boot command until an IOS is loaded.
By Ethan Banks

Ethan Banks is a podcaster and writer with a BSCS and 20+ years in enterprise IT. He's operated data centers with a special focus on infrastructure — especially networking. He's been a CNE, MCSE, CEH, CCNA, CCNP, CCSP, and CCIE R&S #20655. He's the co-founder of Packet Pushers Interactive, LLC where he creates content for humans in the hot aisle.

Newsletter