wiki:AlcaLuVMInstall

Installing an Emulated Alcatel-Lucent on Ubuntu/libvirt

With much help from Alastair Johnson of AlcaLu.

I installed the sros image as a libvirt image on a system already running libvert.

Creating a livirt xml File

I hacked together this xml definition for the VM

vm0.iad.rg.net:/root# cat alcalu0.xml
<domain type='kvm' id='17'>
  <name>alcalu0.rpki.net</name>
  <uuid>01e79522-5f9b-4fcc-bc9e-768051158606</uuid>
  <memory>4194304</memory>
  <currentMemory>4194304</currentMemory>
  <vcpu>1</vcpu>
  <sysinfo type='smbios'>
    <system>
      <entry name='product'>TiMOS: address=198.180.150.13/24@active static-route=0.0.0.0/1@198.180.150.126 static-route=128.0.0.0/1@198.180.150.126 license-file=cf3:/timos.pie.b80.txt</entry>
    </system>
  </sysinfo>
  <os>
    <type arch='x86_64' machine='pc-1.0'>hvm</type>
    <boot dev='hd'/>
    <smbios mode='sysinfo'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu>
  </cpu>
  <clock offset='utc'>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='rtc' tickpolicy='delay'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/store/images/alcalu0.rpki.net.qcow2'/>
      <target dev='hda' bus='ide'/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
    <controller type='ide' index='0'>
      <alias name='ide0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='usb' index='0'>
      <alias name='usb0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='fa:ac:a6:01:0a:00'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <interface type='bridge'>
      <mac address='fa:ac:a6:01:0a:01'/>
      <source bridge='br0'/>
      <target dev='vnet1'/>
      <model type='virtio'/>
      <alias name='net1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/3'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/3'>
      <source path='/dev/pts/3'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5942' autoport='no' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='apparmor' relabel='yes'>
    <label>libvirt-01e79522-5f9b-4fcc-bc9e-768051158606</label>
    <imagelabel>libvirt-01e79522-5f9b-4fcc-bc9e-768051158606</imagelabel>
  </seclabel>
</domain>

Starting the VM

Then it was time to start the VM

virsh start alcalu0.rpki.net

And then go to the console

virsh console alcalu0.rpki.net

It was pingable, but the console showed horrible response, like a minute to log in, despite

vm0.iad.rg.net:/root# uptime
 11:57:49 up 129 days, 17:34,  2 users,  load average: 0.74, 0.91, 0.98

Password Configuration

I did not create user names yet, but changing the password seemed critical

A:vRR# password 
Enter current password: 
Enter new password: 
Re-enter new password: 

System Name

A:vRR# configure system name alcalu0 
*A:alcalu0# configure system contact "Randy Bush <randy@psg.com>"
*A:alcalu0# admin save 
Writing configuration to cf3:\config.cfg
Saving configuration ... OK
Completed.

Set Up IPv4 Basic Addressing, DNS, …

IPv4 addressing and default routes were in the xml file used to create the image.

For DNS you at least need a primary server

A:alcalu0# bof primary-dns 198.180.150.8 
*A:alcalu0# bof save 
Writing BOF to cf3:/bof.cfg ... OK
Completed.

SSH Needs a Bit of Tweaking

A:alcalu0# show system security ssh 

===============================================================================
SSH Server
===============================================================================
Administrative State      : Enabled
Operational State         : Up
Preserve Key              : Disabled
 
SSH Protocol Version 1    : Disabled
 
SSH Protocol Version 2    : Enabled
DSA Host Key Fingerprint  : 42:cc:bf:29:5f:11:5e:ab:20:3b:82:f5:2e:8d:72:77
RSA Host Key Fingerprint  : e9:6f:fd:93:d3:88:80:d0:e6:1f:62:88:8a:36:e5:52

-------------------------------------------------------------------------------
Connection                                Username             
    Version Cipher                        ServerName  Status
-------------------------------------------------------------------------------
No entries found
===============================================================================
A:alcalu0# configure system security ssh preserve-key 
*A:alcalu0# configure system security ssh no server-shutdown 
*A:alcalu0# configure system login-control idle-timeout disable 
*A:alcalu0# admin save 

At this point, I could ssh in and not have to deal with the broken console issue.

License File

I whacked in the license file by

A:alcalu0# file vi cf3:/timos.pie.b80.txt

and pasting in the file content.

Then tell the system where the file is

A:alcalu0# bof license-file cf3:/timos.pie.b80.txt 
*A:alcalu0# bof save 
Writing BOF to cf3:/bof.cfg ... OK
Completed.
Last modified 5 years ago Last modified on Sep 19, 2014, 6:31:27 AM