Date: Wed, 18 Jan 2012 01:38:28 GMT From: Garance A Drosehn <drosih@rpi.edu> To: freebsd-gnats-submit@FreeBSD.org Subject: misc/164267: bsdinstall(8) bugs when RE-installing to GPT partitions Message-ID: <201201180138.q0I1cSri088666@red.freebsd.org> Resent-Message-ID: <201201180140.q0I1e9In039537@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 164267 >Category: misc >Synopsis: bsdinstall(8) bugs when RE-installing to GPT partitions >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Jan 18 01:40:09 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Garance A Drosehn >Release: 9.0-RELEASE >Organization: >Environment: FreeBSD echoes64.netel.rpi.edu 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:46:30 UTC 2012 root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 >Description: I ran into some odd problems when trying to partition a disk into GPT chunks. I believe this is an oversight in the installer, which came up for me due to the odd order that I went about partitioning things. I first got the ISO's: FreeBSD-9.0-RELEASE-i386-dvd1.iso and FreeBSD-9.0-RELEASE-amd64-dvd1.iso and burned those to DVD. I had a new PC which arrived with Ubuntu already installed on it, and Ubuntu was installed with MBR-style partitions. I wasn't sure if I wanted i386 or amd64 on this machine. So first I used the i386 installer, and formatted the disk with the following GPT partitions, which completely replaced the MBR-style partitions in the original install: Filesystem 1024-blocks Used Avail Capacity Mounted on /dev/ada0p2 1410716 218456 1079404 17% / /dev/ada0p4 1813916 14448 1654356 1% /xA64 /dev/ada0p5 1108380 9296 1010416 1% /var /dev/ada0p6 1209116 9668 1102720 1% /xA64/var /dev/ada0p7 8245660 2418048 5167960 32% /usr /dev/ada0p8 9282332 32836 8506912 0% /xA64/usr /dev/ada0p9 21662876 32836 19897012 0% /ucvs /dev/ada0p10 7220892 32836 6610388 0% /uobj /dev/ada0p11 2063900 16440 1882348 1% /tmp /dev/ada0p12 15478556 32844 14207428 0% /Users (there was also a freebsd-swap partition on ada0p2. And a 128-KB freebsd-boot partition at ada0p2. Yes, I custom-created that at 128-KB instead of using the default 64-KB). This seem to work out fine. I then rebooted into the DVD which had the amd64 installation, and re-used some of the above partitions to install a amd64 image. When installing, I did not create or install any new partitions, I just picked existing partitions from the above list to use for the amd64 install. That also worked fine, and when I rebooted into the amd64 system I would see: Filesystem 1024-blocks Used Avail Capacity Mounted on /dev/ada0p4 1813916 348088 1320716 21% / /dev/ada0p6 1209116 10096 1102292 1% /var /dev/ada0p8 9282332 2504140 6035608 29% /usr /dev/ada0p9 21662876 32836 19897012 0% /ucvs /dev/ada0p10 7220892 32836 6610388 0% /uobj /dev/ada0p11 2063900 16440 1882348 1% /tmp /dev/ada0p12 15478556 32844 14207428 0% /Users So far, so good. I can switch back-and-forth between the two, and everything seems fine. But after doing a bunch of testing of my own software, I decide that I don't want that partition layout. At this point there is nothing critical on the disk, so I boot off the DVD for the AMD64 install, and go to redo the entire thing. I go into the manual-partitioning screen, and I delete all the partitions I had created earlier, and then created new ones. However, I did *NOT* delete the top line which said that I wanted GPT-style partitions. That was still there from the first install, and I still wanted GPT-style partitions so I assumed I didn't need to change that. The first 8 partitions that I defined in that editor looked fine. But when I defined the 9th partition, the line for that partition showed a different partition-size than I had specified. I created some more partitions, and they all showed up with different sizes than I had specified. In at least one case, the editor showed no value at all for the size of the partition. I wasn't sure if maybe that happened during the original install and maybe I just had not been paying attention, so I went ahead to define all the partitions I wanted, and hit whatever button it is to finish up and write out the new partitions. This failed. I tried this a few times making a variety of different changes in what I was doing, and every time the partitions after #8 would show oddball sizes, and every time the partitioning would fail at one point or another. I gave up, and defined just 8 partitions. This worked, and I was able to complete the install without any problems. Booted up without any problems. After checking some things (all of which were fine), I tried using 'gpart' to add new partitions. I forget the exact details of what happened with that, but I believe I could get gpart to add the partitions, but then I could not get 'mount' to add the new partitions, not even after rebooting. => Note: I now suspect *this* problem was user-error on my part <= I redid the entire install a few more times with just 8 partitions, and the install would work but I again I couldn't add partitions once I booted up on the newly installed system. I was just about to give up and go back to MBR-style partitions just so I could get back to building this PC. And then I thought... What if I *DO* delete that top entry in the manual partitioning screen of the installer, the one which says I wanted GPT-style partitions? I was going to have to delete that line if I switched back to MBR-style partitions, so it was worth one more try to delete that line and then add it back in as GPT-style partitions. So I never really switched to MBR-partitions, but I deleted absolutely everything in the partition editor and then had to respecify that I wanted GPT-style partitions. This time I added all the partitions I wanted, and they all looked reasonable. I did the "finish" step, and all partitions were created the way I had specified, and the install completed successfully. I rebooted, and everything looks fine. This is now the list of partitions I have: Filesystem 1024-blocks Used Avail Capacity Mounted on /dev/ada0p2 1813916 334220 1334584 20% / /dev/ada0p3 1713180 20 1576108 0% /xBak /dev/ada0p4 281756 24 259192 0% /xFF /dev/ada0p6 2116380 24 1947048 0% /tmp /dev/ada0p7 1309980 34324 1170860 3% /var /dev/ada0p8 9470748 3102336 5610756 36% /usr /dev/ada0p9 4229276 8 3890928 0% /uobj /dev/ada0p10 12380444 8 11390004 0% /Users /dev/ada0p11 24760988 8 22780104 0% /ucvs /dev/ada0p12 9282332 8 8539740 0% /xS2D /dev/ada0p13 1209116 8 1112380 0% /xBak/tmp /dev/ada0p14 1209116 8 1112380 0% /xBak/var /dev/ada0p15 8253852 8 7593536 0% /xBak/usr /dev/ada0p16 1007516 8 926908 0% /xFF/tmp /dev/ada0p17 805916 8 741436 0% /xFF/var /dev/ada0p18 3086108 8 2839212 0% /xFF/usr /dev/ada0p19 8356252 8 7687744 0% /xFF/Users or if you prefer, here's the output of 'gpart show -l': => 34 976773101 ada0 GPT (465G) 34 256 1 (null) (128k) # <= freebsd-boot 290 3686400 2 main_Root (1.8G) 3686690 3481600 3 altBak_Root (1.7G) 7168290 573440 4 pre2012_Root (280M) 7741730 18874368 5 (null) (9.0G) # <= freebsd-swap 26616098 4300800 6 main_tmp (2.1G) 30916898 2662400 7 main_var (1.3G) 33579298 19251200 8 main_usr (9.2G) 52830498 8601600 9 main_usrobj (4.1G) 61432098 25165824 10 main_Users (12G) 86597922 50331648 11 main_usrcvs (24G) 136929570 18874368 12 dev_2export (9.0G) 155803938 2457600 13 altBak_tmp (1.2G) 158261538 2457600 14 altBak_var (1.2G) 160719138 16793600 15 altBak_usr (8.0G) 177512738 2048000 16 pre2012_tmp (1G) 179560738 1638400 17 pre2012_var (800M) 181199138 6291456 18 pre2012_usr (3.0G) 187490594 16998400 19 pre2012_Users (8.1G) 204488994 772284141 - free - (368G) And yes, every single one of those partitions is larger than it needs to be. And as you can see, I have plenty of room to create more partitions! :-) So as it stands right now, my PC is formatted the way I wanted it, and seems to be working fine. But I think there's a bug in bsdinstall (or something that it calls) such that it gets confused if asked to re-partition a GPT-style disk, when that disk is already GPT-partitioned and the user does not explicitly delete and re-specify GPT-style partitions. >How-To-Repeat: Unfortunately I need to get this PC up-and-running to replace a production server which has already been making weird noises for a few weeks, so I can't risk spending much more time on investigating this. But I wanted to write this much up before I forgot all the details of what happened... >Fix: Not investigated. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201180138.q0I1cSri088666>