Switch to generic kernel - unsuccessful
Hi, everyone! I am sorry in advance for my incompetence but i am stuck. I also know the fact that there are similar threads, for which i apologize one more time but i have project to work on and without solving this problem it will be hard to continue. I am running Slackware 14.1; kernel version 3.10.17. I installed it 2 days before and wanted to switch to the generic kernel but after i tried to do this, my system refused to boot the generic kernel. Running mkinitrd - getting this
Code:
ls: cannot access /sys/module/*_hcd/drivers/*: No such file or directory |
Switching to a generic kernel isn't too difficult, but can be challenging the first time you attempt it.
This first link helped me a lot in figuring it out. http://mirrors.slackware.com/slackwa.../README.initrd Make sure you install the three packages below (the generic kernel is probably already installed, but I installed it again anyway just to be safe). Once these packages are installed you can either follow the instructions in the link above, or the instructions in the link below - about half way down the page. kernel-generic-smp-3.10.17_smp-i686-3.txz kernel-modules-smp-3.10.17_smp-i686-3.txz mkinitrd-1.4.8-i486-1.txz http://docs.slackware.com/slackware:beginners_guide |
Quote:
|
I understand from the other thread that you are using mkinitrd_command_generator.sh, not mkinitrd.
Here are two solutions. (1) If you do not have LVM or LUKS or raid partitions, and you don't boot from a USB device, use mkinitrd - it's not difficult. See the file /boot/README.initrd . or (2) If you do have LVM or LUKS or raid partitions, but you don't boot from a USB device, edit /usr/share/mkinitrd/mkinitrd_command_generator.sh to comment out lines 453-455 Code:
# If we use any USB module, try to determine the Host Controller |
Quote:
Code:
[4.175116][<ffffffff8154fc46>]?rest_init+0x80/0x80 |
What steps are you taking to switch to a generic kernel?
|
Quote:
|
Quote:
Code:
$ ls -1 /sys/module/ Code:
$ lsusb -v There's code in mkinitrd_command_generator.sh that tells me that it should not attempt to find USB controllers unless one of your important boot devices (keyboard or perhaps a disk drive) needs USB to function. You aren't the first one to have had this problem recently. |
2 Attachment(s)
Quote:
|
OK, this is odd.
According to the lsusb output, you have an EHCI host controller on your system. You also don't appear to have a USB keyboard or a USB drive. Your /sys/module listing also shows an ehci_hcd subdirectory. I noticed some odd behavior while running some tests. I'm going to open another thread to ask about it (since it has something to do with what you're seeing). OK, there's something odd in my normal user's profile that changes the way my interactive shell works compared to running the same command within a shell script. A brand new user with no special changes to the account works as expected. Please run the following command while logged in as root: Code:
for i in $(ls -Ld /sys/module/*_hcd/drivers/*); do ls -L ${i}; done Code:
~$ for i in $(ls -Ld /sys/module/*_hcd/drivers/*); do ls -L ${i}; done |
Quote:
Code:
ls: cannot access /sys/module/*_hcd/drivers/*: No such file or directory |
OK, try this:
As root, edit the file /usr/share/mkinitrd/mkinitrd_command_generator.sh and change line 238 from Code:
for i in $(ls -Ld /sys/module/*_hcd/drivers/*); do Code:
for i in $(/bin/ls -Ld /sys/module/*_hcd/drivers/*); do |
Quote:
|
Just maybe the permission bits have been screwed up? (like no read access for anyone, including root)
|
As root, what do you get when you run...
Code:
for i in $(/bin/ls -Ld /sys/module/*_hcd/drivers/*); do /bin/ls -L ${i}; done As root, what does the command... Code:
alias As root, what does the command... Code:
/bin/ls -Ld /sys/module/ehci_hcd/drivers/* I've seen an issue where a user had 'ls' aliased to something stupid, which would break some of the above commands. (That user, by the way, was my normal login user on my main system. I fixed that alias this morning due to this thread.) |
Quote:
Code:
/bin/ls: cannot access /sys/module/*_hcd/drivers/*: No such file or directory 3. Code:
/bin/ls: cannot access /sys/module/ehci_hcd/drivers/*: No such file or directory |
Didn't expect that answer for #3.
This should be the last request for output (since you're probably getting tired of running random commands). What is the output of the command (run as root) Code:
lspci -k |
Quote:
Code:
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09) |
BTW, I'm willing to work with you until we figure out what the problem is. If you have other things to do, found a workaround, or just don't want to spend time to debug this issue for whatever reason, I'm fine with that. Please just let me know.
Looking through the mkinitrd_command_generator.sh code, the portion of the script that blows up for you should only be run if the script concludes that you need a usb device of some sort. It looks for a USB keyboard input device and it also looks for a usb storage device (such as a usb stick/storage card). Then again, from this post, you either rolled your own mkinitrd command or modified the script to not run "MLIST=$(add_usb_hcd)". If you did the last bit, then you might actually need the usb controller. From your lsusb output given a while ago, you don't appear to have a usb keyboard; but, it's possible that the script is misinterpreting something. It's also possible that the function determine_blockdev_drivers is returning something with the string "usb" in it. So, please modify /usr/share/mkinitrd/mkinitrd_command_generator.sh from Code:
439 # Determine the list of kernel modules needed to support the root device: Code:
439 # Determine the list of kernel modules needed to support the root device: Then run /usr/share/mkinitrd/mkinitrd_command_generator.sh as root (sorry) and post the results. On my machine, I get Code:
root@darkstar:~# /usr/share/mkinitrd/mkinitrd_command_generator.sh If the output of that "echo $MLIST" command does not contain the string "usb" in it, then please provide the output of Code:
cat /proc/bus/input/devices |
Of course, I am willing to work with you too but now I am not with this computer so I will post the output of the commands with delay. Will this be a problem for you? Thank you for the patience.
|
It is not a problem at all. Post the output when it is convenient for you.
|
I tried a renaming of the ehci item, not sure if it's correct but error went away:
Instead of "for i in $(ls -Ld /sys/module/*_hcd" used "for i in $(ls -Ld /sys/module/*_pci" --Ed |
Quote:
|
well... no help? ...
|
Quote:
Open a new thread, explain what you want, what you tried, what errors you got and where you got stuck. People will certainly help you then. |
All times are GMT -5. The time now is 10:31 PM. |