This probably has been run through the mill before but I'm at a loss finding what I need here...
I have just upgraded kernels, 2.4.20-6 >>>---> 2.4.22 in redhat 9, using lilo as a boot loader.
Following the instructions that came with the tarball, I replace the 2.4.6-20 kernel image (vmlinuz-2.4.20-6 from initial installation) with the 2.4.22 image (bzImage - from make bzImage) but the first thing I notice is that the original installation, for some reason, specifies the initial ramdisk as "initrd-2.4.20-6" - i.e. why specify the kernel number unless different kernels will need a different stage-one boot?
Next off - though 2.4.22 DOES indeed boot, it isn't happy about it: some things zip past as [FAILED] in the boot up sequence. Most noteably the iptables bit - which seems to depend on some files in directories named after the kernel number (and presumably accessed by the script via uname-r).
I suspect I've missed out something in the install process - though I've followed all the steps in the README file. I'm currently scouring the ./documents for clues. I'd appreciate a hint or three as to where to look. (Should I have installed as an i686 rather than i386?)
And an aside: if "linear" is set in lilo, doesn't that mean that I cannot boot from floppy? Shouldn't I delete this line? And, why would anyone set it in the first place?
Lastly - I suspect I'll end up with Fedora. Should I bother? (Either with this above or with fedora.)
Thanks anyway, Simon
FWIW: here's the dmesg after the 2.4.22 install, the lilo.conf file is right at the end just in case it is as simple as that!
[simon@indigo-prime simon]$ dmesg
Linux version 2.4.22 (root@indigo-prime.subether.net) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #3 SMP Thu Jan 22 14:35:24 NZDT 2004
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000000dff0000 (usable)
BIOS-e820: 000000000dff0000 - 000000000dff3000 (ACPI NVS)
BIOS-e820: 000000000dff3000 - 000000000e000000 (ACPI data)
BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
223MB LOWMEM available.
found SMP MP-table at 000f5890
hm, page 000f5000 reserved twice.
hm, page 000f6000 reserved twice.
hm, page 000f0000 reserved twice.
hm, page 000f1000 reserved twice.
On node 0 totalpages: 57328
zone(0): 4096 pages.
zone(1): 53232 pages.
zone(2): 0 pages.
Intel MultiProcessor Specification v1.4
Virtual Wire compatibility mode.
OEM ID: OEM00000 Product ID: PROD00000000 APIC at: 0xFEE00000
Processor #0 Pentium 4(tm) XEON(tm) APIC version 17
I/O APIC #2 Version 17 at 0xFEC00000.
Enabling APIC mode: Flat. Using 1 I/O APICs
Processors: 1
Kernel command line: auto BOOT_IMAGE=linux-2.4.22 ro BOOT_FILE=/boot/bzImage hdc=ide-scsi
ide_setup: hdc=ide-scsi
Initializing CPU#0
Detected 2221.881 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 4430.23 BogoMIPS
Memory: 223352k/229312k available (1872k kernel code, 5576k reserved, 660k data, 128k init, 0k highmem)
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 128K
CPU: Hyper-Threading is disabled
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: After generic, caps: bfebfbff 00000000 00000000 00000000
CPU: Common caps: bfebfbff 00000000 00000000 00000000
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 128K
CPU: Hyper-Threading is disabled
Intel machine check reporting enabled on CPU#0.
CPU: After generic, caps: bfebfbff 00000000 00000000 00000000
CPU: Common caps: bfebfbff 00000000 00000000 00000000
CPU0: Intel(R) Celeron(R) CPU 2.20GHz stepping 09
per-CPU timeslice cutoff: 365.72 usecs.
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Error: only one processor found.
ENABLING IO-APIC IRQs
Setting 2 in the phys_id_present_map
...changing IO-APIC physical APIC ID to 2 ... ok.
init IO_APIC IRQs
IO-APIC (apicid-pin) 2-0, 2-5, 2-9, 2-11, 2-12, 2-19, 2-22 not connected.
..TIMER: vector=0x31 pin1=2 pin2=0
number of MP IRQ sources: 20.
number of IO-APIC #2 registers: 24.
testing the IO APIC.......................
IO APIC #2......
.... register #00: 02000000
....... : physical APIC id: 02
....... : Delivery Type: 0
....... : LTS : 0
.... register #01: 00178014
....... : max redirection entries: 0017
....... : PRQ implemented: 1
....... : IO APIC version: 0014
An unexpected IO-APIC was found. If this kernel release is less than
three months old please report this to
linux-smp@vger.kernel.org
.... register #02: 02000000
....... : arbitration: 02
.... IRQ redirection table:
NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
00 000 00 1 0 0 0 0 0 0 00
01 001 01 0 0 0 0 0 1 1 39
02 001 01 0 0 0 0 0 1 1 31
03 001 01 0 0 0 0 0 1 1 41
04 001 01 0 0 0 0 0 1 1 49
05 000 00 1 0 0 0 0 0 0 00
06 001 01 0 0 0 0 0 1 1 51
07 001 01 0 0 0 0 0 1 1 59
08 001 01 0 0 0 0 0 1 1 61
09 000 00 1 0 0 0 0 0 0 00
0a 001 01 0 0 0 0 0 1 1 69
0b 000 00 1 0 0 0 0 0 0 00
0c 000 00 1 0 0 0 0 0 0 00
0d 001 01 0 0 0 0 0 1 1 71
0e 001 01 0 0 0 0 0 1 1 79
0f 001 01 0 0 0 0 0 1 1 81
10 001 01 1 1 0 1 0 1 1 89
11 001 01 1 1 0 1 0 1 1 91
12 001 01 1 1 0 1 0 1 1 99
13 000 00 1 0 0 0 0 0 0 00
14 001 01 1 1 0 1 0 1 1 A1
15 001 01 1 1 0 1 0 1 1 A9
16 000 00 1 0 0 0 0 0 0 00
17 001 01 1 1 0 1 0 1 1 B1
IRQ to pin mappings:
IRQ0 -> 0:2
IRQ1 -> 0:1
IRQ3 -> 0:3
IRQ4 -> 0:4
IRQ6 -> 0:6
IRQ7 -> 0:7
IRQ8 -> 0:8
IRQ10 -> 0:10
IRQ13 -> 0:13
IRQ14 -> 0:14
IRQ15 -> 0:15
IRQ16 -> 0:16
IRQ17 -> 0:17
IRQ18 -> 0:18
IRQ20 -> 0:20
IRQ21 -> 0:21
IRQ23 -> 0:23
.................................... done.
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 2221.8748 MHz.
..... host bus clock speed is 100.9942 MHz.
cpu: 0, clocks: 1009942, slice: 504971
CPU0<T0:1009936,T1:504960,D:5,S:504971,C:1009942>
Waiting on wait_init_idle (map = 0x0)
All processors have done init_idle
PCI: PCI BIOS revision 2.10 entry at 0xfafc0, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
PCI: Using IRQ router default [1039/0651] at 00:00.0
PCI->APIC IRQ transform: (B0,I2,P2) -> 18
PCI->APIC IRQ transform: (B0,I3,P0) -> 20
PCI->APIC IRQ transform: (B0,I3,P1) -> 21
PCI->APIC IRQ transform: (B0,I3,P3) -> 23
PCI->APIC IRQ transform: (B0,I9,P0) -> 17
PCI->APIC IRQ transform: (B0,I10,P0) -> 17
PCI->APIC IRQ transform: (B0,I11,P0) -> 18
PCI->APIC IRQ transform: (B1,I0,P0) -> 16
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Installing knfsd (copyright (C) 1996
okir@monad.swb.de).
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI ISAPNP enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
Intel(R) PRO/1000 Network Driver - version 5.1.13-k1
Copyright (c) 1999-2003 Intel Corporation.
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 176M
agpgart: Detected SiS 651 chipset
agpgart: AGP aperture is 64M @ 0xe8000000
[drm] Initialized tdfx 1.0.0 20010216 on minor 0
[drm] AGP 0.99 on SiS @ 0xe8000000 64MB
[drm] Initialized radeon 1.1.1 20010405 on minor 1
[drm] AGP 0.99 on SiS @ 0xe8000000 64MB
[drm] Initialized i810 1.2.0 20010920 on minor 2
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
hda: Maxtor 90432D3, ATA DISK drive
hdb: ST38420A, ATA DISK drive
hdc: CW099D ATAPI CD-R/RW, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: attached ide-disk driver.
hda: host protected area => 1
hda: 8440992 sectors (4322 MB) w/256KiB Cache, CHS=525/255/63
hdb: attached ide-disk driver.
hdb: task_no_data_intr: status=0x51 { DriveReady SeekComplete Error }
hdb: task_no_data_intr: error=0x04 { DriveStatusError }
hdb: 16841664 sectors (8623 MB) w/512KiB Cache, CHS=1048/255/63
Partition check:
hda: hda1
hdb: hdb1 hdb2
SCSI subsystem driver Revision: 1.00
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2 <---<<<
es1371: version v0.32 time 00:43:11 Jan 22 2004
Linux Kernel Card Services 3.1.22
options: [pci] [cardbus] [pm]
usb.c: registered new driver hub
host/uhci.c: USB Universal Host Controller Interface driver v1.1
usb.c: registered new driver midi
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 16384)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
ds: no socket drivers loaded!
EXT2-fs warning (device ide0(3,65)): ext2_read_super: mounting ext3 filesystem
as ext2
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 128k freed
Adding Swap: 457844k swap-space (priority -1)
[simon@indigo-prime simon]$
............................
This is the lilo.conf file
prompt
timeout=100
default=linux-2.4.22
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
restricted
password=**********
message=/boot/message
linear
read-only
image=/boot/bzImage
label=linux-2.4.22
append="hdc=ide-scsi"
image=/boot/vmlinuz-2.4.20-6
label=linux-2.4.20-6
initrd=/boot/initrd-2.4.20-6.img
append="hdc=ide-scsi root=LABEL=/"
................................
The idea here is that if anything goes wrong I can still boot from the old kernel image.
As you can see...
I've given myself 10 seconds before the new kernel is booted.
The boot sector is where you'd expect - hda
"linear" is set - does this interfere with booting from disk?
initial boot will be read only, but read/write mode starts up on the full boot.
Do I need an explicit initrd= for bzImage?
What does root=LABEL=/ do? Yes - "root=" sets the location of the root directory whatever, but what is this "LABEL" doing here? Is "LABEL" the same as "label=linux-2.4.20-6"? or is this saying that the root prompt is a "/".
The /boot directory contains files called:
vmlinuz-2.4.20-6 [the old kernel image]
vmlinux-2.4-20-6 [what the ferkin?]
initrd-2.4.20-6 [the initial ramdisk]
bzImage [the new kernel image]
so, should I not also have a file called: initrd-2.4.22 ? or can I get away with the old one? Or is there an appropriate initial ramdisk somewhere else pointed to by the kernel image?