[opensuse] Hardware support
Hi, i use linux (especially Suse) for quite a long time now and some time ago it was really easy to get new harware running. Plug in and enjoy. But these times are gone. Nowadays i can use hardware that was present at install time without a problem, but whenever i add hardware later, i have to puzzle what files to change to get the modules loaded and to get udevd to give me the right device nodes. Did i miss the easy way? How do you get new or changed hardware running? Today i swapped my mainboard. The hardest thing was to get access to the harddisks at boot time. I used rescue system to rebuild the initrd several times, adding more and more modules, but the disk was not visible in /dev. The solution was to run mkinitrd -A and after that i can see the disks. This is not a solution! Any help? Thanks! -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Florian Gleixner wrote:
Today i swapped my mainboard. The hardest thing was to get access to the harddisks at boot time. I used rescue system to rebuild the initrd several times, adding more and more modules, but the disk was not visible in /dev. The solution was to run mkinitrd -A and after that i can see the disks. This is not a solution!
Any help? Thanks!
We need some more info - your hardware (lspci -v) config, your mkinitrd config to start with. It would also be good to know what didn't work and which error messages you got. /Per -- Per Jessen, Zürich (8.3°C) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Per Jessen schrieb:
Florian Gleixner wrote:
Today i swapped my mainboard. The hardest thing was to get access to the harddisks at boot time. I used rescue system to rebuild the initrd several times, adding more and more modules, but the disk was not visible in /dev. The solution was to run mkinitrd -A and after that i can see the disks. This is not a solution!
Any help? Thanks!
We need some more info - your hardware (lspci -v) config, your mkinitrd config to start with. It would also be good to know what didn't work and which error messages you got.
/Per
Thanks for your answer and for your help offer. I'll send you a lspci later when i have access to the machine. You alternatively could tell me how to find out what modules to load. I started a rescue system from PXE boot and checked what modules this rescue system did load. But the kernel modules don't have man pages so i can only guess what the module does. Solaris provides man pages for kernel modules. Wouldn't that be a great benefit (would have to send this to lkml)? So i added some ...scsi... ...ata... and via82cxxx in /etc/sysconfig/kernel and rebuild the initrd. After reboot i could see that the driver loads and it can see the disks, but the /dev tree was missing the discs. I could see them somewhere in /proc, but i'm unsure why the initrd cannot create the dev? With initrd -A i see the disks as /dev/hdX - in rescue as /dev/sdX. What happens here? Wouldn't it be nice to offer another kernel to be installed on /boot and added to grub that has the same modules and logic as the rescue or install kernel: Has all modules, probes all hardware and - the great benefit - you don't have to do the mounts and chroot to rebuild the initrd. Yast misses a "hardware detection and add drivers to initrd" function. With this function and a rescue kernel this mailing list could have 30% less postings i guess. Flo
Florian Gleixner wrote:
Thanks for your answer and for your help offer. I'll send you a lspci later when i have access to the machine. You alternatively could tell me how to find out what modules to load.
The main thing the initrd does is enable access to the root filesystem. Generally speaking, you need modules for filesystems and I/O chipsets. For instance, I have a system with an HP SMART array, which needs the module 'cpqarray' to work, so I include that for the initrd. This particular system has the following: INITRD_MODULES="cpqarray thermal pata_serverworks ata_generic serverworks ide_pci_generic processor fan" My root filesystem is etx4, but judging from ther above, ext4 support has been built into the kernel.
I started a rescue system from PXE boot and checked what modules this rescue system did load. But the kernel modules don't have man pages so i can only guess what the module does.
The rescue system might also load a lot that you don't need.
Solaris provides man pages for kernel modules. Wouldn't that be a great benefit (would have to send this to lkml)?
Probably not a bad idea. Until you've got those, look up the module source, it'll give you a pretty good idea.
So i added some ...scsi... ...ata... and via82cxxx in /etc/sysconfig/kernel and rebuild the initrd.
Sounds good. I have a system with via82cxxx too: INITRD_MODULES="processor thermal sata_via via82cxxx fan jfs raid1 edd"
After reboot i could see that the driver loads and it can see the disks, but the /dev tree was missing the discs. I could see them somewhere in /proc, but i'm unsure why the initrd cannot create the dev?
It's done by udevd - you don't have any /dev/sdx entries at all? How about /dev/disk/by-* ?
With initrd -A i see the disks as /dev/hdX - in rescue as /dev/sdX. What happens here?
Uh, the hdx devices means you've got the old IDE/PATA support somewhere. These days, IDE/PATA devices are emulated as SCSI devices. /Per -- Per Jessen, Zürich (9.1°C) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Friday 23 October 2009 10:00:32 Florian Gleixner wrote:
Thanks for your answer and for your help offer. I'll send you a lspci later when i have access to the machine. You alternatively could tell me how to find out what modules to load. I started a rescue system from PXE boot and checked what modules this rescue system did load. But the kernel modules don't have man pages so i can only guess what the module does.
hwinfo will tell you which component needs which module. But I'm still not getting your original problem. You had a working system - and what kind of hardware did you add then? Andreas -- Andreas Jaeger, Program Manager openSUSE, aj@{novell.com,opensuse.org} Twitter: jaegerandi | Identica: jaegerandi SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) Maxfeldstr. 5, 90409 Nürnberg, Germany GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
I had a old asus board with Pentium II or III as vdr server. The power supply's fan started to make noise so i took anoter old machine (Athlon 1500+) and swapped disks and pci cards to that machine. I expected to have to rebuild the initrd because i changed the mainboard. Flo Andreas Jaeger schrieb:
On Friday 23 October 2009 10:00:32 Florian Gleixner wrote:
Thanks for your answer and for your help offer. I'll send you a lspci later when i have access to the machine. You alternatively could tell me how to find out what modules to load. I started a rescue system from PXE boot and checked what modules this rescue system did load. But the kernel modules don't have man pages so i can only guess what the module does.
hwinfo will tell you which component needs which module.
But I'm still not getting your original problem.
You had a working system - and what kind of hardware did you add then?
Andreas
i use linux (especially Suse) for quite a long time now and some time ago it was really easy to get new harware running. Plug in and enjoy. But these times are gone.
Yes, nowadays it almost always just-works with no need to get-it-running.
Nowadays i can use hardware that was present at install time without a problem, but whenever i add hardware later, i have to puzzle what files to change to get the modules loaded and to get udevd to give me the right device nodes.
What kind of hardware are you adding?
Did i miss the easy way? How do you get new or changed hardware running? Today i swapped my mainboard. The hardest thing was to get access to the harddisks at boot time. I used rescue system to rebuild the initrd several times, adding more and more modules, but the disk was not visible in /dev. The solution was to run mkinitrd -A and after that i can see the disks. This is not a solution!
Replacing a motherboard does not constitute "adding new hardware", it is something that 99.999% of users will never do and will not happen to 99.999% of laptops/desktops. If you are going to replace a motherboard you need to know - in advance - what modules you are going to need in order to boot. I suspect your difficulty was related to the specific motherboard you installed. What I/O controller does you motherboard have? Obviously it is not one supported by the 'standard' modules. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Adam Tauno Williams wrote:
Replacing a motherboard does not constitute "adding new hardware",
+1.
it is something that 99.999% of users will never do and will not happen to 99.999% of laptops/desktops.
Quite possibly, but many users might very well move their disk(s) to a new system when the old one gives up. Which amounts to the same thing. /Per -- Per Jessen, Zürich (9.9°C) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Fri, Oct 23, 2009 at 8:54 AM, Per Jessen
Quite possibly, but many users might very well move their disk(s) to a new system when the old one gives up. Which amounts to the same thing.
If your hardware controller is different, that will screw up intird. I've ran into that on several occasions. I've swapped out drives between machines and a lot of times if the hardware is similar(thinkpad 390X to Thinkpad X21), then it will work but you have to tweak things like the video and sound. The chipsets on those machines are 440BX's so the boot setting doesn't change. However, when I tried swapping a boot drive from a Dell with an P4/i840 to a Tualatin P3/Via, it failed to boot. Being too lazy to fix it manually, I just reinstalled. The initrd is set for a particular type of hardware and if the hardware changes too much it won't work. That should be expected. Try swapping a Windows XP boot drive to completely different hardware. While there ARE ways to do it, 99% of the time most people will have to reinstall. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Larry Stotler wrote:
The initrd is set for a particular type of hardware and if the hardware changes too much it won't work. That should be expected.
Which the OP also did expect. He was/is just having trouble figuring out which modules to include in the initrd. Booting up a rescue system and rebuilding the initrd is not complicated.
Try swapping a Windows XP boot drive to completely different hardware. While there ARE ways to do it, 99% of the time most people will have to reinstall.
I tried helping a friend with this two-three years ago - according to a Microsoft kb article, it isn't possible if the io chipsets are different. I think it suggested always replacing a broken box with one exactly the same ... /Per -- Per Jessen, Zürich (10.1°C) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Fri, Oct 23, 2009 at 9:46 AM, Per Jessen
I tried helping a friend with this two-three years ago - according to a Microsoft kb article, it isn't possible if the io chipsets are different. I think it suggested always replacing a broken box with one exactly the same ...
There are ways to hack the registry to remove all existing hardware so that when it boots it will load new drivers. Sometimes it works. It's their way of trying to make sure that people don't clone a drive for use in a different system. In their view, that OEM license key is ONLY for that hardware it came on. If you have to replace it you are supposed to buy a new copy. Makes a lot of sense doesn't it? -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Larry Stotler wrote:
On Fri, Oct 23, 2009 at 9:46 AM, Per Jessen
wrote: I tried helping a friend with this two-three years ago - according to a Microsoft kb article, it isn't possible if the io chipsets are different. I think it suggested always replacing a broken box with one exactly the same ...
There are ways to hack the registry to remove all existing hardware so that when it boots it will load new drivers. Sometimes it works.
It's a bit of a catch-22 when the old motherboard no longer boots - these days I guess one could run the system in a virtual machine, but it's all a bit cumbersome. /Per -- Per Jessen, Zürich (10.1°C) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Fri, Oct 23, 2009 at 10:07 AM, Per Jessen
It's a bit of a catch-22 when the old motherboard no longer boots - these days I guess one could run the system in a virtual machine, but it's all a bit cumbersome.
It's just another one of those things that most people don't know about M$ that they don't like when it happens to them. As a company, they definately aren't customer focused. They basically told me that I wasn't allowed to reinstall Windows for customers because the customer was required to click that they agree to the license. That's BS because they clicked it the first time when they got the machine. What a load. Reactivating a system can also be a huge pain. Sometimes you have to call a toll free number and deal with someone whose english isn't very good and they ask you several times how many machines this copy is installed on. Talk about trust. Crap like Windows Genuine Advantage only makes legitimate customers look like theives. I've ran into several occasions where a display model wouldn't activate because someone wrote down the product key and used it for themselves. Nice. Anyway, done ranting..... :-) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Larry Stotler schrieb:
On Fri, Oct 23, 2009 at 8:54 AM, Per Jessen
wrote: Quite possibly, but many users might very well move their disk(s) to a new system when the old one gives up. Which amounts to the same thing.
If your hardware controller is different, that will screw up intird. I've ran into that on several occasions. I've swapped out drives between machines and a lot of times if the hardware is similar(thinkpad 390X to Thinkpad X21), then it will work but you have to tweak things like the video and sound. The chipsets on those machines are 440BX's so the boot setting doesn't change. However, when I tried swapping a boot drive from a Dell with an P4/i840 to a Tualatin P3/Via, it failed to boot. Being too lazy to fix it manually, I just reinstalled.
The initrd is set for a particular type of hardware and if the hardware changes too much it won't work. That should be expected. Try swapping a Windows XP boot drive to completely different hardware. While there ARE ways to do it, 99% of the time most people will have to reinstall.
Hi, in the "good old times" this was possible with Suse and other Linux distros. They included a "monster initrd" that probed all hardware and you could swap harware like mad. One thing windows never was able to handle. Yesterday i found out how to build this monster initrd (mkinitrd -A) and all Hardware runs now. But the next kernel patch will build a new initrd and if i don't take care, i have to rebuild the monster initrd in a rescue system again. So my proposals: - Add a grub entry with a monster initrd - Add a Yast module or something else to put the loaded and in use modules to your configuration (initrd, modprobe.conf, ....) This could make Linux as flexible as it was in the "good old times". Or am i missing something? Flo
On Fri, Oct 23, 2009 at 11:04 AM, Florian Gleixner
in the "good old times" this was possible with Suse and other Linux distros. They included a "monster initrd" that probed all hardware and you could swap harware like mad. One thing windows never was able to handle. Yesterday i found out how to build this monster initrd (mkinitrd -A) and all Hardware runs now. But the next kernel patch will build a new initrd and if i don't take care, i have to rebuild the monster initrd in a rescue system again.
I run into something similar because I build madwifi from source since the ath5k driver in 2.6.25 isn't reliable. Keep in mind that there are a lot of things that are actually in the kernel as well, because you can go from an intel to an amd usually and it will still at least boot.
So my proposals: - Add a grub entry with a monster initrd - Add a Yast module or something else to put the loaded and in use modules to your configuration (initrd, modprobe.conf, ....)
This could make Linux as flexible as it was in the "good old times". Or am i missing something?
Having that monster initrd could make booting slower. I dunno. I still get errors for AMD Powernow on Intel chips. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
Florian Gleixner wrote:
Yesterday i found out how to build this monster initrd (mkinitrd -A) and all Hardware runs now. But the next kernel patch will build a new initrd and if i don't take care, i have to rebuild the monster initrd in a rescue system again.
A new initrd built on your current system will presumably be done according to /etc/sysconfig/kernel, so provided that contains the correct information, you should not have a problem.
So my proposals: - Add a grub entry with a monster initrd
Yeah, why not. It certainly won't hurt. /Per -- Per Jessen, Zürich (9.5°C) -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
On Fri, Oct 23, 2009 at 05:04:55PM +0200, Florian Gleixner wrote:
in the "good old times" this was possible with Suse and other Linux distros.
1999 or even earlier?
They included a "monster initrd" that probed all hardware and you could swap harware like mad.
And booting takes additional 10 or more seconds or might fail at all. And we'll see an additional thread how slow SUSE Linux or Linux in general starts.
One thing windows never was able to handle. Yesterday i found out how to build this monster initrd (mkinitrd -A) and all Hardware runs now. But the next kernel patch will build a new initrd and if i don't take care, i have to rebuild the monster initrd in a rescue system again.
How about adding an article to the openSUSE wiki? Have you tried the repair mode supported by booting from CD/ DVD? See http://en.opensuse.org/SDB:YaST_System_Repair I've used this some days before mainly by curiosity and was surprised by the positive result. At the end I got my system booting again. Even if I had to tweak manually a bit.
So my proposals: - Add a grub entry with a monster initrd - Add a Yast module or something else to put the loaded and in use modules to your configuration (initrd, modprobe.conf, ....)
This could make Linux as flexible as it was in the "good old times". Or am i missing something?
You miss the needs of the majority. This is like the request to add an automatism to keep the currently running kernel installed. If you need this you're in trouble and you're willing to kick the developers from the back. Lars -- Lars Müller [ˈlaː(r)z ˈmʏlɐ] Samba Team SUSE Linux, Maxfeldstraße 5, 90409 Nürnberg, Germany
participants (6)
-
Adam Tauno Williams
-
Andreas Jaeger
-
Florian Gleixner
-
Larry Stotler
-
Lars Müller
-
Per Jessen