You are not logged in.
Hey all,
I think most people have had a chance to notice the initrd-enabled kernel looming over us in Testing. I know that it's worked flawlessly for some, and not worked at all for others.
So to all who have had problems or have questions, please share them here, even if you've already posted them elsewhere on the forum. Excuse my laziness in this regard, but it's more efficient to collect them all here.
The goal is to get these problems out of the way so we can trust the initrd kernel enough to move it into Current.
Thanks.
Offline
As I stated in earlier correspondence, my problem has been with the initrd stuff. When I reboot the system, with either initrd26.img or initrd26-full.img in use, I get thrown into the busybox and that's it - dead. I get:
"/bin/sh: can't access tty; job control turned off".
Nothing I do or change fixes this. I have verified the problem on two very different machines. Just FYI - the files I downloaded out of testing are:
mkinitrd-1.01-18.pkg.tar.gz
kernel26-2.6.14.2-1.pkg.tar.gz
I am currently running on my own compiled kernel until this can be resolved.
Thanks,
--Theoden :?
"If builders built buildings the way programmers write programs,
the first woodpecker that came along would destroy civilization."
Offline
what hardware are you using what have you included in your kernel?
Offline
Hi Theoden,
Okay, let's see.
1) Any notable messages in kernel backlog that you can see? Shift-PGUP and Shift-PGDN should scroll.
2) Take a closer look at the initrd.
[root@pluto ~]# cp /boot/initrd26.img ./initrd.gz
[root@pluto ~]# gunzip initrd.gz
[root@pluto ~]# mount -o loop initrd /mnt
Please post the output of ls -R /mnt so we can see if the initrd itself looks sane.
Offline
Also, if you want to cut down on the excess module clutter and you use boring old IDE like me, you can set REMOVE_SCSI=1 and REMOVE_SATA=1 in mkinitrd.conf and regenerate the initrd (mkinitrd auto). It's cleaner this way.
Offline
tpowa:
The first machine is a laptop:
Dell Inspiron 4000
CPU: Intel Pentium III (847.40-MHz 686-class CPU)
Video: ATI 3D Rage Mobile
Mem: 256 mb
Sound: ESS Technology Maestro3
The second machine is a desktop:
HP Vectra
CPU: Pentium III (Coppermine) (996.41-Mhz 686 CPU)
Video: ATI 3D Rage Pro AGP
Mem: 256 mb
Sound: Intel 82801AA-ICH
--Theoden :?
"If builders built buildings the way programmers write programs,
the first woodpecker that came along would destroy civilization."
Offline
Theoden we need to know what hostcontrollers are inside your pc, we need the IDE controller or anything related to get your harddrive mounted.
please post this, try to get it from dmesg whith a successfull kernel boot.
ah yes and filesystem is also needed.
initrd is only about harddrive mounting, not more so we need all input on that.
thanks
greetings
tpowa
Offline
although I had no problems with new kernel/initrd (after running mkinitrd auto a couple of times!)
Wiki page is a little confusing .... the mkinitrd.conf is different to mine & I'm not sure how you add modules ?
Do you need to wrap modules in "" quotes or not ?
After looking at linuxrc I was surprised that a simple loop was not used to load modules :? maybe I'm out of order for saying that but its just something I noticed...
More to the point It needs to be made clear what the advantages of initrd are (to Arch!) & what its capable of (thanks to phraky ;-))
Please do not take my post as a rant I'm just a poor (old) end user
Mr Green
Offline
initrd update went flawless for me, though I haven't tried tweaking it. Not going to bother, either. ;-)
Dusty
Offline
I had no problems with Initrd it self, or, it might relate to it, but it did boot.
The 2.6.14.2 kernel was using 100% of my CPU all the time. I have an Intel ICH6 based laptop, Centrino. I heard someone fixed it by recompiling the kernel, but I decided to just use 2.6.13.4 and test the next upgrade instead.
Offline
I'll give it a shot tommorow. So far no distros have discovered my new computer's EIDE controller, despite there being a driver available in the kernel.....
iphitus
Offline
I've been having a problems with it deciding what order it would like my harddrives in. I have 2 ide controler cards, via82cxxx and cmd64x, and it seems to reorder them on its whim based on some concept I don't quite understand. I just upgraded my kernel from 2.6.14-ck5 to -ck6 (the config and pkgbuild are based on the current one from testing). When I first ran mkinitrd I loaded all of the ide modules since I wasn't sure which module my via card was using. (hwd -s doesn't even report the via card and lshwd reports it uses the snd_via82xx driver, which is the sound cards driver... but anyway I was being too lazy to track it down at the time). The cmd64x card was being detected as the first ide controler, which wasn't good since this controler has my datadrives on it not my boot drive, and the linuxrc scritp in the initrd only makes the device nodes for the drives on the first controler. Last night I decieded to finally track down the right module for my "second" controler card so I could "optimize" my initrd (yes yes I know, it was working I should have left it alone). Now it's detecting the controlers in the proper order (I refer to the order as proper because its the order the stock 2.6.13 and 2.6.14-archck kernels that also exist on my system detect the controlers). I like this way better because now I can use the same fstab for all 3 kernels and I don't have to edit the linuxrc script everytime I make a new initrd image. But I can't help but wonder why its doing this? I'd like to keep it this way next time I upgrade the kernel if possible.
andy
Offline
My "first contact" :-) with initrd is described in this thread.
I used 0.7.1-pre1 install cd for my notebook. I don't want to use testing repo on this machine so everything is upgraded to current now except kernel (it's still 2.6.14-4). Initrd basically works ok. The only question is how to further reduce number of loaded modules (the REMOVE_MODULE="ide_floppy" doesn't work, ide_floppy module is loaded - maybe it's a matter of some boot parameter or it's just impossible?)
I don't have anything important to complain about :-)
BTW1 hwdetect --show-modules seems to hang up now on the notebook. It just doesn't display anything. I have to abort it with ctrl_c. It works well on other machines and it worked well before on the notebook too.
BTW2 kernel26 in testing still has "(IDE support)" in the description but I believe it now supports scsi too.
Offline
The only question is how to further reduce number of loaded modules (the REMOVE_MODULE="ide_floppy" doesn't work, ide_floppy module is loaded - maybe it's a matter of some boot parameter or it's just impossible?)
I also experience that issue with ide_floppy. Other than that, my custom initrd26.img works fine.
Offline
Offline
ide_floppy gets always included, if ide is enabled also cdrom modules.
that is because mkintrd does no autodetection and just includes modules that could make sense to be in it, if you don't want a module in initrd just put it to remove_modules="moduleA modulesB" and it gets removed.
to check what modules are in it just add --show option while building initrd.
greetings
tpowa
Offline
lanrat could you tell me which version of hwdetect does work on the notebook, then i can look what changed and breaks it now.
thanks
greetings
tpowa
Offline
if you don't want a module in initrd just put it to remove_modules="moduleA modulesB" and it gets removed.
That's the problem. I have REMOVE_MODULE="ide_floppy" and the module is still loaded. The mkinitrd version I'm using does not have --show option but I solved the problem meanwhile. It's about naming the module in REMOVE_MODULE. When I put ide-floppy ("-" in the place of "_") it worked. No ide_floppy module loaded. This means you have to use the real filename not the module name from lsmod output.
lanrat could you tell me which version of hwdetect does work on the notebook, then i can look what changed and breaks it now.
I was afraid you're going to ask this question (so many initscripts upgrades) :-)
I checked the pacman log and it says I had 3 upgrades of initscripts since the installation from 0.7.1-pre1:
0.7.1-2 -> 0.7.1-4,
0.7.1-4 -> 0.7.1-5,
0.7.1-5 - > 0.7.1-15
To make it easier for you I downloaded and tried all hwdetect versions from cvs. Staring from revision 1.17 backwards to revision 1.8 hwdetect --show-modules hangs up (yes, I remember there was a change of parameters syntax). Revisions 1.7 - 1.1 all work fine and show the modules.
The problem must be in this code.
I think the line:
cat `find /proc/ide -name "media"`
is the problem. I have only one file in /proc/ide called "drivers" (the notebook has one sata hard drive). The "find" command probably returns false to "cat". And cat is waiting for an input (I think). If I use "ctrl d" hwdetect continues and returns output (latest hwdetect works in this way too). IMO one additional test for find command true/false output would solve this issue. You should also check the rest of the code if it handles nonexisting devices.
PS Sorry for polluting initrd thread with hwdetect problems. Feel free to split the post and move it to apropriate thread.
Offline
could you try if the new version of hwdetect works?
revision 1.18
thanks
Offline
Confirmed. Hwdetect works ok now.
Offline
I've been having a problems with it deciding what order it would like my harddrives in. I have 2 ide controler cards, via82cxxx and cmd64x, and it seems to reorder them on its whim based on some concept I don't quite understand. Last night I decieded to finally track down the right module for my "second" controler card so I could "optimize" my initrd (yes yes I know, it was working I should have left it alone). Now it's detecting the controlers in the proper order (I refer to the order as proper because its the order the stock 2.6.13 and 2.6.14-archck kernels that also exist on my system detect the controlers). I like this way better because now I can use the same fstab for all 3 kernels and I don't have to edit the linuxrc script everytime I make a new initrd image. But I can't help but wonder why its doing this? I'd like to keep it this way next time I upgrade the kernel if possible.
Hi Andy,
Strange. You'd think that it would pick the same order each time, even if it was the wrong order. It sounds like you've already done the correct thing here, which is to manually add the necessary IDE modules (in your desired order) to the HOSTCONTROLLER_IDE variable in mkinitrd.conf.
Is that what you did, or did you find a solution elsewhere?
Offline
Just a quick check - those of you with unbootable systems due to the initrd, what is your root fs type?
Offline
i would like to have usbhid added as well when the usbsubsystem is enabled. knowing it's not exactly a i686 problem i have i just say this much: the mkinitrd stuff works fine on ppc but due to the fact that i need to use a usb-keyboard i can't do a thing except a hard-reset if it happens to drop me into the busybox shell.
I recognize that while theory and practice are, in theory, the same, they are, in practice, different. -Mark Mitchell
Offline
Good call, thanks Alex.
I'll add it for the next mkinitrd build.
Offline
Now I have run with initrd for a week, and it is aperantly working fine, but I get this eror during boot up.
Dec 7 18:31:19 arch RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Dec 7 18:31:19 arch RAMDISK: Compressed image found at block 0
Dec 7 18:31:19 arch RAMDISK: incomplete write (-28 != 32768) 4194304
As far as I understand, this error usually means that the initrd image is too large, but I have set this in my kernel config:
CONFIG_BLK_DEV_RAM_SIZE=4096
I even made my own initrd.img of just 0.5mb(<4mb):
-rw-r--r-- 1 root root 516K 2005-12-07 18:17 initrd26.img
but the same message? I am no kernel expert, so maybe its just a silly mistake, but I find i wierd?
Offline