Date: Fri, 28 Nov 2008 20:07:50 -0800 From: "Peter Wemm" <peter@wemm.org> To: "Marcel Moolenaar" <xcllnt@mac.com> Cc: FreeBSD Arch <arch@freebsd.org> Subject: Re: RFC: making gpart default Message-ID: <e7db6d980811282007j48903cdas289c302e1811a0b9@mail.gmail.com> In-Reply-To: <57809A37-B81C-4F50-A418-CD9303F06B72@mac.com> References: <57809A37-B81C-4F50-A418-CD9303F06B72@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Sep 25, 2008 at 9:59 AM, Marcel Moolenaar <xcllnt@mac.com> wrote:
> All,
>
> I'd like to switch all architectures to gpart for the reasons given
> below. All current partitioning schemes are supported by gpart and
> work on all platforms. On top of that, ia64 and powerpc are using
> gpart exclusively already.
[..]
> In short: gpart is the first step towards a unified set of
> tools and interfaces and provides the basis for extending
> file system related tools by allowing us to attach real
> meaning to partition types. With the commit and undo feature,
> gpart is ready for use by next generation installers that
> allow us to use any partitioning scheme on any platforms.
>
> Thoughts?
oh my god. I just tried to use gpart. This needs some SERIOUS help.
First, the 'gpart create' man page doesn't say what "scheme" is.
After guessing, I tried:
overcee# gpart create -s gpt /dev/twed1
gpart: 22 scheme 'gpt'
What does that mean? It turns out that I didn't have GEOM_PART_GPT compiled in.
After continuing the guessing game:
overcee# gpart create -s gpt /dev/twed1
gpart: 22 provider '/dev/twed1'
That was useful. Out other tools generally allow /dev prefixes to be optional.
overcee# gpart create -s gpt twed1
twed1 created
Now what? Boot code.. there's no example of this either. I tried:
overcee# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 twed1
gpart: /dev/twed1p1: Invalid argument
I suppose that beats "22".
This works though:
overcee# gpart bootcode -b /boot/pmbr twed1
This doesn't:
overcee# gpart bootcode -p /boot/gptboot -i 1 twed1
gpart: /dev/twed1p1: Invalid argument
I haven't figured this out yet. I'm guessing this is because
/boot/gptboot isn't a multiple of 512 bytes. The error message is
obviously giving no help here.
Let's try padding it:
overcee# dd if=/boot/gptboot of=/tmp/gptboot conv=sync
14+1 records in
15+0 records out
7680 bytes transferred in 0.000098 secs (78375316 bytes/sec)
overcee# gpart bootcode -p /tmp/gptboot -i 1 twed1
overcee#
Yep, that worked. Now for a partition...
overcee# gpart add -b 512 -s 512m -t freebsd-ufs twed1
gpart: 22 size '512m'
Huh? "22"?
overcee# gpart add -b 512 -s 1048576 -t freebsd-ufs twed1
twed1p2 added
But at least I think I'm getting some progress:
overcee# gpart show twed1
=> 34 976771053 twed1 GPT (500.1GB)
34 478 1 freebsd-boot (244.7KB)
512 1048576 2 freebsd-ufs (536.9MB)
1049088 975721999 - free - (499.6GB)
So I continue.. I figure gpart would pick the first free space:
overcee# gpart add -s 4058062 -t freebsd-ufs twed1
gpart: Option 'b' not specified.
Apparently not...
overcee# gpart add -b 1049088 -s 4058062 -t freebsd-ufs twed1
twed1p3 added
Now one has to do a gpart show ; add ; show ; add loop to get the start address.
This is really, really raw and unfriendly stuff.
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com; KI6FJV
"All of this is for nothing if we don't go to the stars" - JMS/B5
"If Java had true garbage collection, most programs would delete
themselves upon execution." -- Robert Sewell
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e7db6d980811282007j48903cdas289c302e1811a0b9>
