Saturday, January 21, 2017

Baremetal Installation of EVE on Dell PowerEdge 2970

This is how I could install Emulated Virtual Environment (EVE) on a dedicated (baremetal) server.
Hope this will be helpful for networkers who are going to simulate larger networking labs. 

After configuring RAID Arrays for the server you can begin the installation process. If you don't know how to configure RAIDs please read Making Logical Disks from Physical Hard Disks (Configuring RAID Controller)
I also wrote a post few days ago explaining how I installed UNetLab (the predecessor of EVE) on the same Dell server. You can go to that post from here.

My Server Info:
Model : Dell PowerEdge 2970
CPUs : 2 x Dual-Core AMD Opteron™ 2222SE
RAM: 32 GB
Hard Disks: (4x600GB) + (4x73GB) configured as 1.2 TB + 145.5 GB logical hard disks by RAID

Installing Ubuntu 16.04

First of all you need to install Ubuntu server 16.04 64-bit Server. You can download it from here.After downloading the image; create a bootable image with Rufus (download Rufus)

It will ask for this, select ISO image mode and hit ok.

After the bootable USB is ready, plug it to the server and boot it up.

Select Install Ubuntu Server.
From here it will be an easy to understand GUI.
It is better if the server is connected to a DHCP server and the server must have the reach-ability to internet.

(click on the images to view in full size)

When it asks for the host name, give the desired name for your machine. Ex: eve-ng

Use "Guided - use entire disk and setup LVM" in partitions. it will save you some time..

For software selection, choose "OpenSSH Server". I chose "Virtual Machine Host" additionally..

Then it will ask to install Grub boot loader and will ask to reboot.. Continue with the procedure and wait till it comes up with login prompt.. You can SSH to it now too.

Configuring Ubuntu for EVE

Login from your username

Enter following commands to get privilaged access
sudo su

Enter your user password

Enter following commands to setup a root password
passwd root

Enter following commands to edit sshd_config file to allow access to use root user ssh
nano /etc/ssh/sshd_config

Change this line:
PermitRootLogin without-password
PermitRootLogin yes
and save and exit..

now restart the SSH server:
service ssh restart

Now enter following 2 commands to rename the network interface names and update the grub
sed -i -e 's/GRUB_CMDLINE_LINUX=""/GRUB_CMDLINE_LINUX="net.ifnames=0"/'  /etc/default/grub


Now reboot the server. If you could ping the DHCP ip address after reboot, your network drivers configuration is ok. But for me, it was not ok.. The problem was after the reboot, my Ethernet driver was missing. So I had to install it manually offline.

Install The Network Driver

My firmware was firmware-bnx2_20161130-2_all.deb
I downloaded it to my pen drive and plugged in again to the server. This is how I did it..

Log into the machine as root & enter mkdir /media/usb to create a mount point called usb..

Enter fdisk -l to look for the USB drive already plugged in..

You can see from the last line that the name of the USB drive is sdc1.

To mount a USB drive formatted with FAT16 or FAT32 system, enter:
mount -t vfat /dev/sdc1 /media/usb -o uid=1000,gid=100,utf8,dmask=027,fmask=137

OR, To mount a USB drive formatted with NTFS system, enter:
mount -t ntfs-3g /dev/sdc1 /media/usb

Now browse to the directory..
cd /media/usb

Enter the following command to install the package..
dpkg -i DEB_PACKAGE firmware-bnx2_20161130-2_all.deb

Now it's the time to change the interface names manually..
nano /etc/network/interfaces

You will have to change the eno1 to eth0 like the following lines

After save and exit, reboot the server and log again..

Install & Configure EVE

Enter the following commands in order to download and install EVE

wget -O - | sudo apt-key add -

apt-get update

add-apt-repository "deb [arch=amd64] xenial main"

apt-get update

DEBIAN_FRONTEND=noninteractive apt-get -y install eve-ng

Now it's the time to answer the questions..
Enter the following command..
su -

Give a password of your own..
Give the host name as eve-ng
Give the domain name as eve.lab
Give static IP, subnet mask, gateways.. Leave NTP blank..
Select direct connection and after the final question it will reboot..

After the reboot, you will be able to access EVE through a web browser using the static IP you gave..

Note:- This will install a clean installation of EVE with no images. You will have to upload images from UNL. After you uploaded images enter following command in terminal to give permissions to get them work properly..
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

8 comments to “Baremetal Installation of EVE on Dell PowerEdge 2970”

  • June 6, 2017 at 1:02 AM
    George says:

    Hello Roshan, nice blog!

    Wondering if you can dual boot eve-ng (bare-metal) along with a windows 10?

  • July 7, 2017 at 5:00 PM
    Anonymous says:

    Hi Roshan,

    I was wondering, how can I install network types, (pnet0,1,2... or cloud1,2,3 so I can have multiple virtual NIC interfaces in eve using your baremetal installation steps?

  • September 10, 2017 at 12:46 PM

    I am using Dell PowerEdge T310 with Broadcom Xtreme network drivers but no luck after i tried to use the dpkg DEB_PACKAGES firmware command, any suggesting wll be appreciated.
    Thank you

  • September 16, 2017 at 8:12 PM
    Anonymous says:

    Which folder do I upload my images to.

  • November 30, 2017 at 12:40 AM

    Tks a lot for your post!! It´s help me so much.

  • January 17, 2018 at 11:30 AM
    Anonymous says:

    For ryzen/AM4 socket motherboards, ensure you upgrade your kernel to 4.10 as per this link

    Ubuntu 16.04.3 comes with 4.4. with gives a kernel error. so before you begin with the eve part of installation, upgrade your kernel. I made it work with 4.13 kernel version.

  • February 11, 2018 at 5:49 AM

    hello! please help me as i'm stuck with an error:

    The following packages have unmet dependencies:
    eve-ng : PreDepends: eve-ng-guacamole (>= 2.0.3-69) but it is not going to be installed
    Depends: eve-ng-guacamole but it is not going to be installed
    Depends: eve-ng-qemu (>= 2.0.3-72) but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.


  • March 17, 2018 at 11:56 PM
    Unknown says:

    sir... I am trying to get several interfaces running in eve..I have the MGMT0 cloud working, but what are the requiremetns for the other interfaces?
    The mgmt0 is on an access port with my mgmt vlan on it. I need to do server and dmvpn vlans' it a requirement for each of the virtual interfaces to be associated with a physical interface?


Post a Comment