Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
motherboard change
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
hillick01
n00b
n00b


Joined: 27 Mar 2007
Posts: 3

PostPosted: Tue Mar 27, 2007 4:49 am    Post subject: motherboard change Reply with quote

Hi All,

My old motherboard recently died and i had to replace which obviously led to some problems. i need to point out that im not a linux genius and am still learning.

my problem is this, when booting, i get the following errors

MySQL-500 not started (0)
ERROR: Cannot start sshd as net.eth0 could not start
ERROR: Cannot start apache2 as net.eth0 could not start
ERROR: Cannot start pure-ftpd as net.eth0 could not start
Starting vixie-cron...
/etc/init.d/net/Io: line34:/lib/rcscripts/net.modules.d/helpers.d/functions: no such file or directory
Starting
IPROUTE2 is not a valid module (missing provides)
ERROR: Cannot start netmount as net.eth0 could not start

i cannot afford to lose any data on this system hence i am nervous about doing anything...
Can someone tell me how to fix this safely? what commands do i run?
Back to top
View user's profile Send private message
IQgryn
l33t
l33t


Joined: 05 Sep 2005
Posts: 764
Location: WI, USA

PostPosted: Tue Mar 27, 2007 5:02 am    Post subject: Reply with quote

It looks like you're missing a network driver for your new motherboard. How did you set up your kernel (manually or through genkernel)? Also, what is the new motherboard?
Back to top
View user's profile Send private message
CrazyIvanMN
n00b
n00b


Joined: 20 Feb 2007
Posts: 45

PostPosted: Tue Mar 27, 2007 6:50 am    Post subject: Reply with quote

I had the same problem when I changed my mainboard.

the problem.. well it's not a problem it's a feature of Udev.

I'm sorta a n00b so someone correct me if I'm wrong.. Anyway

Udev when it first sees a kernel message or something with the name eth0 it goes and creates your first ethernet device as eth0, and identifies it with the mac address of that ethernet adaptor, so that it will always identify that ethernet adaptor as eth0..

Now, when it sees the new ethernet adpator on the new mainboard the kernel still calls it eth0 (since it's the first one) but udev sees it's not the same mac address, so renames it eth1.. and since eth0 doesn't exist anymore (since it's identified by mac address) it never sets that one up..

So two solutions, one is relink your net.eth0 to net.eth1 which is probably the 'wrong' solution since it'll never see eth0 ever again since you trashed that board..

The proper solution is to go into /etc/udev/rules.d/70-persistent-net.rules
And you'll see two rows that look something like this:
Code:
# This file was automatically generated by the /lib/udev/write_net_rules
# program, probably run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="aa:bb:cc:dd:ee:ff", NAME="eth0"
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:11:22:33:44:55", NAME="eth1"


Delete the first row that's assigning mac address "aa:bb:cc:dd:ee:ff" (this will be your old mainboard's ethernet adaptor mac address) to eth0.. and change eth1 to eth0 on the 2nd row.

Reboot and now all net.eth0 script will start just fine since you now again have a ethernet adaptor called eth0 again.

edit: I'm making a couple assumptions
1. that both your old and new mainboards had onboard ethernet adaptors.. so different mac addresses
2. that you have the proper kernel config for your 'new' ethernet adaptor on your mainboard.
I think
Code:
$ dmesg | grep 'eth'

should give you a quick answer if your kernel is recognizing your ethernet adaptor correctly..
Back to top
View user's profile Send private message
hillick01
n00b
n00b


Joined: 27 Mar 2007
Posts: 3

PostPosted: Tue Mar 27, 2007 7:31 am    Post subject: Reply with quote

motherboard is gigabyte ga-81865gme
Back to top
View user's profile Send private message
IQgryn
l33t
l33t


Joined: 05 Sep 2005
Posts: 764
Location: WI, USA

PostPosted: Tue Mar 27, 2007 7:59 am    Post subject: Reply with quote

Ok, crazyivan's probably right about the udev stuff--I keep forgetting about the persistent rules. It looks like your motherboard has a Via Rhine onboard NIC, so if you enable the following in your kernel, you should be covered there:
Code:
  │     -> Device Drivers                                                             │
  │       -> Network device support                                                   │
  │         -> Network device support (NETDEVICES [=y])                               │
  │           -> Ethernet (10 or 100Mbit)                                             │
  │             -> EISA, VLB, PCI and on board controllers (NET_PCI [=y])             │
  │               -> VIA Rhine support (VIA_RHINE [=y])                               │
(you can enable it as a built-in or a module)
Back to top
View user's profile Send private message
Gentoo613
n00b
n00b


Joined: 01 Jun 2006
Posts: 38
Location: NJ/NYC

PostPosted: Tue Mar 27, 2007 9:52 am    Post subject: Try the LiveCD Reply with quote

Recently, I migrated to some new hardware, I required different SATA drivers (to be compiled in the kernel). It was easy enough to fix as I booted the new server using the Gentoo LiveCD and then ran lsmod. It will let you know which drivers you require.
Back to top
View user's profile Send private message
hillick01
n00b
n00b


Joined: 27 Mar 2007
Posts: 3

PostPosted: Wed Mar 28, 2007 4:23 am    Post subject: Reply with quote

IQgryn wrote:
Ok, crazyivan's probably right about the udev stuff--I keep forgetting about the persistent rules. It looks like your motherboard has a Via Rhine onboard NIC, so if you enable the following in your kernel, you should be covered there:
Code:
  │     -> Device Drivers                                                             │
  │       -> Network device support                                                   │
  │         -> Network device support (NETDEVICES [=y])                               │
  │           -> Ethernet (10 or 100Mbit)                                             │
  │             -> EISA, VLB, PCI and on board controllers (NET_PCI [=y])             │
  │               -> VIA Rhine support (VIA_RHINE [=y])                               │
(you can enable it as a built-in or a module)


Hey IQgryn, How do i go about changing this in the kernel? as i say, i am a noob and cant risk doing any damage. is this the safest way to fix the problem? You say aswell i can enable it as a built-in or a module... what is the difference?
Back to top
View user's profile Send private message
IQgryn
l33t
l33t


Joined: 05 Sep 2005
Posts: 764
Location: WI, USA

PostPosted: Wed Mar 28, 2007 4:33 am    Post subject: Reply with quote

If you used genkernel, then you shouldn't need to change anything--it automatically compiles everything as a module anyway. If you don't remember configuring the kernel, then this is probably what you used.

If you built the kernel yourself, you need to use the same process as before. Your current config file will automatically be opened when you run
Code:
make menuconfig
so you just need to make sure the option I listed is selected.

The difference between built-in and a module is that built-in drivers are always loaded, but modules are loaded as needed. There's very little overhead to modules, so either one will work.
Back to top
View user's profile Send private message
cruise
n00b
n00b


Joined: 01 Dec 2003
Posts: 48

PostPosted: Sat Jun 16, 2007 12:29 am    Post subject: Reply with quote

CrazyIvanMN wrote:

The proper solution is to go into /etc/udev/rules.d/70-persistent-net.rules
And you'll see two rows that look something like this:
Code:
# This file was automatically generated by the /lib/udev/write_net_rules
# program, probably run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.

# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="aa:bb:cc:dd:ee:ff", NAME="eth0"
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:11:22:33:44:55", NAME="eth1"


Delete the first row that's assigning mac address "aa:bb:cc:dd:ee:ff" (this will be your old mainboard's ethernet adaptor mac address) to eth0.. and change eth1 to eth0 on the 2nd row.

Reboot and now all net.eth0 script will start just fine since you now again have a ethernet adaptor called eth0 again.



Thank youthank you thank you! This just saved me from causing physical damage to my new PC...same chipset and m/b type so I'd left the HDD alone...and so the init scripts couldn't find eth0 & 1 since they were actually eth3 & 4...

*HUG* :D
_________________
"quantam sufficit"
[ cruise / casual-tempest.net / transference.org ]
Back to top
View user's profile Send private message
gsoe
Apprentice
Apprentice


Joined: 10 Dec 2006
Posts: 289
Location: Denmark

PostPosted: Sat Jun 16, 2007 4:36 am    Post subject: Reply with quote

Notice the
Code:
# This file was automatically generated by the /lib/udev/write_net_rules
# program, probably run by the persistent-net-generator.rules rules file.
The even easier way is to just delete the file, udev will generate a new from scratch.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum