mirror of
https://github.com/vyos/vyos-build.git
synced 2025-10-01 20:28:40 +02:00
Merge pull request #847 from dmbaturin/T6915-flavor-cleanup
build-flavors: T6915: clean up flavor definitions
This commit is contained in:
commit
2ef1e83db2
@ -1,76 +0,0 @@
|
||||
# VyOS build flavors
|
||||
|
||||
VyOS supports multiple different hardware and virtual platforms.
|
||||
Those platforms often need custom packages and may require custom
|
||||
configs. To make maintenance of existing flavors simpler
|
||||
and to allow everyone to make and maintain their own flavors,
|
||||
the build scripts support storing flavor configuration in [TOML](https://toml.io) files.
|
||||
|
||||
Flavor files must be in `data/build-flavors`. Here's an example:
|
||||
|
||||
```toml
|
||||
# Generic (aka "universal") ISO image
|
||||
|
||||
image_format = "iso"
|
||||
|
||||
# Include these packages in the image regardless of the architecture
|
||||
packages = [
|
||||
# QEMU and Xen guest tools exist for multiple architectures
|
||||
"qemu-guest-agent",
|
||||
"vyos-xe-guest-utilities",
|
||||
]
|
||||
|
||||
[architectures.amd64]
|
||||
# Hyper-V and VMware guest tools are x86-only
|
||||
packages = ["hyperv-daemons", "vyos-1x-vmware"]
|
||||
```
|
||||
|
||||
## Image format
|
||||
|
||||
The `image_format` option specifies the default format to build.
|
||||
|
||||
```toml
|
||||
image_format = "iso"
|
||||
```
|
||||
|
||||
**Note:** currently, ISO is the only supported format,
|
||||
support for different flavors is in progress.
|
||||
|
||||
## Including custom packages
|
||||
|
||||
If you want the build scripts to include custom packages from repositories
|
||||
in the image, you can list them in the `packages` field.
|
||||
|
||||
For example, this is how to include the GNU Hello package:
|
||||
|
||||
```toml
|
||||
packages = ['hello']
|
||||
```
|
||||
|
||||
It's possible to include packages only in images with certain build architectures
|
||||
by placing them in a subtable.
|
||||
|
||||
If you want to include GNU Hello only in AMD64 images, do this:
|
||||
|
||||
```toml
|
||||
[architectures.amd64]
|
||||
packages = ['hello']
|
||||
```
|
||||
|
||||
## Including custom files
|
||||
|
||||
You can include files inside the SquashFS filesystem by adding entries
|
||||
to the `includes_chroot` array.
|
||||
|
||||
```toml
|
||||
[[includes_chroot]]
|
||||
path = "etc/question.txt"
|
||||
data = '''
|
||||
Can you guess how this file ended up in the image?
|
||||
'''
|
||||
|
||||
path = "etc/answer.txt"
|
||||
data = '''
|
||||
It was in the flavor file!
|
||||
'''
|
||||
```
|
||||
@ -1,3 +0,0 @@
|
||||
image_format = "iso"
|
||||
|
||||
packages = ["amazon-cloudwatch-agent"]
|
||||
@ -1,5 +0,0 @@
|
||||
image_format = "iso"
|
||||
|
||||
packages = ["waagent"]
|
||||
|
||||
|
||||
@ -1,116 +0,0 @@
|
||||
# ISO image for Dell VEP4600 devices
|
||||
|
||||
image_format = "iso"
|
||||
|
||||
# Replace built-in NIC naming rules with empty files
|
||||
# to prevent them from taking any effect
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "lib/systemd/network/99-default.link"
|
||||
data = ''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "lib/udev/rules.d/65-vyatta-net.rules"
|
||||
data = ''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "lib/udev/rules.d/75-persistent-net-generator.rules"
|
||||
data = ''
|
||||
|
||||
# Install platform-specific link files
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth0-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:05:00.1
|
||||
Driver=ixgbe
|
||||
|
||||
[Link]
|
||||
Name=eth0
|
||||
Alias=SFP+1
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth1-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:05:00.0
|
||||
Driver=ixgbe
|
||||
|
||||
[Link]
|
||||
Name=eth1
|
||||
Alias=SFP+2
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth2-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:02:00.2
|
||||
Driver=igb
|
||||
|
||||
[Link]
|
||||
Name=eth2
|
||||
Alias=GE1
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth3-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:02:00.3
|
||||
Driver=igb
|
||||
|
||||
[Link]
|
||||
Name=eth3
|
||||
Alias=GE2
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth4-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:02:00.0
|
||||
Driver=igb
|
||||
|
||||
[Link]
|
||||
Name=eth4
|
||||
Alias=GE3
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth5-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:02:00.1
|
||||
Driver=igb
|
||||
|
||||
[Link]
|
||||
Name=eth5
|
||||
Alias=GE4
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth6-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:07:00.1
|
||||
Driver=ixgbe
|
||||
|
||||
[Link]
|
||||
Name=eth6
|
||||
Alias=GE5
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth7-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:07:00.0
|
||||
Driver=ixgbe
|
||||
|
||||
[Link]
|
||||
Name=eth7
|
||||
Alias=GE6
|
||||
'''
|
||||
@ -1,267 +0,0 @@
|
||||
# ISO image for Dell VEP4600 devices
|
||||
|
||||
image_format = "iso"
|
||||
|
||||
# Replace built-in NIC naming rules with empty files
|
||||
# to prevent them from taking any effect
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "lib/systemd/network/99-default.link"
|
||||
data = ''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "lib/udev/rules.d/65-vyatta-net.rules"
|
||||
data = ''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "lib/udev/rules.d/75-persistent-net-generator.rules"
|
||||
data = ''
|
||||
|
||||
# Install platform-specific link files
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth0-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:04:00.0
|
||||
Driver=igb
|
||||
|
||||
[Link]
|
||||
Name=eth0
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth0-001.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:05:00.0
|
||||
Driver=igb
|
||||
|
||||
[Link]
|
||||
Name=eth0
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth10-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:65:00.3
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=eth10
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth1-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:b8:00.0
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=eth1
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth1-001.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:b6:00.0
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=eth1
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth11-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:17:00.0
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=eth11
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth12-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:17:00.1
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=eth12
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth13-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:17:00.2
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=eth13
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth14-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:17:00.3
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=eth14
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth2-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:b8:00.1
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=eth2
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth2-001.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:b6:00.1
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=eth2
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth3-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:02:00.1
|
||||
Driver=igb
|
||||
|
||||
[Link]
|
||||
Name=eth3
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth4-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:02:00.0
|
||||
Driver=igb
|
||||
|
||||
[Link]
|
||||
Name=eth4
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth5-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:02:00.3
|
||||
Driver=igb
|
||||
|
||||
[Link]
|
||||
Name=eth5
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth6-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:02:00.2
|
||||
Driver=igb
|
||||
|
||||
[Link]
|
||||
Name=eth6
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth7-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:65:00.0
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=eth7
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth8-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:65:00.1
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=eth8
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-eth9-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:65:00.2
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=eth9
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-unused0-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:b8:00.2
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=unused0
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-unused0-001.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:b6:00.2
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=unused0
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-unused1-000.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:b8:00.3
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=unused1
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/10-unused1-001.link"
|
||||
data = '''
|
||||
[Match]
|
||||
Path=pci-0000:b6:00.3
|
||||
Driver=i40e
|
||||
|
||||
[Link]
|
||||
Name=unused1
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "etc/systemd/network/99-default.link"
|
||||
data = '''
|
||||
'''
|
||||
@ -1,46 +0,0 @@
|
||||
# ISO image for EdgeCore routers
|
||||
|
||||
image_format = "iso"
|
||||
|
||||
# udev rules for correct ordering of onboard NICs
|
||||
[[includes_chroot]]
|
||||
path = "lib/udev/rules.d/64-vyos-SAF51015I-net.rules"
|
||||
data = '''
|
||||
ATTR{[dmi/id]board_name}!="SAF51015I-0318-EC", GOTO="end_ec_nic"
|
||||
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:02:00.0", ENV{VYOS_IFNAME}="eth1"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:03:00.0", ENV{VYOS_IFNAME}="eth2"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:04:00.0", ENV{VYOS_IFNAME}="eth3"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:05:00.0", ENV{VYOS_IFNAME}="eth4"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:06:00.0", ENV{VYOS_IFNAME}="eth5"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:06:00.1", ENV{VYOS_IFNAME}="eth6"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:06:00.2", ENV{VYOS_IFNAME}="eth7"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:06:00.3", ENV{VYOS_IFNAME}="eth8"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:0a:00.0", ENV{VYOS_IFNAME}="eth9"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:0a:00.1", ENV{VYOS_IFNAME}="eth10"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:0b:00.0", ENV{VYOS_IFNAME}="eth11"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:0b:00.1", ENV{VYOS_IFNAME}="eth12"
|
||||
|
||||
LABEL="end_ec_nic"
|
||||
|
||||
'''
|
||||
|
||||
[[includes_chroot]]
|
||||
path = "lib/udev/rules.d/64-vyos-SAF51003I-net.rules"
|
||||
data = '''
|
||||
ATTR{[dmi/id]board_name}!="SAF51003I", GOTO="end_ec_nic"
|
||||
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:02:00.0", ENV{VYOS_IFNAME}="eth1", ATTR{ifalias}="LAN1"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:02:00.1", ENV{VYOS_IFNAME}="eth2", ATTR{ifalias}="LAN2"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:02:00.2", ENV{VYOS_IFNAME}="eth3", ATTR{ifalias}="LAN3"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:02:00.3", ENV{VYOS_IFNAME}="eth4", ATTR{ifalias}="LAN4"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:05:00.0", ENV{VYOS_IFNAME}="eth5", ATTR{ifalias}="LAN5"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:05:00.1", ENV{VYOS_IFNAME}="eth6", ATTR{ifalias}="LAN6"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:05:00.2", ENV{VYOS_IFNAME}="eth7", ATTR{ifalias}="LAN7"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:05:00.3", ENV{VYOS_IFNAME}="eth8", ATTR{ifalias}="LAN8"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:08:00.0", ENV{VYOS_IFNAME}="eth9", ATTR{ifalias}="DMZ"
|
||||
ACTION=="add", SUBSYSTEM=="net", KERNELS=="0000:08:00.1", ENV{VYOS_IFNAME}="eth10", ATTR{ifalias}="WAN"
|
||||
|
||||
LABEL="end_ec_nic"
|
||||
|
||||
'''
|
||||
Loading…
x
Reference in New Issue
Block a user