Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Aug 1995 16:33:58 +0300
From:      kallio@jyu.fi (Seppo Kallio)
To:        "Andrew V. Stesin" <stesin@elvisti.kiev.ua>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Why freeBSD instead of Linux?
Message-ID:  <v01530514ac5f804e25e3@[130.234.41.39]>

next in thread | raw e-mail | index | archive | help
At 11:59 22/8/95, Andrew V. Stesin wrote:
># FreeBSD fdisk is really bad. If you add one disk, it is a pain.
>
>        Gmm. Depends on what you are ready for. Didn't ever have
>        problems with it, but I don't know Linux fdisk, so you may be
>        right about ease of use.

It seems that you all have used years BSD disklabel and fdisk. You see no
problems in it's use.  I have not used it years.  To me all these
cylinders, sectors, heads, blocks, geometry, are quite hard to understand
and I am expecting that the programs help me how to define some simple
partitions to the disk. Some days ago I wanted one 100MB swap and 3900MB
filesystem.

Even in DOS fdisk is in principle quite easy. You just tell what size of
partitions you want. You do not have to define geometry, or calculate head,
cyl, sector start and end points. Why is it so complicated in  FreeBSD?

Is it because it can go over 1023 cylinders??? But it cannot do it!! ;-)

I am speaking on my experiences on my 4GB SCSI disk.

When you define a disk with fdisk you have to type about 16 answears. And
then you have to define disklabel, typically write 2 lines with 6
numbers/codes AND know what you do without any help from disklabel or man
disklabel.

On Linux fdisk you give 2 command a=add and p=primary, define partition
number and size and type. That is 5-6 question/commands. You have only to
input the actual sizes of partitions. No start or stop etc. No disklabel.

In Linux the "root" "usr" "swap" "dos" etc. partitons are all defined in
one program -- well -- the structure of the disk is a little different.

FreeBSD fdisk does not know the geometry of the disk, you must define it by
hand -- read disk manuals etc. if you are novice. Or you may use DOS fdisk
to give to the FreeBSD fdisk some hints about the geometry.

If you see carefully FreeBSD fdisk questions and how mutch it is helping
you, you see it is not heling you at all, maybe it is more missleading you.
The parameters you really want to define are

1. Partition sizes (in megabytes)
2. Partition types (DOS/FreeBSD/Other)
3. Reserver space for boot record or not (this could be default = yes)

FreeBSD fdisk is asking 16 questions for one partition for those simple
things and giving you zeroes as default - even for parameters whitch cannot
be zeroes (like sector start). You must know a lot how to use fdisk and
make calculations.

Have you seen FreeBSD 2.0 installation? There is a good fdisk and
disklabel! If you have not seen a good fdisk and disklabel start
/stand/sysinstall ! Why is this fdisk not ported to FreeBSD multiuser (from
standalone)?

One thing is that the first number in line (here 79)

 end: cyl 79/ sector 32/ head 63

cannot exceed 1023. I have a disk with 4095 cylinders (4GB) but fdisk
insists the last cylinder is 1023.

** Sorry, I am repeating myself. I understand the nature of FreeBSD, it is
based on free work. BUT I cannot understand how the first answear to my
complaints about fdisk+disklabel+newfs complexity was "it is trivial, it
can be done in 1-2 minutes"! OR I CAN understand it. People who work with
computers a long time loose the feel what is simple and what is not. I have
worked 15 years with computers and have lost the viewpoint of novice users
on many areas. That is why I am changing the field all the time: I started
with Honeywell H1642 time Sharing System 1975 (have you heard - nice it has
2 cpus, one "control" one "job", did serve 20 users on 64 kilobyte core ram
-- hah!), jumped to UNIVAC 1100/10, jumped to VAX 8600, jumped to unix
(Sun), jumped to Macintoh user support, jumped back to Unix manager. I have
seen quite a lot of different ways how a disk can be erased, re-defined and
re-erased ;-) Most of very complicated, some very simple, some with mouse
movement.

Maybe FreeBSD fdisk is the same as it was 1978 in our VAX 11/750 BSD Unix.
**

How to use fdisk (here 81MB scsi disk in AHA 2940 controller):

# fdisk -i -u /dev/rsd1
******* Working on device /dev/rsd1 *******
parameters extracted from in-core disklabel are:
cylinders=1923 heads=64 sectors/track=32 (2048 blks/cyl)

 Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=1923 heads=64 sectors/track=32 (2048 blks/cyl)

# The cylinder count is nonsence, the disk is 80-81 MB,
# so it should be 80 or 81. Head and sector count OK.
# On all Adaptec controlled disks heads=64 and sectors=32
# The head count has nothing to do with the disk drive hardware
# head count. Same with cylinder and sector count.

Do you want to change our idea of what BIOS thinks ? [n] n

# Wrong cylinder count does not matter, forward!

Warning: BIOS sector numbering starts with sector 1

# This should be: "First sector must be 1"

Information from DOS bootblock is:
The data for partition 0 is:
sysid 165,(FreeBSD/NetBSD/386BSD)

# Sysid you must know it is 165, it is zero when you have empty disk
# Where are the docs about this?

    start 32, size 163840 (80 Meg), flag 80
        beg: cyl 0/ sector 1/ head 0;
        end: cyl 79/ sector 32/ head 63
Do you want to change it? [n] y
Supply a decimal value for "sysid" [0] 165   # FreeBSD = 165
Supply a decimal value for "start" [0] 0     # 0 (32  on bootdisk?)
Supply a decimal value for "size" [0] 163840 # This comes from 80*32*64
# If bootdisk, you must substract 2048 (=32*64) ?????????
Explicitly specifiy beg/end address ? [n] y
Supply a decimal value for "beginning cylinder" [0]  # (*
Supply a decimal value for "beginning head" [0]      # (*
Supply a decimal value for "beginning sector" [0] 1  # Must be 1 (*
Supply a decimal value for "ending cylinder" [0] 79  # Cylinders 0 to 79=80
Supply a decimal value for "ending head" [0] 63      # (*
Supply a decimal value for "ending sector" [0] 32    # (*
sysid 165,(FreeBSD/NetBSD/386BSD)
    start 0, size 163840 (80 Meg), flag 0
        beg: cyl 0/ sector 1/ head 0;
        end: cyl 79/ sector 32/ head 63
Are we happy with this entry? [n]

# (* are same to all disks in Adaptec SCSI controllers.
# Ending cylinder is same number as the MB count minus one (here 80-1)

The data for partition 1 is:
<UNUSED>
Do you want to change it? [n] n
The data for partition 2 is:
<UNUSED>
Do you want to change it? [n] n
The data for partition 3 is:
<UNUSED>
Do you want to change it? [n] n
Do you want to change the active partition? [n] n

We haven't changed the partition table yet.  This is your last chance.
parameters extracted from in-core disklabel are:
cylinders=1923 heads=64 sectors/track=32 (2048 blks/cyl)

 Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=1923 heads=64 sectors/track=32 (2048 blks/cyl)

Information from DOS bootblock is:
0: sysid 165,(FreeBSD/NetBSD/386BSD)
    start 0, size 163840 (80 Meg), flag 0
        beg: cyl 0/ sector 1/ head 0;
        end: cyl 79/ sector 32/ head 63
1: <UNUSED>
2: <UNUSED>
3: <UNUSED>
Should we write new partition table? [n] y  # if all is correct

# you will get following error message, forget it.

ioctl DIOCWLABEL: Operation not supported by device

--
 +--    Seppo Kallio       -----             kallio@jyu.fi              ---+
 !    Computing Center       !   Fax +358-41-603611 Phone +358-41-603606   !
 !  University of Jyvaskyla  !         http://www.jyu.fi/~kallio           !
 +--      Finland          --+--            62.14N 25.44E               -- +





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?v01530514ac5f804e25e3>