View previous topic :: View next topic |
Author |
Message |
hillick01 n00b
Joined: 27 Mar 2007 Posts: 3
|
Posted: Tue Mar 27, 2007 4:49 am Post subject: motherboard change |
|
|
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 |
|
|
IQgryn l33t
Joined: 05 Sep 2005 Posts: 764 Location: WI, USA
|
Posted: Tue Mar 27, 2007 5:02 am Post subject: |
|
|
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 |
|
|
CrazyIvanMN n00b
Joined: 20 Feb 2007 Posts: 45
|
Posted: Tue Mar 27, 2007 6:50 am Post subject: |
|
|
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 |
|
|
hillick01 n00b
Joined: 27 Mar 2007 Posts: 3
|
Posted: Tue Mar 27, 2007 7:31 am Post subject: |
|
|
motherboard is gigabyte ga-81865gme |
|
Back to top |
|
|
IQgryn l33t
Joined: 05 Sep 2005 Posts: 764 Location: WI, USA
|
Posted: Tue Mar 27, 2007 7:59 am Post subject: |
|
|
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 |
|
|
Gentoo613 n00b
Joined: 01 Jun 2006 Posts: 38 Location: NJ/NYC
|
Posted: Tue Mar 27, 2007 9:52 am Post subject: Try the LiveCD |
|
|
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 |
|
|
hillick01 n00b
Joined: 27 Mar 2007 Posts: 3
|
Posted: Wed Mar 28, 2007 4:23 am Post subject: |
|
|
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 |
|
|
IQgryn l33t
Joined: 05 Sep 2005 Posts: 764 Location: WI, USA
|
Posted: Wed Mar 28, 2007 4:33 am Post subject: |
|
|
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 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 |
|
|
cruise n00b
Joined: 01 Dec 2003 Posts: 48
|
Posted: Sat Jun 16, 2007 12:29 am Post subject: |
|
|
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 |
|
|
gsoe Apprentice
Joined: 10 Dec 2006 Posts: 289 Location: Denmark
|
Posted: Sat Jun 16, 2007 4:36 am Post subject: |
|
|
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 |
|
|
|