1

I have cloned my raspberry pi SD card after customising the OS. However, when I try to boot it on a different pi, everything appears fine, but eth0 doesn't show up in ifconfig. When I try 'ifup eth0', I get:

ERROR: interface eth0 does not exist

I found this solution involving the file "70-persistent-net.rules" here. So, when I do:

rm /etc/udev/rules.d/70-persistent-net.rules

And, then reboot, the problem is solved.

What's causing this problem? Is there a better way to solve this problem, one that can be automated?

  • Have you tried with an uncustomised OS? If that works it would rather point to an error in your customisation. – joan Dec 20 '14 at 15:06
  • @joan I haven't modified the kernel. I have simply added a few cronjobs and scripts to a Incredible PBX image. – user3490458 Dec 20 '14 at 15:15
  • Trying with an uncustomised OS will confirm whether the customisation is at fault or not. – joan Dec 20 '14 at 15:18
  • @joan You're right. I'll try a raspbian build and update. Thanks. – user3490458 Dec 20 '14 at 15:24
3

/etc/udev/rules.d/70-persistent-net.rules records the mapping of interface cards with their mac address to an interface name. Your master image will store it's mapping for eth0 to mac aa.bb:dd:cc:dd:ff in this file. If you now clone the SD card and boot it on another Raspberry which has a different mac ff:ee:dd:cc:bb:aa then this mac will be mapped to eth1 because eth0 was already reserved by the other mac address of the master image. Because you defined eth0 in /etc/network/interfaces in your master image Linux tries to startup eth0 - which doesn't exist on your cloned system.

That's an issue OpenStack and everybody else dealing with cloning of images has to deal with (See this link and search for udev. It describes how to setup a base image for OpenStack and how to fix this issue).

That's what you have to do: Customize your image and as a final step just delete /etc/udev/rules.d/70-persistent-net.rules from your master image which you now should use as a template for all cloned Raspberries. All Raspberries using this template will not find a mac address registered for eth0 and will use their mac address for eth0 now.

  • Does this apply to USB too? I've having trouble with a cloned SD card on a different Raspberry, and the USB port is not working. I'm not sure about Ethernet, since the Raspberry is not within reach of a network. – Mark Lakata Mar 10 '15 at 21:23
  • I don't think so. What's the issue you get? – framp Mar 12 '15 at 18:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.