LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Problem booting generic kernel and another problem with fluxbox - libpng warning (http://www.linuxquestions.org/questions/slackware-14/problem-booting-generic-kernel-and-another-problem-with-fluxbox-libpng-warning-768270/)

Switch7 11-10-2009 05:06 PM

Problem booting generic kernel and another problem with fluxbox - libpng warning
 
I made a post before that booting was slow but I realized I been booting the huge kernel that is used by default all this time. I been trying to use the generic kernel instead and read the mkinitrd man page and README.initrd in /boot and tried it but had no luck.

My partition scheme looks like:

Code:

/dev/sda1 /boot ext2
/dev/sda2 /root ext4
/dev/sda3 swap
/dev/sda4 /home ext4
/dev/sdb1 /var reiserfs
/dev/sdb2 /storage ext4

As root, I did:

Code:

mkinitrd -c -k 2.6.29.6 -m mbcache:jbd:ext4 -f ext4 -r /dev/sda2
And this created a initrd.gz in /boot.

This was my original /etc/lilo.conf

Code:

# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz
  root = /dev/sda2
  label = Linux
  read-only
# Linux bootable partition config ends

but I changed it to:

Code:

# Linux bootable partition config begins
image = /boot/vmlinuz-generic-2.6.29.6
  initrd = /boot/initrd.gz
  root = /dev/sda2
  label = Linux
  read-only
# Linux bootable partition config ends

I typed "Lilo" and updated the new configuration. I rebooted and it had absolutely no change than before.
__________________________

Also I have problem with fluxbox. Although I can set the background wallpaper with ~/.fluxbox/init,

Code:

session.screen0.rootCommand:    fbsetbg -f /home/myname/Pictures/background.png
I'm constantly getting:

Quote:

Xmodmap: Unable to openfile '/home/myname/Xmodmap' for reading
Xmodmap: 1 error encountered, aborting.
wmsetbg: warning: could not open domain file '/home/myname/GNUstep/Defaults/WindowsMaker
libpng warning: Incomplete compressed datastream in iCCP chunk
libpng warning: Profile size field missing from iCCP chunk
I made a post before about my computer constantly freezing and the culprit was setting the background on fluxbox using the overlay. I'm able to replicate this freezing setting the wallpaper using overlay so I want to avoid using that method.

I'm curring using (doing fbsetbg -i)

Code:

wmsetbg is a nice wallpapersetter. You won't have any problems.
to set my wallpaper.

MQMan 11-10-2009 07:15 PM

What's the "boot=" set to in lilo.conf.

How do you know you are booting the huge kernel.

Also, try setting "compact" in lilo.conf, as without that all kernels appear to load slowly.

Cheers.

Switch7 11-10-2009 08:08 PM

Quote:

Originally Posted by MQMan (Post 3752281)
What's the "boot=" set to in lilo.conf.

How do you know you are booting the huge kernel.

Also, try setting "compact" in lilo.conf, as without that all kernels appear to load slowly.

Cheers.

I have boot=/dev/sda

When I reinstalled slackware yesterday and loaded the huge.s kernel, it's the same as what's loading when I boot this desktop which is slow.

I already did the compact in lilo.conf but that's not the slow part since the entire .... gets loaded in 2 seconds.

Switch7 11-13-2009 06:04 PM

I solved the fluxbox problem by using feh from slackbuilds to set my wallpaper.
The other error along is all solved since I noticed fluxbox was trying to load xmodmap on start but I removed that. The linpng warning was because of something was wrong with the image and I replaced it and the warning disappeared.

I can't seem to solve the mkinitrd problem though. According to the README.initrd, the method I posted should be perfect.

When I installed slackware, I did a full install so the requirement that's listed in the README should be fulfilled. When I installed it, I remember seeing something like "generic-kernel-2.6.29.6 (requires mkinitrd)" so I think I'm still loading the huge kernel since the mkinitrd doesn't seem to be working.

I'm not sure if this matters but doing "uname -a" gives me:

Quote:

Linux 2.6.29.6 #2 SMP Mon Aug 17 11:58:18 CDT 2009 x86_64

disturbed1 11-13-2009 09:46 PM

mkinitrd -c -k 2.6.29.6 -m mbcache:jbd:ext4 -f ext4 -r /dev/sda2

You don't have the modules for your chipset.

Switch7 11-13-2009 11:22 PM

Quote:

Originally Posted by disturbed1 (Post 3756502)
mkinitrd -c -k 2.6.29.6 -m mbcache:jbd:ext4 -f ext4 -r /dev/sda2

You don't have the modules for your chipset.

Thank you. I realized my mistake and did a search and found Alien BOB's script to figure this out.

Code:

#
# mkinitrd_command_generator.sh revision 1.40
#
# This script will now make a recommendation about the command to use
# in case you require an initrd image to boot a kernel that does not
# have support for your storage or root filesystem built in
# (such as the Slackware 'generic' kernels').
# A suitable 'mkinitrd' command will be:

mkinitrd -c -k 2.6.29.6 -f ext4 -r /dev/sda2 -m usbhid:ehci-hcd:uhci-hcd:crc16:jbd2:mbcache:ext4 -o /boot/initrd.gz

I cd to /boot and did:
Code:

mkinitrd -c -k 2.6.29.6 -f ext4 -r /dev/sda2 -m usbhid:ehci-hcd:uhci-hcd:crc16:jbd2:mbcache:ext4 -o /boot/initrd.gz
My cd /boot looks like:

Code:

root@myname:/boot# ls -a
./              System.map@                  boot.0800        config-generic-2.6.29.6  diag2.img    lost+found/  vmlinuz@
../            System.map-generic-2.6.29.6  boot_message.txt  config-huge-2.6.29.6    initrd-tree/  map          vmlinuz-generic-2.6.29.6
README.initrd@  System.map-huge-2.6.29.6    config@          diag1.img                initrd.gz    slack.bmp    vmlinuz-huge-2.6.29.6

I edited my lilo.conf just like how I did it before in my first post in this thread.

Code:

# Linux bootable partition config begins
image = /boot/vmlinuz-generic-2.6.29.6
  initrd = /boot/initrd.gz
  root = /dev/sda2
  label = Linux
  read-only
# Linux bootable partition config ends

I typed lilo after and rebooted but there was no change.

I doubled checked if I have the requirement listed in the README and it looked fine.

Quote:

root@myname:~# slackpkg search kernel-generic kernel-modules mkinitrd

The list below shows all packages with the selected pattern.

[ installed ] - kernel-generic-2.6.29.6-x86_64-2
[ installed ] - kernel-modules-2.6.29.6-x86_64-2
[ installed ] - mkinitrd-1.3.4-x86_64-3

disturbed1 11-14-2009 02:13 AM

Quote:

usbhid:ehci-hcd:uhci-hcd:crc16:jbd2:mbcache:ext4
Still no chipset module, those are only for usb and ext4 - actually, passing -m ext4 will automaticially pull in crc16 , mbcache, and jbd2.

For my PC which has an Intel P45 chipset with ICH10 controller, also has a JMicron controller, but the hard drives are attached to the ICH10 controller, I would include -

-m shpchp:ahci:ext4

You want to do lspci -k to get the modules in use for anything that says SATA, or IDE interface - which ever your boot drive is connected to. Out of habbit I always include the PCI bridge (shpchp). USB is not needed for an intrid unless you are booting from an USB drive. An initrd should only contain the modules neccessary to get / mounted. Once / is mounted the kernel will auto load the modules on demand as needed.

If you post a complete lspci -k we'll help you with an initrd.

Switch7 11-14-2009 02:20 AM

Quote:

Originally Posted by disturbed1 (Post 3756635)
Still no chipset module, those are only for usb and ext4 - actually, passing -m ext4 will automaticially pull in crc16 , mbcache, and jbd2.

For my PC which has an Intel P45 chipset with ICH10 controller, also has a JMicron controller, but the hard drives are attached to the ICH10 controller, I would include -

-m shpchp:ahci:ext4

You want to do lspci -k to get the modules in use for anything that says SATA, or IDE interface - which ever your boot drive is connected to. Out of habbit I always include the PCI bridge (shpchp). USB is not needed for an intrid unless you are booting from an USB drive. An initrd should only contain the modules neccessary to get / mounted. Once / is mounted the kernel will auto load the modules on demand as needed.

If you post a complete lspci -k we'll help you with an initrd.

Thank you very much. :)

Code:

00:00.0 Host bridge: Intel Corporation 5520/5500/X58 I/O Hub to ESI Port (rev 13)
        Subsystem: Intel Corporation Device 0000
00:01.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 1 (rev 13)
        Kernel driver in use: pcieport-driver
        Kernel modules: shpchp
00:03.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 3 (rev 13)
        Kernel driver in use: pcieport-driver
        Kernel modules: shpchp
00:07.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 7 (rev 13)
        Kernel driver in use: pcieport-driver
        Kernel modules: shpchp
00:14.0 PIC: Intel Corporation 5520/5500/X58 I/O Hub System Management Registers (rev 13)
00:14.1 PIC: Intel Corporation 5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers (rev 13)
00:14.2 PIC: Intel Corporation 5520/5500/X58 I/O Hub Control Status and RAS Registers (rev 13)
00:14.3 PIC: Intel Corporation 5520/5500/X58 I/O Hub Throttle Registers (rev 13)
00:19.0 Ethernet controller: Intel Corporation 82567V-2 Gigabit Network Connection
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: e1000e
        Kernel modules: e1000e
00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: uhci_hcd
        Kernel modules: uhci-hcd
00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: uhci_hcd
        Kernel modules: uhci-hcd
00:1a.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: uhci_hcd
        Kernel modules: uhci-hcd
00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: ehci_hcd
        Kernel modules: ehci-hcd
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: HDA Intel
        Kernel modules: snd-hda-intel
00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 1
        Kernel driver in use: pcieport-driver
        Kernel modules: shpchp
00:1c.1 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 2
        Kernel driver in use: pcieport-driver
        Kernel modules: shpchp
00:1c.2 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 3
        Kernel driver in use: pcieport-driver
        Kernel modules: shpchp
00:1c.3 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 4
        Kernel driver in use: pcieport-driver
        Kernel modules: shpchp
00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: uhci_hcd
        Kernel modules: uhci-hcd
00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: uhci_hcd
        Kernel modules: uhci-hcd
00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: uhci_hcd
        Kernel modules: uhci-hcd
00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: ehci_hcd
        Kernel modules: ehci-hcd
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)
00:1f.0 ISA bridge: Intel Corporation 82801JIR (ICH10R) LPC Interface Controller
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel modules: iTCO_wdt
00:1f.2 IDE interface: Intel Corporation 82801JI (ICH10 Family) 4 port SATA IDE Controller
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: ata_piix
00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: i801_smbus
        Kernel modules: i2c-i801
00:1f.5 IDE interface: Intel Corporation 82801JI (ICH10 Family) 2 port SATA IDE Controller
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: ata_piix
02:00.0 SATA controller: JMicron Technology Corp. 20360/20363 Serial ATA Controller (rev 03)
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: ahci
02:00.1 IDE interface: JMicron Technology Corp. 20360/20363 Serial ATA Controller (rev 03)
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: JMicron IDE
        Kernel modules: pata_jmicron
03:00.0 FireWire (IEEE 1394): VIA Technologies, Inc. Device 3403
        Subsystem: Hewlett-Packard Company Device 2a86
        Kernel driver in use: ohci1394
        Kernel modules: ohci1394
04:00.0 Network controller: RaLink RT2860
        Subsystem: Lite-On Communications Inc Device 7600
        Kernel driver in use: rt2860
        Kernel modules: rt2860sta
07:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce GTS 250] (rev a2)
        Subsystem: eVga.com. Corp. GeForce GTS 250 P/N 01G-P3-1155-TR
        Kernel driver in use: nvidia
        Kernel modules: nvidia, nvidiafb


disturbed1 11-14-2009 02:25 AM

Try this for the -m section

Code:

-m ext4:shpchp:ahci:ata_piix:pata_jmicron

Switch7 11-14-2009 02:33 AM

Quote:

Originally Posted by disturbed1 (Post 3756644)
Try this for the -m section

Code:

-m ext4:shpchp:ahci:ata_piix:pata_jmicron

Thank you once again. Just making sure since I noticed something strange,

My original mkinitrd is:
Code:

mkinitrd -c -k 2.6.29.6 -f ext4 -r /dev/sda2 -m usbhid:ehci-hcd:uhci-hcd:crc16:jbd2:mbcache:ext4 -o /boot/initrd.gz
I was looking at other peoples mkinitrd and it seems like I'm the only with the "-o /boot/initrd.gz" at the end. Should I add that in so it's something like:

Code:

mkinitrd -c -k 2.6.29.6 -f ext4 -r /dev/sda2 -m ext4:shpchp:ahci:ata_piix:pata_jmicron -o /boot/initrd.gz
or just
Code:

mkinitrd -c -k 2.6.29.6 -f ext4 -r /dev/sda2 -m ext4:shpchp:ahci:ata_piix:pata_jmicron
should be good?

I was wondering about this because I have a seperate /boot and /root partition and maybe this could cause a problem but I noticed you said /root so /boot has nothing to do with this?

disturbed1 11-14-2009 02:39 AM

The -o options tells mkinitrd where to drop it's file at. This helps when running more than one kernel or more than one initrd. So you can -o /boot/test1.gz -o /boot/initrd2.gz -o /some/where/something.gz

The intitrd should go into /boot to keep things sane. Kernels, configs .... keep them in once place - just makes things easier By default, not passing an -o option, mkinitrd makes the file as /boot/initrd.gz. So, -o /boot/initrd.gz is the default :)

Switch7 11-14-2009 02:42 AM

Quote:

Originally Posted by disturbed1 (Post 3756654)
The -o options tells mkinitrd where to drop it's file at. This helps when running more than one kernel or more than one initrd. So you can -o /boot/test1.gz -o /boot/initrd2.gz -o /some/where/something.gz

The intitrd should go into /boot to keep things sane. Kernels, configs .... keep them in once place - just makes things easier By default, not passing an -o option, mkinitrd makes the file as /boot/initrd.gz. So, -o /boot/initrd.gz is the default :)

I see, thank you very much! Testing it out now :)

Switch7 11-14-2009 02:46 AM

I finished testing it and nothing changed. I already had a initrd.gz in /boot so maybe I should rm initrd-tree/ and initrd.gz from /boot then redo it again?

disturbed1 11-14-2009 02:53 AM

Quote:

Originally Posted by Switch7 (Post 3756662)
I finished testing it and nothing changed. I already had a initrd.gz in /boot so maybe I should rm initrd-tree/ and initrd.gz from /boot then redo it again?

What is not changing?

edit -------- re-re-read the entire post again.

Changing from Huge to generic kernel will not make a big difference in boot speed. Changing these kernels will only effect the initial decompression of the kernel. Maybe 2-4 seconds depending on your PC.

Things to speed up boot time -

add noatime to your fstab. The part that says defaults - change that to noatime.

chmod -x non essestial services in /etc/rc.d

edit /etc/rc.d/rc.M to stop some of the gtk updating and ldconfig. NOTE these serve a purpose and are a good idea, but if you're impatient they can save a few more seconds. Make a backup copy first.

Switch7 11-14-2009 02:58 AM

Quote:

Originally Posted by disturbed1 (Post 3756665)
What is not changing? I reviewed your lilo.config, looks OK at first glance. But try this instead nothing different, but instead of removing the huge kernel option, just adds the generic kernel option.

Code:

# Linux bootable partition config begins
# Keep Huge Kernel option just incase
image = /boot/vmlinuz
  root = /dev/sda2
  label = Linux
  read-only
# Add Option for generic Kernel
image = /boot/vmlinuz-generic-2.6.29.6
 initrd = /boot/initrd.gz
 root = /dev/sda2
 label = Linux2
 read-only
# done

And of course choose Linux2 from the lilo prompt.

Thanks. It's still loading the exact same kernel (huge kernel) even though it should be loading the generic kernel instead.


All times are GMT -5. The time now is 11:29 AM.