Skip to content

Commit

Permalink
Added VyOS
Browse files Browse the repository at this point in the history
++ node-definition/vyos/README.md
++ node-definition/vyos/VyOS-Router.yaml
++ virl-base-images/vyos/VyOS-1.5-rolling-XXX
++ virl-base-images/vyos/proxmox-instructions.md
++ virl-base-images/vyos/virt-install-instructions.md
  • Loading branch information
conceptual-perception committed Sep 23, 2024
1 parent 2859419 commit 2a7513c
Show file tree
Hide file tree
Showing 6 changed files with 393 additions and 1 deletion.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,5 @@ This project was written and is maintained by the following individuals:
* Ozzy Schoonover <[email protected]>
* Alexander Deca <[email protected]>
* Xinyu Wei <[email protected]>
* Kelly Christians <[email protected]>
* Kelly Christians <[email protected]>
* Ariadne Haske <[email protected]>
5 changes: 5 additions & 0 deletions node-definitions/vyos/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# VyOS

[Download](https://vyos.net/get/nightly-builds/) a nightly `.iso` image.

Instructions on how to make the `.qcow2` from an `.iso` are in the [`image-definitions/vyos`](image-definitions/vyos) folder.
55 changes: 55 additions & 0 deletions node-definitions/vyos/VyOS-Router.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
id: VyOS-Router
general:
nature: router
description: |-
Opensource Router and Firewall Platform
https://docs.vyos.io/
read_only: false
device:
interfaces:
has_loopback_zero: true
physical:
- eth0
- eth1
- eth2
- eth3
- eth4
- eth5
serial_ports: 1
default_count: 6
loopback:
- lo
ui:
visible: true
label_prefix: vyos-
icon: router
label: VyOS
sim:
linux_native:
libvirt_domain_driver: kvm
driver: server
disk_driver: sata
ram: 512
cpus: 1
cpu_limit: 100
nic_driver: virtio
boot:
timeout: 60
uses_regex: false
inherited:
image:
ram: true
cpus: true
cpu_limit: true
data_volume: true
boot_disk_size: true
node:
ram: true
cpus: true
cpu_limit: true
data_volume: true
boot_disk_size: true
configuration:
generator:
driver: null
schema_version: 0.0.1
8 changes: 8 additions & 0 deletions virl-base-images/vyos/VyOS-1.5-rolling-202409200006.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
id: VyOS-1.5-rolling-202409200006
node_definition_id: VyOS-Router
description: VyOS-1.5-rolling-202409200006
label: VyOS-1.5-rolling-202409200006
disk_image: vyos-1.5-rolling-202409200006.qcow2
read_only: false
disk_subfolder: VyOS-1.5-rolling-202409200006
schema_version: 0.0.1
77 changes: 77 additions & 0 deletions virl-base-images/vyos/proxmox-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
This works for CML v2.7.2.

### 1. Get an image

VyOS free images are [nightly](https://vyos.net/get/nightly-builds/) builds, packaged as `.iso` files.

These require installation onto a virtual machine.

### 2. Prepare the VM

This install is Proxmox VE, but other hypervisors should work.

I used the GUI and attached the above `.iso` onto a cd-rom.

Settings used:

| Option | Value |
| ---- | ---- |
| Type | Linux |
| Version | 6.x - 2.6 Kernel |
| Machine | Default (i440fx) |
| vCPU | 1 |
| Memory | 1024 MB |
| Hard Disk | 2GB Virtio Block |
| Network Device | Virtio |

### 3. Booting the VM

When it boots, the credentials are `vyos` / `vyos`

### 4. Installing the VM

To install VyOS to the hard disk, type:

`install image`

This is mostly defaults except the config file for boot is `/opt/vyatta/etc/config.boot.default`

<pre>
Would you like to continue? y
What would you like to name this image? ENTER
Please enter a password for the vyos user: vyos
Please enter a password for the vyos user: vyos
What console should be used by default? (K: KVM, S: Serial?) ENTER
Which one should be used for installation (Default :/dev/vda) ENTER
Would you like to use all the free space on the drive [Y/n] Y
Which file would you like as boot config? (Default: 1) 2
</pre>

Power off the VM.

### 5. QCOW2

Proxmox puts hard disks into `/var/lib/vz/images/<vm-id>`

Get the VM ID if needed
```
root@proxmox-host:/var/lib/vz/images/103# qm list
VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID
103 VyOS running 2048 2.00 265237
```

Find the file
```
root@proxmox-host:/var/lib/vz/images/103# ls
vm-103-disk-0.qcow2
```

Copy to `/tmp`
```
root@proxmox-host:/var/lib/vz/images/103# cp vm-103-disk-0.qcow2 /tmp/
```

Compress the qcow2 ... this takes the file from 2GB to 500MB. This image has the name of the .ISO to distinguish the version
```
root@proxmox-host:/tmp# qemu-img convert -c -O qcow2 /tmp/vm-103-disk-0.qcow2 /tmp/vyos-1.5-vyos-1.5-rolling-202409200006.qcow2
```
Loading

0 comments on commit 2a7513c

Please sign in to comment.