Home Home > 2008 > 09 > 23 > What should happen happen if I transplant a brain?
Sign up | Login

What should happen happen if I transplant a brain?

September 23rd, 2008 by

I’m currently involved in a discussion on factory about what should happen if I replace the graphics card, or when I move the hard disk from one machine to another one, with different hardware.

I wished SUSE did handle such transplants gracefully, maybe for the same reason I do not wish my 2CV back:

My first car was a Citroën 2CV.

On some summer day I did a very long autobahn trip with it and the engine got real hot as it was air cooled.  When I finally had arrived in my home town late at night, I rolled down a long hill using the engine brake and at the end of hill at a red light I stopped the car — and oops: so did the engine…

No way I could get it working again 8( None of the normal 2CV tricks worked, playing with the choke or
anything.

So I called the ADAC (AAA in germany, for those abroad), and back in the days that meant going and finding a phone box and all, in the middle of the night.

And when the guy finally arrived, the car just simply started.

I was explained to better not use the engine brake after long trips, or to carefully play with the gas when I really stopped: because somehow, don’t ask me for details, in these circumstances the spark plugs could become ‘wet’, and after they had ‘dried’ again, all was just fine.

Was I really too dumb to use my car?

No.

The car had a construction problem. Any ADAC ‘angel’ knew it.
Common sense.

I, however didn’t.  How should I?  And for the first time ever, on this day at 2:30 in the morning I really, really hated this nice little car whose sound I still love.

Same goes for Linux and hardware support.  With every single kernel update on 11.0 I had to re-tweak my wireless — and I even didn’t modify the hardware!

Now what happens if you take a working Linux install and replace some of the hardware, like the graphics card?  Or even worse, you take the hard disk of the system and put it into another chassis, like I had to do with my laptop recently?

After such a brain transplant, the the brain needs to accommodate to the new environment.  It needs to probe where it is now.  It needs to be able to access the hard disk, interact with the user, connect to the network again.

However SUSE’s not really prepared for that yet:  the initrd has the drivers it was created with last time, and that’s the ones needed for the hardware config at that time.  Hopefully the disk is accessible with what you have there… Even if the kernel can access the disk, maybe some key drivers for the new hardware aren’t installed on the disk, like graphics, or network.

Obviously you can’t make it work under all circumstances, the point is:  As of today, it won’t even work under many straightforward circumstances.  So you want to change hardware?  Better know exactly what you’re doing and don’t expect much help from what’s on your disk.

This brings me back to where I started this blog:

The factory thread had started with a plain vanilla feature comparison and soon got into a strong discussion whether or not Linux should handle brain transplants and hardware replacements gracefully at all, in a way that works for the simple minded, straightforward Linux user, in contrast to him who knows his ways around run level 3 and sax2 to reanimate X.

And I believe choking on a wet spark plug isn’t cool any more.  Linux should just diagnose and repair itself, or at least tell clearly how to proceede.

Not only because this would make mass deployment and fast installation a real charm, with a single image to boot and run on many different hardware configurations.

But also because people just do transplant computer parts and brains these days, and they want their Linux to survive that with a smile :).

Both comments and pings are currently closed.

5 Responses to “What should happen happen if I transplant a brain?”

  1. Dimble

    i read that thread last night.

    an excellent blog post with which i very much agree.

    I have been using suse since 9.1 and i have no idea how to change hardware, more to the point i don’t care to learn such a complicated process.

    In windows i click the remove driver button, then i swap old hardware with new, then i click on the new driver package and voila.

    In linux i have no idea so a change of hardware means a reinstall, not good enough.

    I have high hopes that the YAST folks can make this process logical to the uninformed, all it requires is a few prompts from YAST; “we noticed X has changed, would you like to run the autoconfig?”

    That would be awesome!

    • Jan-Christoph Bornschlegel

      I partly disagree here: try changing your mainboard on W2KP, or an extra PCI IDE controller :)
      After doing this two times I read an article explainig how mainboard change should work, tried this and voilà — failed again.

      Cheers,
      Jan

  2. bico

    I really don’t know what had happened to openSUSE, but the 9.x series of SuSE handled hardware change very well. I could put the os-harddrive in any computer and it would run without any kernel panics (probably due to the generic ide driver being included into initrd) and after detecting that the monitor/graphics card has changed it launched the YaST in textmode with a graceful notification of what is going on and let me reconfigure the display. It vas very functional and always worked for me. Besides this, it was capable of detecting new hardware while on the desktop via a tray applet. However since the 10.x series this functionality is nowhere to be found. In similar cases the best thing that can happen is to get a textmode login screen.

    To overcome at least the possible graphics issues an init.d script could be run after xdm that launches the X server in vesa mode with generic settings if something goes wrong (ex. hardware change). I have created such a script for my system and it works quite well. It is a kind of bullet proof X, but it boots into the normal desktop and displays a warning.

  3. John Jeffers

    I want to be able to transplant my hard drive into a brand new laptop. (Actually dd the hard drive on to a new hard drive and chuck it in a new laptop.)

    I want to be able to If I had a Nvidia Binary Driver and a New ATI 780G (3200 HD) boot into console mode and remove the Nvidia Driver as root.

    Then run autoyast to reconfigure the unit and tell it to disregard the previous hardware.

    I would far prefer openSuSE to boot and ask me if this is what I want to do! (Since I write Drivers and Kernel for ARM don’t tell me it can’t be done!)

    And yes this is my working environment “embedded ARM 926″ Linux development laptop that I use a JTAG Ice from and run Eclipse on! So reinstalling all the tools and configurations is not on.

    Cheers John

  4. Dmitry Serpokryl

    Welcome to checkout our unofficial Enlightenment LiveCD. We implemented simple check for video card ID already:

    //lizards.opensuse.org/2008/09/29/enlightenment-livecd/

    yes, may be it’s a nice idea to keep an eye on Video_Card+Monitor instead of just a single card. Not an issue. It’s an easy task and it’s simply amazing how long this subject was discussed. It took us 3 min to implement this feature. Implementation is not perfect yet (we’ve forgot about backup of a current xorg.conf for example and may be something else left…) but you can easily improve this by editing /etc/init.d/create_xconf file. It starts GUI in LiveCD and if you install the system from LiveCD to the disk.

    Regards.
    sda