Upgrading the Motherboards of Linux Boxen?
synchronicity asks: "I just got a new motherboard and processor and would otherwise like to keep my system setup exactly as it is now. Every site I have visited about upgrading a motherboard and processor ends with something to the effect of 'When your machine boots up, Windows will be confused for a little bit, but will detect all your hardware as new, reboot itself a few times, and then you'll be up and running again.' All well and good, except that I don't run Windows. So what do I need to do to get my Linux (Mandrake 7.2) system to recognize the new PCI bus addresses/interrupts/etc. to make this upgrade a success?" What things do you do in preparation for such a procedure?
right, except when you install a new processor, unless you reinstall windows (and repeat all those steps you listed, replacing "linux" with "windows"), your windows install won't take advantage of any new features in the new processor (SSE, 3dnow, whatever)
So, if you're upgrading, you really ought to reinstall no matter what OS you're running.
-NeoTomba
And it will start up (text mode will defineately work)
then you recompile the kernel to include the new drivers ( or you compile them as modules and you're done in 30 sec )
voila
Do the same as in Windows, but without the reboots. ;)
Serious, Linux's hardware management is way superior to Windows', provided the hardware is compliant (which is most of it now that ISA PNP is out). Try it, you'll be surprised.
If you're using the stock Mandrake kernel and -just- changing the motherboard, you should just be able to reboot and go to town since it's already got damned near everything compiled in or available as a module. If you've gone and compiled a custom kernel, you just need to make one that's correct for your new mobo and boot from that.
Even changing mobos on windows isn't -that- bad. I've got my dad's machine still running the factory win95 install (he refuses to let me reinstall or upgrade) after both a mobo and HDD upgrade. All you need to do is go to the device manager and remove devices before you shutdown the final time. When you come back up it'll re-recognize all the devices, and you're good to go.
my sig's at the bottom of the page.
Well, I did exactly the same you did, only in my case it was a downgrade.
My first distribution was Slackware 3.0, but after having some problems with it, I moved to Redhat 4.3, and stuck with it to this day (running 7.2 atm). Somewhere along my computer upgrades, I ended up with a spare 4.3 Gb hdd, and I decided to give Slack a try again. I installed it on my box, I decided I liked it, but the school year started, before I could do anything more with it. So it stayed unused for a couple of months.
BTW, the box that I used for the install was a Dual Celeron on an Abit BP6 board, TNT2 video, SB Live sound, CDROM, 3Com nic, etc.
Then I decided to upgrade my gateway, from a P100 to something more, and I got a good deal on a P166 box, complete with ATI video (Rage II), no sound, no CDROM, no hdd, nothing else.
Since I had the 4.3Gb hdd already with Slack on it, I decided to give it a try. I also added a Dlink and a 3Com nic, and a sb16. I was amazed to find out that EVERYTHING worked out of the box, except XFree86, but that was to be expected! I did not touch anything, and everyting was configured, as if Slack had been installed on the p166, and not on a DUAL Celeron.
So with any luck your box should be useable, with only minor tweaks. You are keeping everything the same (video, sound, nics, etc), and are just changing the CPU and mb. You should run into even fewer problems than with Windows.
So, if you're upgrading, you really ought to reinstall no matter what OS you're running.
What are you smoking? Even cheap crack won't give you that kind of buzz...
When you first boot up, you're right -- you won't get all the nifty new features. However you do not need to <cough> reinstall -- just recompile the kernel and any key apps you run. You will not see a performance increase on your P4 by recompiling everything. Hell 99% of the time the compiler is generating i386 or i486-optimized code!
Not even on Windows do you get much added benefit by reinstalling -- the drivers are i386, the applications are i386, everything is compiled for the lowest common denominator. The higher-end drivers will be optimized for P5 or P6, but that's about it unless you have some really specialized hardware or tweaked drivers for multimedia codecs.
Windows blows chunks for doing major hardware upgrades because the OS becomes confused when you change "too much" at once. It blows chunks because most of the configuration is stored in a proprietary binary format. It blows chunks because its only partially able to come down to a textmode level so you can clean up. NT is better at this than Win95/98/ME, but it's still not close to the flexibility you have with Linux/FreeBSD. One of my most favourite things is how you can pull a HDD out of pretty much any i386 platform and snap it into another one and boot up. If you compile in a ton of network drivers as modules, you can damn near get net access on any computer with that same drive. Try that with Windows.
I would imagine that any Windows apps that are optimized for specific processors actually do the check at runtime (instead of compile time for Open Source systems).
NT4 was nice because it was non plug-and-play (for the most part). Stick it in another i386 box and it just ran, you only had to reinstall the proper drivers. I've never been able to successfully move a Windows 9x or 2000 installation without reinstalling.
For 9x
Boot in safe mode.. Regedit, go to the HKey_Local_Machine.
Delete the ENUM tree.
Reboot. If it doesn't go into add new hardware by itself, do that.
Should be all set. I've moved from 486's to new Celeron's this way, works for me. Even gone down from Celeron 466 to a P120, without problems.
With Linux, you shouldn't have to do a thing, assuming you didn't have a crazy drive controller that was remapping the hard drive in a strange way. (Rare, and unheard of on anything post-486, afaik.)
At worst, you may have to make a boot disk and run lilo or equivalent on the new machine. Making a boot disk just takes a few seconds, and it may save you a headache - do that before you yank things apart.
If the thing does topple, it's more likely to be on starting X than anything else. Be sure you know how to disable kdm/gdm/xdm long enough to play with your configuration and you'll be okay.
I upgraded the motherboard/CPU on my dual-boot box from an Abit P2/300 to a Soyo P3/1000. My Linux installation just recognized the new chipsets properly at the next reboot without any complaints.
Windows had a shit-fit. Claimed to have found all new EVERYthing - hard disks, sound cards, modems, cd drives, video, mice. Sometimes it found two or three of each kind, and it kept on finding new stuff at every reboot. Ended up having to do a complete reinstall, which was no real hardship since I only use that partition for games. But even with a clean re-install it doesn't seem to be able to shutdown or reboot from Windows anymore.
(Yes-- it's offtopic, but I don't care.)
This isn't a good idea. I really wish I could get my technicians to stop doing it. There are items there that will never "re-appear" magically. Take a look under HKEY_LOCAL_MACHINE\Enum\SW. Those items won't "re-detect".
You would do better to boot in safe mode, and hand remove everything from the "Device Mangler" except for the software media items ("Microsoft Streaming Clock Proxy", "Microsoft Streaming Service Proxy"), the "IO read data port for ISA Plug and Play enumerator", and "Plug and Play Software Device Enumerator". Leave those alone, and reboot. Let it detect (it may complain that your video adapter is mal-configured-- that's a good sign-- let it detect). It might take a couple boots. Load your INF updates, drivers, etc, and you should be all set.
The Attitude Adjuster, I hate me, you can too.
You shouldn't have any problems, or very few.
I did an upgrade from a P200 motherboard with 96 meg of 72pin SIMM memory, to a Celeron 366 with 128meg of SDRAM (since then expanded to 768 meg) - and I think the only problem I encountered was with my ZIP drive not working properly due to a funkiness with the parallel port, but that was due to a bios setting, IIRC.
Anyhow, you shouldn't have any problems. As you can see, mine was a pretty radical upgrade (waaay different motherboards, chipsets, RAM, etc), but it was really easy.
Now, you want to know about funky - you should see my hybrid SuSE 6.3/7.2 Personal install/upgrade...
Reason is the Path to God - Anon
hell, I think you're all wrong(in respect to Windows that is). you've all missed the obvious one.
what you do is create a second profile. when you reboot the hard drive in a new box after shutting down, you select the second profile so that it will find all the new hardware. the system should work fine. if you start to have problems, you just use your old mobo and other hardware (you DID save it, right?) to get you backup and running.
creating a secondary profile is also what allows you to switch your hard drive between different boxen, like I do all the time. I pull my hard drive out, take it to my buddy's house 100 miles away, stick it in his system and boot, and then show him the slick stuff I got, all without having to backup nothing to Zip or anything else.
I'm good with numbers -
I um, don't have a SW tree there. In fact, i don't have it on any of the machines i've checked. I'll look when I'm at the office tomorrow
linux (Redhat 6.something at the time) booted first time, no problem. I recompiled the kernel later just to update a few things (eg, CPU type). I could probably have done that before taking the box down, so you could count this as one boot if you have a box up all the time and plan it right.
Windows (95, version 2 with USB support) required something like 3-4 reboots as it tried to find drivers for everything. It eventually booted up OK and actually worked pretty well.
As plenty others have said, provided you don't have anything "funny", you should be OK. Despite what others say, your X setup should probably still work fine, but you may wish to disable it before taking the box down (eg, by changing default runlevel for redhat or removing the xdm init script in /etc/rc?.d). If you've compiled in some weird IDE controller or whatever, linux will probably still boot, but a stock linux kernel (ie, whatever came with your distribution) is likely to be your safest bet.
Ha! Not under XP it won't... You'll have to call someone at MS to issue a new Product ID to activate your PC.
The only major thing I can think of is that you eat a little performance for using a stock vendor kernel, as these will be running the lowest common denominator (386 or maybe 586, if the box demands a Pentium) code and not optimized for your architecture. Whether this makes any more than a theoretical difference is completely up to you to decide :-)
Linux checks all the CPU features (3DNow, MMX) and bugs (FDIV, F00F, HLT) on startup anyway, so no problems there; it should also auto-detect everything fine and deal with it. If you've got a custom kernel, you'll want to reconfigure it to support your new chipset for things like AGP, and also see if you have any bugfix items out for your chipset. Stock kernels have anything and everything on hand to deal, so things should be good with them.
__CmdrTHAC0__
In Soviet Russia, Spanish Inquisition doesn't expect YOU!!
Five bazillion posts all saying the same thing, and someone has the temerity to mark MINE as redundant?
FUCK YOU TOO!
This was moderated up to interesting???
Just recompile your kernel. There is no reason to a erase a bunch of packages then put them all back. Just recompile and re-do your X-Windows settings for the new hardware.
Over the past 5+ years, I've upgraded a number of systems... From what I recall, in general, linux has never had any problems with changed motherboards, processors, or RAM. Harddrives are only slightly more trouble, and then when partitions have shifted around, or something odd has to be done to get the system to recognize the drive. (Adding "linear" to get lilo to work with a new drive on an obsolete 486, for example.) Soundcards are another story altogether... But that has gotten a lot easier over the years. Video card changes, or monitor changes, would probably require an alteration to your XFree86 /etc/X11/XF86Config file. All bets are off with respect to ISA Plug-and-Pray cards...
/etc/conf.modules, /etc/lilo.conf (if I'm changing the drive around), or that /etc/isapnp.conf file if I'm still playing with ISA Plug-and-Pray.
/etc/lilo.conf. Either way, you should update your kernel ASAP. The newer kernels don't have this problem.)
/sbin/insmod, /sbin/ifconfig, /sbin/route, ping, test works, "cp tulip.o pci-scan.o /lib/modules/....", "vi /etc/conf.modules", "/etc/rc.d/init.d/network stop", "/etc/rc.d/init.d/network start", test again, done. Final reboot optional, not required, purely for verification that everything comes up right.
I run Red Hat, so typically all I need to work on is
If you have a kernel compiled for a specific processor type (i686), and you are downgrading to another processor type (i386), you might have a problem. Similarly, if you are using a kernel with your driver support all compiled in, and lack the necessary kernel modules, you might have a problem. But, with the modern distros, that would be virtually unheard of... (Unless you had compiled a very specialized custom kernel.)
There was that one issue with the stock RH6.2 kernel crashing hard when it first hits an AMD processor -- the id check thing. The fix for that is to add the flag "x86_serial_nr=1" to the boot options. (Either at the LILO line, or into
From the war files:
Upgrading from 200Mhz to 400Mhz processor/board/RAM: Linux has no problems -- Nothing to do. Windows, on the other hand, won't work. Can't safe boot. Can't even reinstall. Microsoft web site claims win95 has a bug. (Really? No...) Only fix available: Purchase newer version of windows. Or pirate, I suppose...
Upgrading from 200/400Mhz to two 1.4Ghz processor/board/RAM: Linux has no problems -- Nothing to do. For win98: Deleted everything in the device manager. Rebooted more times than I care to count. Possibly more times than I can count on my fingers, in binary. (And toes?) Eventually windows worked. High points: Cdrom inaccessible while installing new device drivers. Installing devices multiple times (and having to remove them all and reboot/reinstall again). (Discovering that I had to remove the ones that were listed as working before I removed the ones that were broken.) Trying to reinstall the mouse driver -- without a mouse. Discovering win98 has decided to remap my drive letters, in direct contradiction of microsoft's own published standards. Discovering win98 will no longer see drive D prior to attempting to load a device driver off drive D. (Fix: Grep under linux, edit the win98 config files under linux, copy driver to win98 drive C.) Etc. Etc. God I hate microsoft.
One other problem: On one system, harddrive failed electrically during upgrade. BIOS could not access harddrive on old or new system. Replaced harddrive. Restored from backups -- Done almost entirely under linux. (I try to use windows to create/format windows partitions. With mixed results.)
Miscellaneous:
Upgrading from 3com 10Mbit coax/AUI ethernet to Linksys 10/100Mbit twisted-pair ethernet:
Linux: Discovered driver was out of date. Downloaded driver off easily found web page. "gcc -DMODULE -D__KERNEL__ -O6 -c tulip.c" "gcc -DMODULE -D__KERNEL__ -O6 -c pci-scan.c".
Win98: Install drivers with GUI. Configure with GUI. Test. Fail. Reinstall drivers. reconfigure. test. reboot. reinstall. reconfigure. test. reboot. reboot. Call tech support for Linksys. fail. Call tech support for microsoft. Discover microsoft support costs more than buying win98 did. Curse day Gates was born. reconfigure. test. reboot. reinstall. etc. After a few days, beg for help on the newsgroups. Discover, through another's suggestion, that win98 has auto-assigned a conflicting IRQ. Discover IRQ cannot be changed. Reboot. Go into BIOS. Reserve that IRQ as "legacy". Reboot. Win98 finally working...
ARE YOU GETTING THE IDEA YET? The reason nobody discusses these issues with respect to linux is that linux is, by and large, a NO-OP. There is nothing, literally nothing, to discuss!
Windows, on the other hand, well, when it works, it's great. When it doesn't work, you are completely, totally, one hundred percent screwed. Taking the big o'l twenty foot covered in barbed wire and dipped in curare concrete dildo right up the o'l anal sphincter.
Windows is kludges built upon kludges. That it works at all is a major miracle of our time, and is widely believed to be the direct result of divine intervention, not necessarily on the side of good.
"What things do you do in preparation for such a procedure?"
UNPLUG THE BOX or YOU WILL DESTROY YOUR HARDWARE!!! UNPLUG IT FROM THE WALL. Modern systems will NOT fully disengage power even when the machine is turned off. (I know I was surprised to see that little LED glowing on the motherboard, and really glad I had my system unplugged while I was working on it!)
Ground yourself and your work area. Sneakers [rubber] on carpet [fur] is a BAD MIX. You won't even feel the static electric spark that fries your system.
If you are going from a AT-style system to an ATX style system, buy a new case. (You may just want to buy a new case anyway -- it makes things a lot easier...) Consider the EN-7230. (http://www.enlightcorp.com/pc_cases/7230.shtml) I've found it to be an excellent choice!
Be really, really careful of any motherboard-mounting-stands that are sticking up from the case. If they don't have a screw hole above them, and a screw going into them, THEY WILL SHORT OUT YOUR MOTHERBOARD!
Don't leave loose hardware on your motherboard when applying power. In fact, don't leave bits of metal on your motherboard period! Rotate and shake the case a little before firing it up if necessary...
Cats, dogs, ferrets, rats, fish, etc do not mix with open cases. Static-creating FUR does not mix with sensitive electronics. Lock your pets out of the room. Keep the fish in the aquarium. Trust me, you and they will both be happier this way...
Neatness counts. Blow $10 on some one-shot plastic rat belts. Tie your wires up and out of the way. Anchor them to the case or power supply! DO NOT LET THEM FALL INTO THE FANS, OR BLOCK AIRFLOW AROUND THE FANS!!!
Put the fan on BEFORE putting the motherboard into the case. There's much less strain on the motherboard outside of the case, and it's a lot easier for you. BUY some forceps for this purpose -- you will appreciate them.
Use heat-transfer compound between the cooling fan/heatsink and the CPU.
That's about all I can think of... In the unlikely event that there is a problem with linux, try booting into text/single-user mode with "linux single" at the lilo prompt. In a worst-case scenario, boot off your emergency floppy or the cdrom and fix things...
-Anonymous, and proud of it!
I don't know about everyone else, but everytime I do a major hardware upgrade, I find that it's a very good time to do a fresh install of any operating systems I'm using at the time. As long as you meticulously back up anything that's important (game saves, important projects, contents of your home dir, etc.) you should be fine. It'll clean out all of those programs that you downloaded, installed, used only once, and then immediately forgot about, cluttering up your hard drive.
http://crummysocks.com
Each time I install linux on a different box I spend a bit of time tracking down my favourite apps and loading them on. The home machine, however, has had linux progressively upgraded to avoid that, and there's still a bit of Slackware 2.0 lurking on the drive (which is a couple of drives newer that the original) under the RedHat 7.1 exterior. Doing a fresh install and copying a lot of old stuff over sometimes works, but you'll still spend a bit of time fixing all of the things that are broken.
The system I use now started on a P60, was cloned to a 486-100, was moved to a K5-133, then to another K5 on a board in better condition, then to a dual celeron 300. Frequent kernel compiles (hardware support gets better all of the time), numerous downloads and four software upgrades from CD later (RedHats 5.2, 6.0, 6.2, 7.1) and I have the current system. None of what I did was difficult, everything gave me a console on boot first try (using the kernel compiled on the previous configuration) and I never lost any data by accident. The slackware to redhat transition did require me to do a fresh install and copy my old files over the top, which worked happily.
Linux does not have DLL hell - libraries have version numbers. Every now and again it's worth deleting old programs, and moving old libraries out of the way to see if anything still uses them, but a full re-install will waste a lot of time unless you want to use a stock standard system. I have programs from 1996 that I still use every week, that have not had a line of code written since and won't recompile to use new libraries. Just keep the old ones - gtk tends to get upset if it finds old versions, but there's simple ways around that, and most other stuff is well behaved.
Very true. Fdisk and mkdosfs worked well for me as an alternative to the above.