Skip to contentSkip to conversation

lilo kernel params failure

DISCUSSION [email protected] 3 participants 3 messages Feb 27, 2001 – Feb 28, 2001

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

I have been strugling with this for some time now.

It looks like a failure of lilo to pass kernel params ( append="...." ) But we have been through the code and fail to find a reason. this happens with the lilo-mtd in the cvs /patches area and we have patched 21 with the same results.
We are using DoC 2000 with kernel 2.4.2 though this has been happening for months really.
Anyone have any ideas?

To unsubscribe, send "unsubscribe mtd" to [email protected]

#1 lore raw
Quoted 9 lines · On Mon, Feb 26, 2001 at 08:58:21PM -0500, [email protected] wrote:

I have been strugling with this for some time now.

It looks like a failure of lilo to pass kernel params ( append="...." ) But we have been through the code and fail to find a reason. this happens with the lilo-mtd in the cvs /patches area and we have patched 21 with the same results.
We are using DoC 2000 with kernel 2.4.2 though this has been happening for months really.
Anyone have any ideas?

I sent a patch here few months ago for lilo-mtd, i havent checked if it got applied. Attached again, just for case.
Another option is to use lilo available from m-sys (this one is a bit newer version if i recall correctly).

pkx

Signature · 3 lines
Peter Kundrat
[email protected]
[email protected] (a copy goes to work)
lilo.h +2 -1
diff -ur lilo.orig/lilo.h lilo/lilo.h
@@ -149,10 +151,12 @@
 FIRSTSEG  = 0x9A00
 STACKSEG  = 0x9000
 SECONDSEG = 0x9B00			! second stage loader segment
+PARMLINE  = 0x2A00			! parameter line construction area off.
 #else
 FIRSTSEG  = 0x8A00
 STACKSEG  = 0x8000
 SECONDSEG = 0x8B00			! second stage loader segment
+PARMLINE  = 0xD000			! parameter line construction area off. (0x98000)
 #endif
 
 INITSEG   = DEF_INITSEG			! we move boot here - out of the way
@@ -164,7 +168,6 @@
 DFLCMD	  = 0x2600			! default command line
 MAP	  = 0x2000			! map load area offset
 KEYTABLE  = 0x2800			! keyboard translation table offset
-PARMLINE  = 0x2a00			! parameter line construction area off.
 SECOND	  = 0x1000			! second stage loader load address
 SECOND_SS = 0xB000			! second as seen from SS:0000
 SLA_SIZE  = 0x9E00			! setup load area size
second.S +9 -3
diff -ur lilo.orig/second.S lilo/second.S
@@ -830,9 +830,15 @@
 	call	load1
 	seg	es
 	mov	CL_MAGIC_ADDR,#CL_MAGIC ! set magic number
-	seg	es
-	mov	word ptr CL_OFFSET,#PARMLINE+SECOND_SS
-				! set parameter line offset
+#ifndef LCF_LARGE_EBDA
+        seg     es
+        mov     word ptr CL_OFFSET,#PARMLINE+SECOND_SS
+                                ! set parameter line offset
+#else
+        seg     es
+        mov     word ptr CL_OFFSET,#PARMLINE+SECONDSEG*16-INITSEG*16
+                                ! set parameter line offset
+#endif
 	pop	si		! restore SI
 	lodsw			! get flags bit map
 	mov	bx,ax
#2 lore raw
In reply to [email protected]
Quoted 10 lines · At 20.58 26/02/01 -0500, [email protected] wrote:

I have been strugling with this for some time now.

It looks like a failure of lilo to pass kernel params ( append="...." ) But we have been through the code and fail to find a reason. this happens with the lilo-mtd in the cvs /patches area and we have patched 21 with the same results.
We are using DoC 2000 with kernel 2.4.2 though this has been happening for months really.
Anyone have any ideas?

I have a patch for LILO 21.6.1. It works well for me with kernel 2.4.0.

Bye.

Makefile +4 -0
diff -r -u lilo-21.6.1/Makefile lilo-21.6.1-mtd/Makefile
@@ -50,6 +50,10 @@
   sed 's/-D/-DLCF_/g'` `[ -r /usr/include/asm/boot.h ] && echo -DHAS_BOOT_H`
 GO=-DGO=0x`sed '/go/s/^.*go *0 \(....\) A.*$$/\1/p;d' first.lis`
 
+#patched lilo NO need for this with new LILO
+#CONFIG+= -DLCF_LARGE_EBDA
+#PCONFIG+= -DLCF_LARGE_EBDA
+
 SHELL=/bin/sh
 CC=cc
 CPP=$(CC) -E
geometry.c +12 -2
diff -r -u lilo-21.6.1/geometry.c lilo-21.6.1-mtd/geometry.c
@@ -125,7 +125,8 @@
       MAJOR(dev) == MAJOR_IDE3 || MAJOR(dev) == MAJOR_IDE4 ||
       MAJOR(dev) == MAJOR_IDE5 || MAJOR(dev) == MAJOR_IDE6 ||
       MAJOR(dev) == MAJOR_XT || MAJOR(dev) == MAJOR_SD ||
-      MAJOR(dev) == MAJOR_ESDI || MAJOR(dev) == MAJOR_DAC960;
+      MAJOR(dev) == MAJOR_ESDI || MAJOR(dev) == MAJOR_DAC960 || 
+      MAJOR(dev) == MAJOR_FL || MAJOR(dev) == MAJOR_NFTL;
 }
 
 
@@ -310,8 +311,14 @@
 	    /* fall through */
 	case MAJOR_ESDI:
 	    /* fall through */
+	case MAJOR_FL:
+        case MAJOR_NFTL:
+	    /* fall through */
 	case MAJOR_XT:
-	    geo->device = 0x80+(MINOR(device) >> 6)+(MAJOR(device) == MAJOR_HD ?
+	    geo->device = 0x80+(MINOR(device) >> 6)+(
+	      (MAJOR(device) == MAJOR_HD || 
+	       MAJOR(device) == MAJOR_FL ||
+	       MAJOR(device) == MAJOR_NFTL) ?
 	      0 : last_dev(MAJOR_HD,64));
 	    if (ioctl(fd,HDIO_GETGEO,&hdprm) < 0)
 		die("geo_query_dev HDIO_GETGEO (dev 0x%04x): %s",device,
@@ -403,6 +410,9 @@
 	case MAJOR_IDE6:
 	    /* fall through */
 	case MAJOR_ESDI:
+	    /* fall through */
+	case MAJOR_FL:
+        case MAJOR_NFTL:
 	    /* fall through */
 	case MAJOR_XT:
 	    return MINOR(device) >> 6 ? 0 : !last_dev(MAJOR_HD,64);
lilo.h +2 -0
diff -r -u lilo-21.6.1/lilo.h lilo-21.6.1-mtd/lilo.h
@@ -42,6 +42,8 @@
 #define MAJOR_IDE5	55 /* IDE on fifth interface */
 #define MAJOR_IDE6	57 /* IDE on sixth interface */
 #define COMPAQ_SMART2_MAJOR	72 /* First Smart/2 Major */
+#define MAJOR_FL        62 /* M-Systems Disk On Chip 2000 */
+#define MAJOR_NFTL      93 /* M-Systems DOC2000 NFTL driver */
 
 #define MAX_IMAGES      ((SECTOR_SIZE*2-2)/sizeof(IMAGE_DESCR))
 			  /* maximum number of images */