disk w/cyl >1024 and lilo

disk w/cyl >1024 and lilo

Post by Stewart All » Sat, 27 Aug 1994 10:01:23



 My partition table goes as follows:

   Device Boot  Begin   Start     End  Blocks   Id  System
/dev/sda1   *       1       1     350  358384    6  DOS 16-bit >=32M
/dev/sda2         351     351     700  358400   63  GNU HURD
/dev/sda3         701     701    1000  307200    7  OS/2 HPFS
/dev/sda4        1001    1001    1685  701440    5  Extended
Partition 4 has different physical/logical endings:
     phys=(1023, 63, 32) logical=(1684, 63, 32)
/dev/sda5   *    1001    1001    1300  307184   83  Linux native
/dev/sda6        1024    1301    1332   32752   82  Linux swap

 and the lilo error is :

geo_comp_addr: Cylinder number is too big (1248 > 1023)

 Is there any way to get lilo to install this without making the entire
 partition reside below 1024?

--


         M.I.S. Manager * Open Environment Corporation * 617.562.0900          
                       25 Travis St * Boston, Ma * 02134                      
 -- - -- - -- - --  That's my story and I'm stickin' to it   -- - -- - -- - --

 
 
 

disk w/cyl >1024 and lilo

Post by Stephen Harr » Mon, 29 Aug 1994 19:32:38


: If you boot from floppy are there any restrictions with regard to
: the 1024 limit?

Depends.  If the kernel is on the floppy, and you mount the hard disk as / then
the answer is NO.

eg to build the kernel
  modify the Makefile so the ROOTDEV is set correctly, then
  make
  make zdisk

Will make a boot floppy that will work.

Or, you can build a filesystem on the floppy, put the kernel on that, and use
LILO, but in the lilo config file specify 'root=/dev/hda3' (or whatever) and
THAT should work as well.

Hope this helps.
--

rgds
Stephen

 
 
 

disk w/cyl >1024 and lilo

Post by Haakon Loevd » Tue, 30 Aug 1994 06:32:01





: In newsgroup: comp.os.linux.help
: >
: >  Is there any way to get lilo to install this without making the entire
: >  partition reside below 1024?
: >

: Your kernel image and the files in /boot must be below the 1024 limit,
: since they are part of the real-mode bootstrap code, which use the
: BIOS.  If you put your kernel images in /boot as well, you can have a
: small partition below the 1024 limit which mounts as /boot.

: There is no requirement that the root partition is below 1024.

:       /hpa
: --

: IBM MAIL: I0050052 at IBMMAIL     HAM RADIO:   N9ITP or SM4TKN
: FIDONET:  1:115/511 or 1:115/512  STORMNET:    181:294/1 or 181:294/101
: Linux: a free UNIX clone for the 386.  Get yours today from tsx-11.mit.edu!

--
-------------------------------------------------------------------------
 Haakon Loevdal, 21 years old student.
 Studying electronics at
 HiA, Grimstad, Norway.           Linux, the choise of a GNU generation !
 e-mail:

     X.400:  G=hakon;S=lovdal;OU=ban;O=aid;P=uninett;A=uninett;C=no

 
 
 

disk w/cyl >1024 and lilo

Post by Werner Almesberg » Tue, 30 Aug 1994 05:39:27



> If you boot from floppy are there any restrictions with regard to
> the 1024 limit?

Not if kernel and /boot are on the floppy. But access to floppies (booting,
putting new kernels there, etc.) tends to be a bit slow ...

- Werner
--
   _________________________________________________________________________


 
 
 

disk w/cyl >1024 and lilo

Post by Haakon Loevd » Wed, 31 Aug 1994 04:15:23





>In newsgroup: comp.os.linux.help

>>  Is there any way to get lilo to install this without making the entire
>>  partition reside below 1024?

>Your kernel image and the files in /boot must be below the 1024 limit,
>since they are part of the real-mode bootstrap code, which use the
>BIOS.  If you put your kernel images in /boot as well, you can have a
>small partition below the 1024 limit which mounts as /boot.

>There is no requirement that the root partition is below 1024.

Yes, you're right. The partions that you want to boot must lie within
the first 1024 cylinders. Therefore OS/2's BootManager refuses to
include any partions beyond that. But both installing DOS, OS/2 and
Linux at the begining of your harddisk isn't always what you want.
So here is a short description how to make a little partion (3MB), to install
LILO on, that lies before the 1024th cylinder, so you can add it to OS/2's
BootManager's menu, if you want to have Linux installed at a partion at
the end of your harddisk.
(This subject should really be added to a FAQ, harddisks larger than 512MB
isn't unusual, and is definitively not going to be less usual in the
future...)

Here is my harddisk setup, I will refer to this in commands, etc.
/dev/hda1        -  extended
/dev/hda2    1MB -  BootManager
/dev/hda3  400MB -  primary DOS FAT (C:)
/dev/hda5  100MB -  logical, OS/2 hpfs
/dev/hda6    3MB -  logical, small LILO-partion
/dev/hda7  250MB -  logical, OS/2 hpfs
/dev/hda8  250MB -  logical, Linux

Install OS/2, and use OS/2's fdisk to make all your partions, and a little
partion (3MB) that lies before the 1024 cylinder (512MB, and BM will not set
it bootable if it lies after), and add it to the boot manager's menu.

Then install Linux, and make a bootable floppy (using setup)!
After finishing the installation of Linux on /dev/hda8, you must make
a Linux-filesystem (i.e ext2) on /dev/hda6:
(Warning, not 100% sure of the syntax, check the manpage !)
#mkfs -t ext2 /dev/hda6

Note: /dev/hda6 was made by OS/2's fdisk, and such a little partion does
not need more than 12 bits FAT, so OS/2's fdisk marks with ID 1 (FAT12).
When you make it into a Linux-filesystem with mkfs, mkfs does not change
this ID, so you must manualy do this with fdisk. Select the menuitem for
changing partion ID's, and change /dev/hda6 from 1 (FAT12) to
83 (Linux native). This is important, LILO wont work if you don't (although
there is no problem with mounting and accessing the disk when you have
booted /dev/hda8).

Then mount /dev/hda6:
#mkdir /lilodisk ; mount -t ext2 /dev/hda6 /lilodisk
or (better)
#echo /dev/hda6 /lilodisk ext2 defaults >> /etc/fstab
#mkdir /lilodisk ; mount /dev/hda6

Then copy (or move) all the LILO-files to /lilodisk with the same
directorystructure, i.e from /etc/lilo.conf to /lilodisk/etc/lilo.conf .
The files that "belongs" to LILO is listed in the file INCOMPATIB* that
lies with some other lilodocumentation (can't remember exactly the name
or where). /sbin/lilo is not necessary to move. But you must copy the
kernel file (should be called /vmlinuz) to /lilodisk/vmlinuz because
/dev/hda6 will be / when LILO first boots.

LILO will also need the devices for the two harddiskpartions when it
boots, so enter:
#cd /lilodisk ; mkdir dev ; cp -a /dev/hda6 dev/hda6
#cp -a /dev/hda8 dev/hda8

Note: when you are updating the kernel, and run make zLilo you must
set the environmental variable root=/lilodisk first. I think it should work
correct then, haven't tried myself yet. If not, you could always
just run make zImage, and update LILO manualy.

Now you must make a lilo.conf, and make sure that the following lines are
in (change or add if not):
#/lilodisk/etc/lilo.conf
boot=/dev/hda6  # the partion that is booted by the BootManager
image=/vmlinuz  # this is actually /lilodisk/vmlinuz when /dev/hda8 is /
                # the name could be something else than mvlinuz
    label=SomeLabelName
    root=/dev/hda8  # the partion you want as / when the boot is ower
#end

Note: this isn't necesarily enough, and you should refer to the manual
and the setup-program for more information about setting up a lilo.conf
To avoid having a /etc/lilo.conf not being used, run this command:
#ln -s /lilodisk/etc/lilo.conf /etc/lilo.conf

Now you should be ready to install lilo, run the following:
#/sbin/lilo -r /lilodisk -m /boot/map -C /etc/lilo.conf
And lilo should respond 'Added SomeLabelName'
(the -r switch does a chroot, so the /etc/lilo.conf file is really
/lilodisk/etc/lilo.conf)

That should be the whole thing. Boot, select linux from BootManager,
and hopefully you should se a line 'LILO' and then lots of other lines
printed by the kernel.

This message have been refering to OS/2's BootManager, but it really
doesn't matter what program or OS that boots /dev/hda6.
(Maybe it would be possible to have a LILO on the MasterBootRecord to boot
the next LILO on /dev/hda6 ?)

Also, I have said that the lilopartion must be 3MB, you could squeeze it
to fit on 1.5MB, but as mentioned the kernel file must lie on that partion,
so if you want multiple, you must reserve space (about 300k each). But
when you have a 1GB HD, what is 2 or 3 MB in difference ? And you
definitely don't want to make it to small !! Changing partions after
installing is a REAL pain, and next to impossible without installing
everything again.

And, yes, disclaimer :)  the syntax of the commands could be wrong, and
I could have forgotten something, but I don't hope so.

I hope this could help someone.

-------------------------------------------------------------------------
 Haakon Loevdal, 21 years old student.
 Studying electronics at
 HiA, Grimstad, Norway.           Linux, the choise of a GNU generation !
 e-mail:

     X.400:  G=hakon;S=lovdal;OU=ban;O=aid;P=uninett;A=uninett;C=no

 
 
 

1. lilo not working on my old 486 and disk geo > 1024 cyl

Hi folks:

I installed a vanilla installation of linux (2.0.13) on my older 486 w/
16mb RAM. The installation went perfectly smooth. I installed the lilo
boot loader on the mbr of the disk. The disk is a WD Caviar with 2585
cylinders. The bios is old and does not support LBA translation. Well,
to make a long story short, when I boot up the computer, it will hang
with lilo. It gets as far as:

LILO

and just hangs after that. I can boot it up using a floppy and mounting
/dev/hda1 just fine. The disk is brand new. Any suggestions? Thanks in
advance.

2. Trouble with spaces in csh

3. Installing lilo on a >1024 cyl SCSI HD?

4. install in a Makefile

5. LILO doesnt like > 1024 cyls? - help please

6. Lindows

7. Eide > 1024 cyl : linear (lilo.conf)

8. libpcap-0.3

9. Lilo install probs > 1024 cyl

10. LiLo Question - How Boot > 1024 Cyl?

11. LILO, >1024 cyl?

12. getting LILO to work if cyl > 1024

13. lilo and > 1024 cyl HDD