The latest version of IOx (1.2.4.2) that I have needed to be installed on my IR809. To do so, it's necessary to do the following:

  • Boot into IOS.
  • Download ir800-ioxvm.1.2.4.2-T.bin into flash
  • Install the IOx image.

In a previous post I found that using TFTP to download files was failing on my computer... but I tried it anyway. Sure enough, I got the dreaded "!!!O!!O!!" problem. Given that I have a Windows laptop, using SSHD isn't usually an option. But, I'd installed Cygwin and the sshd package (which I can describe in another post). So, I can use SCP:

IR809-VZ-X045#copy scp://joeb@192.168.11.9/ir800-ioxvm.1.2.4.2-T.bin flash:
Destination filename [ir800-ioxvm.1.2.4.2-T.bin]?
Password:
Sending file modes: C0644 80196785 ir800-ioxvm.1.2.4.2-T.bin
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
...

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
80196785 bytes copied in 220.902 secs (363042 bytes/sec)

IR809-VZ-X045#guest-os 1 stop

IR809-VZ-X045#guest-os 1 image install flash:/ir800-ioxvm.1.2.4.2-T.bin verify
Verifying Guest OS image: /ir800-ioxvm.1.2.4.2-T.bin ...
Installing Guest OS image: /ir800-ioxvm.1.2.4.2-T.bin ..................................................................... Done!

IR809-VZ-X045#
*Feb  2 03:58:10.937: %IR800_INSTALL-6-SUCCESS_GOS_OPERATION: Successfully performed INSTALL operation for GOS.
IR809-VZ-X045#guest-os 1 restart
Restarting Guest OS ...... Done!

Linux takes a long time to boot on an IR809... so let's watch it:

IR809-VZ-X045#telnet 192.168.2.1 2070
Trying 192.168.2.1, 2070 ... Open
Changing serial Searching bootorder for: HALT
drive 0x000f4c30: PCHS=2964/16/63 translation=large LCHS=741/64/63 s=2988281
drive 0x000f4c00: PCHS=1659/16/63 translation=large LCHS=829/32/63 s=1673277
Space available for UMB: c0000-ed800, f4660-f4c00
Returned 65536 bytes of ZoneHigh
e820 map has 8 items:
0: 0000000000000000 - 000000000009fc00 = 1 RAM

...

*Feb  2 04:01:24.787: %IOX-6-SOCK_MESSAGE: Received IOX_REQUEST message with opcode IOX_REQUEST_GET_TIME from IOX Client

Time to login, press enter to get the login prompt.

IR809-VZ-X045-GOS-1 login:
Poky (Yocto Project Reference Distro) 1.8 IR809-VZ-X045-GOS-1 /dev/ttyS0

IR809-VZ-X045-GOS-1 login: root
Stopping system log daemon...0
Stopping kernel log daemon...0
Starting system log daemon...0
Starting kernel log daemon...1
root@IR809-VZ-X045-GOS-1:~#

You'd think at this point that SSH into the unit would work... nope. Gotta configure it.

Now, how do I get out of SSH again? Oh yeah, Control-^, x, Enter

IR809-VZ-X045#

Keep goin' - still gotta disconnect:

IR809-VZ-X045#disc
Closing connection to 192.168.2.1 [confirm]

OK, so now let's setup SSH:

IR809-VZ-X045#iox host exec enablessh IR809-VZ-X045-GOS-1
ssh enabled successfully.

IR809-VZ-X045#iox host exec "resetpw cisco" IR809-VZ-X045-GOS-1
Password reset successfully.

IR809-VZ-X045#
*Feb  2 04:04:54.691: %IOX-6-SOCK_MESSAGE: Received IOX_REQUEST message with opcode IOX_REQUEST_AUTHENTICATION from IOX Client

Now SSH will work... make sure to use all the options:

$ ssh -p 2222 -l root IP-of-GE0

That's how it's done.

Problems

It's possible IOx still won't be accessible via SSH. You can use these commands to see if Linux is booting properly:

You can also use this command from the IOS console:

#ssh -l root 192.168.2.2

If all else fails you can restart the guest-os and access the IOx console using this command from the IOS console while it boots:

#guest-os 1 stop
#guest-os 1 start
#telnet 192.168.2.1 2070

This should give you an idea of what’s going on.