Using TFTP to boot an ArubaOS AP
An Aruba AP running ArubaOS has provisioning parameters that can be configured manually through a console connection.
These parameters tell the AP where to terminate its GRE tunnel, or where to get the AP image from.
You will need a console cable and physical access to the AP. Follow these steps:
- Connect to the serial port on the AP
- Establish a console session to the AP
- Power-cycle/reboot the AP
- Break the boot by pressing
Enter
when the session displays the message"Hit" <Enter> to stop autoboot.
For AP image configuration, we care about the following commands:
environment variable | description |
---|---|
master | IP destination for the AP’s GRE tunnel |
serverip | TFTP server where AP can get an image from |
bootcmd | tell the AP where to boot from |
The bootcmd
environment variable is important when using this method and is not mentioned in the tech docs.
By default the bootcmd
environment variable is set to boot ap
. This means it will boot using it’s local image.
To get the AP to boot from a TFTP server, you need to change the bootcmd
setting tftpboot
. Otherwise, it will never reach out to the TFTP server. I lost several hours of my time to this.
Syntax:
setenv master <controller>
setenv serverip <tftp>
setenv bootcmd <boot ap|tftpboot>
Example:
setenv master 10.0.0.9
setenv serverip 10.0.1.5
setenv bootcmd tftpboot
Note that starting in AOS 8.9 or later, use conductor
instead of master
.
How do we verify the version? Either telnet into the AP, or log into the AP from the console session.
- If there is a password, type it in and press enter.
- You should be looking at a prompt like this:
~ #
- Press the following keys in the order listed
ESC + CTRL + K
- You should see
~ # Switching to Full Access
print to the screen - Type
cat /proc/version
Note that everytime the AP boots it will reach out to the TFTP server for it’s image.
Thanks to Ryan Stewart for reading drafts of this.
Appendix:
- This was tested with 6.5.3.4 and 6.5.4.12 ArubaOS code on an AP-325
- AP boot commands
- run
printenv
to show the current environment variables - run
osinfo
to show the loaded ArubaOS image version - run
save
to save your changes - run
boot
to boot the AP once you’re done making changes
- run
- The console password is defined in the ap system-profile. To check it, on controller run
encrypt disable
and then check ap system-profileshow ap system-profile <profile>
Changelog
- 09/30/2019 - original post
- 10/01/2019 - clarification