This section describes requirements and general guidelines to follow when porting ONIE to a new platform. Also, the Unit Testing guide must be used to validate the ONIE implementation.
When porting U-Boot, the following items should be checked and verified:
When porting the ONIE kernel the following .dts
(device tree) entries
should be checked and verified:
.dts
file and works correctly..dts
..dts
.sysfs
using
hexdump
. Set the “label” property accordingly:dmesg
output, looking for any errors or
anything unusual.cat /proc/interrupts
– are the expected interrupts
enabled?iorw
command. Can you read a version register?onie-nos-install <demo NOS installer URL>
command works from
rescue mode.onie-self-update <ONIE updater URL>
command works from
rescue mode.machine.make
¶The machine.make
Makefile fragment defines a number of aspects
about the machine. Some of the configuration parameters are required,
while others have reasonable defaults.
The required parameters:
Parameter | Meaning |
---|---|
ONIE_ARCH | CPU architecture for the machine type: x86_64, armv7a, powerpc-softfloat |
VENDOR_REV | Machine hardware revision. “0” is a good choice for a machine |
SWITCH_ASIC_VENDOR | used to further differentiate the platform in the ONIE waterfall. This string should be the stock ticker symbol of the ASIC vendor, in lower case. |
VENDOR_ID | Vendor ID – IANA Private Enterprise Number: http://www.iana.org/assignments/enterprise-numbers |
Optional Parameters:
Parameter | Meaning | Default |
---|---|---|
FIRMWARE_UPDATE_ENABLE | Build a vendor supplied firmware update | no |
CONSOLE_SPEED | Serial console baud rate | 115200 |
SERIAL_CONSOLE_ENABLE | Use serial line for console output, otherwise use VGA | yes |
CONSOLE_DEV | serial TTY instance to use for console | ttyS0 |
EXTRA_CMDLINE_LINUX | Extra kernel command line parameters to pass to the ONIE Linux kenrel | none |
RECOVERY_DEFAULT_ENTRY | Default menu option when booting a recovery image (rescue or embed) | rescue |
SKIP_ETHMGMT_MACS | Should ONIE skip programming the Ethernet management interface MAC addresses? | no |
VENDOR_VERSION | Optional string to append to the ONIE version string | empty |
Optional Utilities and Features to Include:
Utility / Feature | Meaning | Default |
---|---|---|
MTDUTILS_ENABLE | MTD flash utilities | yes, for U-Boot platforms |
GPT_ENABLE | GUID Partition Table (GPT) disk partitions | yes |
LVM2_ENABLE | Logical Volume Manager support | yes |
PARTED_ENABLE | parted disk partitioning tool | yes |
GRUB_ENABLE | GRUB boot loader support | yes, for x86_64 platforms |
UEFI_ENABLE | Build ONIE for a UEFI machine | no |
I2CTOOLS_ENABLE | I2C peek/poke utilites | yes |
DMIDECODE_ENABLE | dmidecode (SMBIOS information) utility | yes, for x86_64 platforms |
ETHTOOL_ENABLE | ethtool utility | yes |
ACPI_ENABLE | Support for ACPI and related utilities | yes, for x86_64 platforms |
KEXEC_ENABLE | kexec utility | yes |
FLASHROM_ENABLE | flashrom BIOS programming utility | yes, for x86_64 platforms |
IPMITOOL_ENABLE | IPMI utility | no |