Getting Started with ENFV Access
NFV Access Release content The NFV Access 1.0 Release contains along with other items, documentation, pre-built kernels and images, a bootloader and a SDK. The directories structure is detailed below: -- documentation/ /* NFV Access documentation */ -- inteld1521/ /* artifacts for the host side */ -- deb/ /* deb packages */ -- images/ -- enea-image-virtualization-host /* precompiled artifacts for the Host release image */ -- various artifacts -- enea-image-virtualization-host-sdk /* precompiled artifacts for the Host SDK image. The SDK image contains userspace tools and kernel configurations necessary for developing, debugging and profiling applications and kernel modules */ -- various artifacts -- sdk /* NFV Access SDK for the host */ -- enea-glibc-x86_64-enea-image-virtualization-host-sdk / -corei7-64-toolchain-7.0.sh /* self-extracting archive installing cross-compilation toolchain for the host */ -- qemux86-64 /* artifacts for the guest side */ -- deb/ /* deb packages */ -- images/ -- enea-image-virtualization-guest /* precompiled artifacts for the Guest image */ -- various artifacts -- sdk /* NFV Access SDK for the guest */ -- enea-glibc-x86_64-enea-image-virtualization-guest-sdk / -core2-64-toolchain-7.0.sh /* self-extracting archive installing cross-compilation toolchain for the guest (QEMU x86-64) */ For each combination of image and target, the following set of artifacts is available: -- bzImage /* kernel image */ -- bzImage-<target>.bin /* kernel image, same as above */ -- config-<target>.config /* kernel configuration file */ -- core-image-minimal-initramfs-<target>.cpio.gz /* cpio archive of the initramfs */ -- core-image-minimal-initramfs-<target>.qemuboot.conf /* qemu config file for the initramfs image */ -- <image-name>-<target>.ext4 /* EXT4 image of the rootfs */ -- <image-name>-<target>.hddimg /* msdos filesystem containing syslinux, kernel, initrd and rootfs image */ -- <image-name>-<target>.iso /* CD .iso image */ -- <image-name>-<target>.qemuboot.conf /* qemu config file for the image */ -- <image-name>-<target>.tar.gz /* tar archive of the image */ -- <image-name>-<target>.wic /* Wic image */ -- microcode.cpio /* kernel microcode data */ -- modules-<target>.tgz /* external kernel modules */ -- ovmf.*.qcow2 /* ovmf firmware for uefi support in qemu */ -- rmc.db /* Central RMC Database */ -- systemd-bootx64.efi /* systemd-boot EFI file */ -- grub-efi-bootx64.efi /* GRUB EFI file */
Included Documention Enea NFV Access is provided with the following set of documents: Enea NFV Access Guide – A document describing the Enea NFV Access release content and how to use it, as well as benchmark results. Enea NFV Access Open Source Report – A document containing the open source and license information pertaining to packages provided with Enea NFV Access 1.0. Enea NFV Access Test Report – The document that summarizes the test results for the Enea NFV Access release. Enea NFV Access Security Report – The document that lists all security fixes included in the Enea NFV Access 1.0 release.
How to use the Prebuilt Artifacts
Booting Enea NFV Access using RAMDISK There may be use cases, especially at first target ramp-up, where the HDD/SDD has no partitions and you need to prepare the disks for boot. Booting from ramdisk can help with this task. The prerequisites needed to proceed: Enea NFV Access ext4 rootfs image - enea-image-virtualization-host-inteld1521.ext4 Enea NFV Access kernel image - bzImage BIOS has PXE boot enabled PXE/tftp server configured and connected (ethernet) to target. Copy bzImage and enea-image-virtualization-host-inteld1521.ext4.gz images to the tftpserver configured for PXE boot. Use the following as an example for the PXE configuration file: default vesamenu.c32 prompt 1 timeout 0 label el_ramfs menu label ^EneaLinux_RAMfs kernel bzImage append root=/dev/ram0 initrd=enea-image-virtualization-host-inteld1521.ext4 / ramdisk_size=1200000 console=ttyS0,115200 eralyprintk=ttyS0,115200 Restart the target. Then enter (F11) in the Boot Menu and select the Ethernet interface used for PXE boot. From the PXE Boot Menu select Enea NFV Access_RAMfs. Once the Enea NFV Access is started you can partition the HDD/SDD and install GRUB as described in in the following section.
Partitioning a new harddisk and installing GRUB The prerequisites needed: grub (grub-efi-bootx64.efi) - availalble as a pre-built artifact under inteld1521/images/enea-image-virtualization-host. e2fsprogs-mke2fs_1.43.4-r0.0_amd64.deb,/ dosfstools_4.1-r0.0_amd64.deb - available under inteld1521/deb. Proceed using the following steps: Boot target with Enea NFV Access from RAMDISK Install prerequisite packages: > dpkg -i e2fsprogs-mke2fs_1.43.4-r0.0_amd64.deb > dpkg -i dosfstools_4.1-r0.0_amd64.deb Partition the disk: > fdisk /dev/sda fdisk> g {GPT partition type} fdisk> n fdisk> 1 fdisk> {default start part} fdisk> +512M fdisk> t fdisk> 1 {ESP/EFI partition} fdisk> n fdisk> 2 fdisk> {default start part} fdisk> +18G fdisk> 3 fdisk> {default start part} fdisk> +20G ... fdisk> 7 fdisk> {default start part} fdisk> {default end end part} fdisk> p {print partion table} fdisk> w {write to disk} fdisk> q Format the partitions: > mkfs.fat -F32 -nEFI /dev/sda1 > mkfs.ext4 -LROOT /dev/sda2 > mkfs.ext4 -LROOT /dev/sda3 > mkfs.ext4 -LROOT /dev/sda4 > mkfs.ext4 -LROOT /dev/sda5 > mkfs.ext4 -LROOT /dev/sda6 > mkfs.ext4 -LROOT /dev/sda7 Create a GRUB partition: > mkdir /mnt/boot > mount /dev/sda1 /mnt/boot > mkdir -p /mnt/boot/EFI/boot > cp grub-efi-bootx64.efi /mnt/boot/EFI/boot/bootx64.efi > vi /mnt/boot/EFI/boot/grub.cfg default=1 menuentry "Linux Reference Image" { linux (hd0,gpt2)/boot/bzImage root=/dev/sda2 ip=dhcp } menuentry "Linux sda3" { linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp } menuentry "Linux sda4" { linux (hd0,gpt4)/boot/bzImage root=/dev/sda4 ip=dhcp } menuentry "Linux sda5" { linux (hd0,gpt5)/boot/bzImage root=/dev/sda5 ip=dhcp } menuentry "Linux sda6" { linux (hd0,gpt6)/boot/bzImage root=/dev/sda6 ip=dhcp } menuentry "Linux sda7" { linux (hd0,gpt7)/boot/bzImage root=/dev/sda7 ip=dhcp }
Installing and booting Enea NFV Access on the harddisk After partitioning the harddisk, boot Enea NFV Access from RAMFS or from a reference image installed on one of the partitions. To install Enea NFV Access image on a partition follow these steps: Copy your image on target: server> scp ./enea-image-virtualization-host-inteld1521.tar.gz / root@<target_ip>:/home/root/ Extract image onto the desired partition: target> mount /dev/sda3 /mnt/sda target> tar -pzxf /home/root/enea-image-virtualization-host-inteld1521.tar.gz / -C /mnt/sda Alternately, you can do both steps in one command from the server: server> cat ./enea-image-virtualization-host-inteld1521.tar.gz | / ssh root@<target_ip> "cd /mnt/sda6; tar -zxf -" Reboot From the GRUB menu select your partition In order to change kernel boot parameters you need to mount the GRUB partition (i.e. /dev/sda1) and change the EFI/boot/grub.cfg file.