cannot find device "eth0"

Have you enabled and started systemd-networkd.service?

First create a file /etc/systemd/network/mynet.network containing (if you use DHCP):

[Match]
Name=device_name

[Network]
DHCP=yes

Then issue these commands:

systemctl enable systemd-networkd.service
systemctl start systemd-networkd.service

If that doesn't work (try rebooting aterwards in case you've been trying many things since last boot), boot from the install cd again and see what modules are loaded and try to find differences between the running environment when booting from harddisk and from cd.

The ArchLinux installation guide is a bit tricky to follow for first-time users. Some crucial information are not on the "first" page, such as network configuration and boot loader. In that respect, I find the gentoo handbook a lot more readable.


emp1s0 is the new Consistent Network Device Naming name for eth0.

Use it where you would have used eth0 in the past and it will be fine.

It can be disabled if you insist on returning to eth0 by creating an empty:

/etc/udev/rules.d/80-net-name-slot.rules