INSTALL REPORT Debian-installer-version: 2004-03-09, http://people.debian.org/~jbailey//d-i/sparc/daily/cdrom-mini.iso uname -a: Linux refri 2.4.24-refri #1 SMP Fri Jan 16 14:06:22 CST 2004 sparc64 GNU/Linux Date: 2004-03-09 Method: Booted from the CDROM mini ISO. The machine is connected directly to the network, no proxies intervening Machine: Sparc Ultra Enterprise 450 Processor: 4xUltraSparc-II 480MHz Memory: 4 GB Root Device: SCSI, installed on fourth drive (/dev/sdd) Root Size/partition table: Partitioning was carried out using the automatic option in d-i (see the comments further down) Disk /dev/sdd (Sun disk label): 27 heads, 107 sectors, 24620 cylinders Units = cylinders of 2889 * 512 bytes Device Flag Start End Blocks Id System /dev/sdd1 0 2875 4152937+ 1 Boot /dev/sdd2 2875 13371 15161472 82 Linux swap /dev/sdd3 0 24620 35563590 5 Whole disk /dev/sdd4 13371 24620 16249180+ 83 Linux native Filesystem Size Used Avail Use% Mounted on /dev/sdd1 3.9G 280M 3.5G 8% / /dev/sdd4 16G 33M 15G 1% /home Output of lspci: 00:00.0 Host bridge: Sun Microsystems Computer Corp. Psycho PCI Bus Module 01:00.0 Host bridge: Sun Microsystems Computer Corp. Psycho PCI Bus Module 02:00.0 Host bridge: Sun Microsystems Computer Corp. Psycho PCI Bus Module 03:00.0 Host bridge: Sun Microsystems Computer Corp. Psycho PCI Bus Module 04:00.0 Host bridge: Sun Microsystems Computer Corp. Psycho PCI Bus Module 04:01.0 Bridge: Sun Microsystems Computer Corp. EBUS (rev 01) 04:01.1 Ethernet controller: Sun Microsystems Computer Corp. Happy Meal (rev 01) 04:02.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 03) 04:03.0 SCSI storage controller: LSI Logic / Symbios Logic 53c875 (rev 03) 04:04.0 Display controller: Texas Instruments TVP4020 [Permedia 2] (rev 11) 05:00.0 Host bridge: Sun Microsystems Computer Corp. Psycho PCI Bus Module Base System Installation Checklist: Initial boot worked: [O] Configure network HW: [O] Config network: [O] Detect CD: [ ] Load installer modules: [O] Detect hard drives: [O] Partition hard drives: [E] Create file systems: [O] Mount partitions: [O] Install base system: [E] Install boot loader: [E] Reboot: [O] [O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it Comments/Problems: There were a couple of minor quirks which did not affect the installation process, but would scare away novice users - For example, at bootup, at the first HW detection phase, I got an "Error while running 'modprobe -v sr_mod'". This message, as well as "Error while running 'modprobe -v ide-cd'", appeared again, also under the title 'hardware detection', after setting up the network. Now, for the more important points: - At first, I was trying to set up the network incorrectly. I was assigned a x.x.x.20/28 IP address, and -mistakenly- was looking for the router in x.x.x.31, which is unreachable and produces a 'SIOCADDRT: Network is unreachable' message. I didn't note the exact message, but d-i just told me ther was an error while configuring the network. This should probably be informed in a more granular way, maybe telling that 'there was a problem with the gateway you specified'. Using the correct network configuration, of course, solved the problem. - Partitioning: The system has 4x36.4GB hard disks, I decided to install only in the fourth disk. If I ask the installer to 'Create new partition' and accept the default (36.4GB) value, I get immediately two error messages saying "ERROR!!! Can't have the end before the start!", and then "Unable to satisfy all constraints on the partition". This does not happen if I ask the partition to be only 30GB - Might it have something to do with the Sun disklabel scheme? - Partitioning: If I got the last message once, I will get it again and again no matter what I choose in the partitioning module. In order to partition my disk, I have to leave the module (with 'Go back') and get back in. I chose automatic partitioning. If I ask the partitioner to use the scheme with many partitions (/usr, /usr/local, /var, /var/mail, etc.), and got an error telling me there was no space to create the last (eigth) partition. The installer took sdd3 (which should be a wholedisk partition) - Of course, I cancelled the partitioning and proceeded with the simpler root-and-home scheme offered. This time, it worked correctly. In /var/log/partman, I got: (...) parted_server: OUT: 8 21607686144-22032207359 424521216 primary ext3 /dev/scsi/host 1/bus0/target3/lun0/part8 parted_server: OUT: -1 22032207360-36417116159 14384908800 primary free /dev/scsi/host 1/bus0/target3/lun0/part-1 The problem seems to be parted (or one of the d-i modules) not being able to see beyond three bits worth of partitions :( - Install base system: I chose unstable, and I think that was my main mistake. After downloading all the needed packages and installing part of them, I got a "Base system installation error - The debootstrap program exited with an error (return value 127) Check /var/log/messages or see virtual console 3 for the details". In VC3, I had: Errors were encountered while processing: exim4-daemon-light mailx at exim4 exim4-config exim4-base /usr/sbin/debootstrap: 1: sleep: not found Looking at /var/log/mesages, I found several cases such as: dpkg: dependency problems prevent configuration of exim4-daemon-light: exim4-daemon-light depends on libgnutls7 (>= 0.8.12-2); however: Package libgnutls7 is not installed. dpkg: error processing exim4-daemon-light (--configure): dependency problems - leaving unconfigured Once again, this might have been caused by my choice of 'unstable'. I will try to do this installation again with 'testing' and report back on this bug (although it might take some days). - After failing on the base system install (although mostly everything was in place), whenever I chose to install the boot loader, the installer tried again to install the base system, and bombed in its way out. No kernel was installed in the system. I eventually gave up and booted the system using a kernel of my own (that was on another of the machine's hard drives). I was not asked to go through the second phase of the installation, although I ran it with 'base-config'. The machine is running perfectly now. All in all, d-i performed _way_ better than what I expected in Sparc, even with the few glitches (some of them attributable to me, I agree). Congratulations!
I know nothing about Sun disklabels, but it must be something either with them or with their support in parted. Acording to parted something wrong happened to the partition table. In this situation 'Undo all changes' would also help. I can not guess what is wrong wrong in the log? Do you know if/how parted works with Sun disklabels? Anton Zinoviev
Anton Zinoviev dijo [Wed, Mar 10, 2004 at 11:55:41AM +0200]:
Ummm... Well, support in Parted seems to be stable for Sun
machines. From Debian's parted package description:
(...)
Parted currently supports DOS, Mac, Sun, BSD, GPT, MIPS and PC98
disklabels/partition tables, as well as a 'loop' (raw disk) type
which allows use on RAID/LVM.
Parted's page in GNU [1] tells +- the same:
Supported disk labels: raw access (useful for RAID and LVM), MS-DOS
partition tables, Intel GPT partition tables, MIPS partition tables,
PC98 partition tables, Sun and BSD disk labels and Macintosh
partition maps.
I cannot find authoritative information on this, but I found a post to
debian-sparc [2] stating that there can -at least- be 15 partitions on
a Sparc disklabel under Linux - and even if Linux can't handle more
than that (because of minor number exhaustion - /dev/sda15 is (8,15),
/dev/sdb is (8,16) ), the Sun disklabel format does allow for more.
I found a _very_ old message in NetBSD [3] where it mentions having
this limitation, but I would expect it to be gone by now.
I tried to -just for the sake of it- create over 8 partitions using
fdisk - I got this right away:
Command (m for help): p
Disk /dev/sdc (Sun disk label): 27 heads, 107 sectors, 24620 cylinders
Units = cylinders of 2889 * 512 bytes
Device Flag Start End Blocks Id System
/dev/sdc3 0 24620 35563590 5 Whole disk
Command (m for help): n
Partition number (1-8):
...So it seems this limit is -at least somehow- real. I will look for
further information, but if it is real, at least the installer should
not try to create over seven partitions (plus wholedisk), right?
After the eight partition (/dev/scsi/host1/bus0/target3/lun0/part8 -
Excuse me for the extra spaces in what I pasted, blame my terminal)
was created, the next partition that parted tries to create is
/dev/scsi/host1/bus0/target3/lun0/part-1 - This seems like an overflow
for a signed three-bit value. (now, why would it be signed? :-/ )
I don't know. I don't usually deal with that kind of machines, I got
someone to lend it to me. :-(
[1] http://www.gnu.org/software/parted/parted.html
[2] http://lists.debian.org/debian-sparc/2002/debian-sparc-200208/msg00034.html
[3] http://mail-index.netbsd.org/netbsd-bugs/1996/08/05/0003.html
Ummm...
About the partitions limit: I found this in fdisk/fdisksunlabel.h (in
source package util-linux):
typedef struct {
/* (... Many parameters before it) */
struct sun_partition {
uint32_t start_cylinder;
uint32_t num_sectors;
} partitions[8];
unsigned short magic; /* Magic number */
unsigned short csum; /* Label xor'd checksum */
} sun_partition;
And in the Kernel tree (2.6.3), in fs/partitions/sun.c:
int sun_partition(struct parsed_partitions *state, struct block_device *bdev)
{
/* ... */
struct sun_disklabel {
/* Once again, lots of other parameters... */
struct sun_partition {
__u32 start_cylinder;
__u32 num_sectors;
} partitions[8];
unsigned short magic; /* Magic number */
unsigned short csum; /* Label xor'd checksum */
} * label;
So... Well, even if the Sun disklabel allows (or so they say) for more
partitions, it doesn't look like we will be able to do so without
changes to important parts of code that (I think ;-) ) were written
like that for a reason.
I will look also into this, but I think that only the disk we will
boot from requires a proper Sun disklabel. Maybe the installer could
suggest using a different type of disklabel if it is not going to be
the boot disk.
...Let me check how this is managed by the BSDs. I am sure I installed
OpenBSD once in a Sparc with over 10 partitions.
Greetings,
...Searching a bit further on how this is done in OpenBSD, I found
something. First of all, I must note that -by a long shot- I am no C
hacker, I can somehow understand parts of code, but that's about it.
NetBSD does support 16 partitions per Sun disklabel, as told in the
message I quoted in a previous mail. OpenBSD imported this feature in
December 1996, as can be seen in revision 1.5 [1]. The changes can be
found in [2], and are quite simple: If the systemwide maximum number
of partitions per unit (defined in [3], set to 22 in a regular OpenBSD
build) is greater than 8, SUNXPART (I assume it to mean 'Sun eXtended
PARTitions) is defined to the number of extra partitions, and this is
stored just before the disk rotational speed in the disklabel.
Now, back to Linux, fs/partitions/sun.c: After the 128-byte 'info'
field, we have a 292 byte long area with very sparse data (id and
flags, both unsigned chars, eight times, and many spare spaces). This
292 bytes are conspicously similar to the area used in OpenBSD for
storing the extended partitions information:
struct sun_disklabel { /* total size = 512 bytes */
char sl_text[128];
u_long sl_xpsum; /* additive cksum, [sl_xpmag,sl_xxx1) */
u_long sl_xpmag; /* "extended" magic number */
struct sun_dkpart sl_xpart[SUNXPART]; /* "extended" partitions, i through p */
char sl_xxx1[292-8-(8*SUNXPART)]; /* [292] including sl_x* */
u_short sl_rpm; /* rotational speed */
(...)
};
...Anyway, support _could_ be added to fdisk/cfdisk, parted, the
kernel and whatelse to support over eight partitions in Sparc. This
would surely be a good thing, but I don't think Sarge should wait for
this. This only demonstrates we should presently limit to eight
partitions per disk on this platform (or, as I suggested, try to use
non-Sun disklabel formats if the disk does not have to be booted
from).
...And start bugging Linus for including this support. Hmmm... I think
we will wait a long time for that :)
Greetings,
[1] http://www.openbsd.org/cgi-bin/cvsweb/src/sys/arch/sparc/include/sun_disklabel.h
[2] http://www.openbsd.org/cgi-bin/cvsweb/src/sys/arch/sparc/include/sun_disklabel.h.diff?r1=1.5&r2=1.4&f=h
[3] http://www.openbsd.org/cgi-bin/cvsweb/src/sys/sys/disklabel.h?rev=1.24&content-type=text/x-cvsweb-markup
Hi Gunnar, Thanks a lot for you report and investigations. I think that now I have enough information to fix the installer for Sun disk labels. 1. Linux and parted support up to 7 partitions (8 with the whole disk partition). Indeed, this is not going to be changed. 2. However the problem is that you discovered an unknown bug in the support of sun disk labels in libparted. Namely when libparted creates a new empty Sun disk label, no partition can be added to it. In order to edit the partition table one has to write it to the disk and then reopen it. This bug can not be detected with parted because parted always writes the new partition table to the disk and reopens it for the consecutive editing commands. No this is OK -- parted gives number -1 to all free spaces. Anton Zinoviev
$ dd count=100k if=/dev/zero of=sundisk 102400+0 records in 102400+0 records out 52428800 bytes transferred in 1.383157 seconds (37905169 bytes/sec) $ cc -lparted -ldl suntest.c $ ./a.out sundisk Error: Can't have the end before the start! Error: Can't have the end before the start! Error: Unable to satisfy all constraints on the partition. There are no problems if another label type is used instead of "sun". Anton Zinoviev
CCing Andrew and the parted upstream devel list. Andrew, this is a debian bug
report (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=237410), which i am
investigating right now.
I had a quick look at this and the there is a fundamental flaw in the below
program, not sure if it is worked around or not by the fuzzy partition
geometry logic.
The sun partition geometry constrain code shows :
SunDiskData* disk_data = disk->disk_specific;
PedSector block = dev->sectors * dev->heads;
if (!ped_alignment_init (&start_align, 0, block))
return NULL;
if (!ped_alignment_init (&end_align, -1, block))
return NULL;
if (!ped_geometry_init (&max_geom, dev, 0, disk_data->length))
return NULL;
return ped_constraint_new (&start_align, &end_align, &max_geom,
&max_geom, 1, dev->length);
Where the end_align constraint is used only for the strict version, and
removed if it doesn't work.
What this means is :
1) The sun partition needs to be aligned on cylinder (called blocks here)
boundaries, it should start at the first sector of a cylinder and end at
the last of it, if possible.
=> your code as a device which defaults to a geometry of CHS= 800,4,32,
thus needing partitions on cylinders of 160 sectors boundaries. 1-10 is
no such geometry, but 0-159 or 160-319 is, but this doesn'y seem to
change anything to the result below.
2) data from the disk is used in two occasions in the above code. In one
form, it is the dev->CHS stuff, and the other is dev->length. The second
place where this happens is disk_data->length, which reads the
disk_specific sun partition table, either from disk or from the raw
partition.
Not yet found the problem, but hoping that CCing upstream will help, and will
be searching more later on.
Friendly,
Sven Luther
[image: Amazing Gift Ideas For You And Familly] <https://namepod.monster/shoes20> Shop Canvas Shoes for Women & Men discover the latest styles at Temogear. [image: New Spring Fashion Women Canvas Shoes] <https://namepod.monster/shoes6> ORDER YOURS NOW <https://namepod.monster/shoes6> Shop our collection of sneakers, shoes . Find your fit for the field or the street at the Temogear. You may also like: [image: Woman Platform Shoes] <https://namepod.monster/shoes23> BUY NOW <https://namepod.monster/shoes23> [image: Canvas Shoes Woman] <https://namepod.monster/shoes47> BUY NOW <https://namepod.monster/shoes47> If you no longer wish to receive our emails, click the link below: Unsubscribe <https://namepod.monster/shoes20/unsubscribe> Zolatee Store - 234 Front Street, Floor 3, San Francisco, CA 94111
*Science Qoutes T-Shirts* <https://engineerfish.shop/cuem-Engineer-Definition-Funny-Engineering-T-Shirt?color=black&product=men-s-t-shirt> <https://engineerfish.shop/cuem-Stand-Up-For-Science-Like-Magic-But-Real-T-Shirt?color=black&product=men-s-t-shirt> <https://engineerfish.shop/cuem-DUCT-TAPE-IT-CANT-FIX-STUPID-BUT-IT-CAN-MUFFLE-THE-SOUND?color=black&product=men-s-t-shirt> <https://engineerfish.shop/cuem-Disaster-movie-government-ignoring-scientist-T-Shirt?color=black&product=men-s-t-shirt> <https://engineerfish.shop/cuem-Once-You-Go-Black-You-Never-Go-Back-Funny-T-Shirt?color=black&product=men-s-t-shirt> <https://engineerfish.shop/cuem-There-are-two-types-of-people-in-this-world?color=black&product=men-s-t-shirt> <https://engineerfish.shop/Primary-elements-of-humor-Teacher-T-shirt?color=black&product=men-s-t-shirt> <https://engineerfish.shop/What-Part-of-Dont-You-Understand?color=black&product=men-s-t-shirt> <https://engineerfish.shop/Dear-Math-Grows-Up-Mathematics-T-shirts?color=black&product=men-s-t-shirt> <https://engineerfish.shop/Im-an-engineer-to-save-time?color=black&product=men-s-t-shirt> <https://engineerfish.shop/62144637-Im-a-teacher-to-save-time-lets-just-assume-that-im-never-wrong?color=black&product=men-s-t-shirt> <https://engineerfish.shop/Tech-Support-Checklist-Computer-Repair?color=black&product=men-s-t-shirt> <https://engineerfish.shop/Lets-Have-a-Moment-of-Science?color=black&product=men-s-t-shirt> <https://engineerfish.shop/62069664-I-wear-this-shirt-periodically?color=black&product=men-s-t-shirt> <https://engineerfish.shop/Technically-the-glass-is-always-full?color=black&product=men-s-t-shirt> <https://engineerfish.shop/Science-like-magic-but-real?color=black&product=men-s-t-shirt> <https://engineerfish.shop/THINK-LIKE-A-PROTON-AND-STAY-POSITIVE?color=black&product=men-s-t-shirt> <https://engineerfish.shop/62066654-Never-Forget-Pluto?color=black&product=men-s-t-shirt> <https://engineerfish.shop/forget-princess-i-want-to-be-a-scientist?color=black&product=men-s-t-shirt> <https://engineerfish.shop/I-Lost-an-electron?color=black&product=men-s-t-shirt> Are you looking for a special gift for a friend, teacher, and family member who really loves science? This is the perfect place for You. This is for science lovers shirts. *Link Store : View More <https://engineerfish.shop/>* * Click Here To Unsubscribe <https://docs.google.com/forms/d/e/1FAIpQLSdn5_M4o55TU7Riv61zGZ2AsipgxNWzT0GaIlMY2YYsPQfBjA/viewform?usp=sf_link>*