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 
Enterwhen 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 Accessprint 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 
printenvto show the current environment variables - run 
osinfoto show the loaded ArubaOS image version - run 
saveto save your changes - run 
bootto 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 disableand then check ap system-profileshow ap system-profile <profile> 
Changelog
- 09/30/2019 - original post
 - 10/01/2019 - clarification