[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] boot manager



Miro Kropacek wrote:
Wow. Just for sure, what sizes do you use and how exactly do you
partition it? I've got 512 MB card, divided as 100/100/100/200 (using
'cfdisk'), each assigned $06 as ID. Then mkfs.vfat -F 16 /dev/sdbX (X
= 1 to 4).

First, it seems that the TOS limits are lower than EmuTOS' ones. Didier told me something about that.

I have a 4 Gb CompactFlash card and I have formatted it with Linux.
Using fdisk, I have created a single primary partition of size 65 cylinders, with the type 0x06, and I have set it active (bootable). So this partition has 1044162 sectors of 512 bytes each, its whole size is 509 Mb. You can make a smaller partition of you want, but not bigger to avoid size problems. This is the biggest value for avoiding a total cluster count bigger than 32768 and avoid an overflow.

Then I have formatted the partition using the mtools, with the following command :

mformat -i /dev/sdaX :: -M 512 -c 32

Note that normally, the mtools commands are like "mdir a:", they automatically find the device from the drive letter. When you want to specify a specific device, you have to use the -i option. In this case, it emulates a pseudo drive letter named ':'. So instead of writing "mkdir a:/mydir" you do "mkdir -i mydevice ::/mydir". In other words, '::/' means the root of the image. Well.

Back to mformat:
-M specifies the logical size of a sector in bytes, must be 512.
-c specifies the sectors per cluster. 32 is the right value for 16 Kb clusters, in order to avoid an overflow of the potential 16-bit variables containing the cluster size.

After formatting, you can check the format parameters with:

minfo -i /dev/sdaX ::

Note: I have not made tests again with my CompactFlash card, I hope the commands are OK and you will not encounter geometry issues.

--
Vincent Rivière