# Network interface eth0 does not exist

## scattell

I am trying to install gentoo for the first time. I followed the installation guide to the letter but keep getting the following error whenever I try "/etc/init.d/net.eth0 start"

```

 Starting eth0

   Bringing up eth0

     dhcp

       network interface eth0 does not exist

       Please verify hardware or kernel module (driver)

```

After googling the error I found that it is most commonly caused by a missing driver. I followed the mini guides online and ran lspci to figure out the driver I needed. I have no idea what is wrong so I am going to give you the whole output.

```

00:00.0 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge

00:00.1 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge

00:00.2 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge

00:00.3 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge

00:00.4 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge

00:00.7 Host bridge: VIA Technologies, Inc. K8T800Pro Host Bridge

00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI bridge [K8T800/K8T890 South]

00:07.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev 80)

00:08.0 RAID bus controller: Promise Technology, Inc. PDC20378 (FastTrak 378/SATA 378) (rev 02)

00:0a.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller (rev 13)

00:0d.0 Ethernet controller: Atheros Communications Inc. Atheros AR5001X+ Wireless Network Adapter (rev 01)

00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)

00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)

00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)

00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]

00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)

00:11.6 Communication controller: VIA Technologies, Inc. AC'97 Modem Controller (rev 80)

00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration

00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map

00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller

00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control

01:00.0 VGA compatible controller: ATI Technologies Inc RV350 AR [Radeon 9600]

01:00.1 Display controller: ATI Technologies Inc RV350 AR [Radeon 9600] (Secondary)

```

So, with some more googling, I figured I needed either the sk98lin (which I patched in) or skge options in the kernel, so I did all permutations of these two options. I can post the config file for my kernel and the modules loaded by the live cd if need be.

I keep getting the error. dmesg | grep eth? produces nothing. I did not edit /etc/conf.d/net (do I have to? I want to use dhcp). And ifconfig just has the loop back entry. Am I not loading a kernel module or is it something else? I have been at this for 2 days now.

----------

## lmnopram

 *Quote:*   

> 00:0a.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller (rev 13) 

 

Pretty sure I run the same chipset HW as you on one of my boxes. I use SKGE. You shouldn't need to compile it as a module.. If you did you can add it to /etc/modules.autoload.d/kernel-2.6

If you don't specify anything in /etc/conf.d/net your physical NICs are started automatically and configured for DHCP using whatever DHCP software you installed (if any). The setting for auto loading NICs can be changed in /etc/conf.d/rc but I'm guessing you didn't.

----------

## DONAHUE

changing these entries in menucconfig and recompiling and recopying the kernel (ensure /boot is mounted for the copying) should provide drivers for wired and wireless NICs:

 *Quote:*   

> [*] Networking support  --->
> 
> -*-   Wireless  --->
> 
> <*>   cfg80211 - wireless configuration API
> ...

 

----------

## scattell

I have that selected, the "New SysKonnect GigaEthernet support" one under "Ethernet (1000 Mbit)" compiled into the kernel and the Ethernet still does not work.

----------

## DONAHUE

run 

```
ifconfig -a
```

what interfaces are listed?

run 

```
emerge -s dhcpcd
```

does it show installed?

----------

## scattell

ifconfig -a produces 2 results: lo and sit0 (never seen the sit0 before though). dhcpcd is installed.

----------

## DONAHUE

boot the cd and run

```
 lspci -k
```

 what is the "Driver in use:" for the two ethernet controller listings?

mount the gentoo partitions, run 

```
ls -l /boot
```

 What is the date time of the kernel listing?

```
grep -i 2010 /mnt/gentoo/usr/src/linux/.config
```

 What is the date time of the kernel?

```
grep -i ext2 /mnt/gentoo/usr/src/linux/.config
```

 Does "CONFIG_EXT2_FS=y" appear?

----------

## scattell

The two ethernet controller drivers are skge and ath5k.

The  "ls -l /boot" provides 1 line

lrwxrwxrwx 1 root root 16 Jul 17 05:08 /boot -> /mnt/livecd/boot

The date time of the kernel is jul 16 2010

Config ext2_fs is not set. Should I?

----------

## DONAHUE

my typo

ls -l /boot should have been 

```
ls -l /mnt/gentoo/boot
```

 for the cd with partitions mounted.

Without support for the /boot filesystem built into the kernel the only way to copy a kernel to /boot is to use the cd and enter the chroot (or equivalent).

It appears that the new kernel was copied to the / partition (nominally /dev/sda3) vice the /boot (nominally /dev/sda1) partition.

Boot the cd, mount the gentoo partitions, enter the chroot, reconfigure, recompile, and recopy the kernel (using nominal device names, use your partition device names if different) 

```
mount /dev/sda3 /mnt/gentoo

mount /dev/sda1 /mnt/gentoo/boot

mount -t proc none /mnt/gentoo/proc

mount -o bind /dev /mnt/gentoo/dev

chroot /mnt/gentoo /bin/bash

env-update

source /etc/profile

export PS1="(chroot) $PS1"

cd /usr/src/linux

make menuconfig

```

Edit the config to include, you should have most of this already.

 *Quote:*   

> [*] Networking support ---> 
> 
> -*- Wireless ---> 
> 
> <*> cfg80211 - wireless configuration API 
> ...

 

```
df -h #verify that /dev/sda1 is mounted at /boot

make && make modules_install

cp arch/x86/boot/bzImage /boot/<your kernel name>

exit

reboot
```

----------

## scattell

Thank you very much. I feel like an idiot for missing the ext2 filesystem.

----------

## DONAHUE

ext2 used to be in the default config.

the upstream kernel dev changed and did not use it on his machine so it vanished.

----------

## Pleirosei

Hello everyone, I am getting this same error.  I have been asking around on mirc, checked out numerous topics regarding this issue, and I am still having this dhcp problem.   I returned to the point of the handbook to configure this for my system, i am now able to get output from lspci, so it is definitely being recognized, but for some reason still is not starting at boot up.  So i have two questions: can I manually start dhcp, and two, how do I fix this issue?

Thx

----------

## DONAHUE

boot cd, mount gentoo partitions, enter the chroot, nominally:

```
mount /dev/sda3 /mnt/gentoo

mount /dev/sda1 /mnt/gentoo/boot

mount -t proc none /mnt/gentoo/proc

mount -o bind /dev /mnt/gentoo/dev

chroot /mnt/gentoo /bin/bash

env-update

source /etc/profile

export PS1="(chroot) $PS1"

emerge wgetpaste pciutils

lspci -k | wgetpaste

ifconfig | wgetpaste

ifconfig -a | wgetpaste

ls -l /etc/init.d/net* | wgetpaste

/etc/init.d/net.eth0 restart | wgetpaste

wgetpaste /etc/conf.d/net
```

post the urls returned

----------

## Pleirosei

 *DONAHUE wrote:*   

> boot cd, mount gentoo partitions, enter the chroot, nominally:
> 
> ```
> mount /dev/sda3 /mnt/gentoo
> 
> ...

 

Thanks man, I appreciate it.  Someone in IRC helped me out; turns out, the default driver selected was the wrong one and I had to get one that seemed completely unrelated to my hardware.  But thanks for your reply, I appreciate it.

----------

