From owner-freebsd-current@FreeBSD.ORG Mon Oct 1 13:10:30 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 62E4010656D6; Mon, 1 Oct 2012 13:10:30 +0000 (UTC) (envelope-from root@free.fr) Received: from smtp5-g21.free.fr (smtp5-g21.free.fr [IPv6:2a01:e0c:1:1599::14]) by mx1.freebsd.org (Postfix) with ESMTP id 451668FC15; Mon, 1 Oct 2012 13:10:27 +0000 (UTC) Received: from free.fr (unknown [82.235.65.2]) by smtp5-g21.free.fr (Postfix) with ESMTP id BD6C3D481A3; Mon, 1 Oct 2012 15:10:23 +0200 (CEST) To: "Andrey V. Elsukov" From: Raoul MEGELAS Date: Mon, 01 Oct 2012 15:10:22 +0200 Sender: root@free.fr Message-Id: <20121001131023.BD6C3D481A3@smtp5-g21.free.fr> Cc: freebsd-current@freebsd.org Subject: Re: gpart on macbook air X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Oct 2012 13:10:30 -0000 on Mon, 01 Oct 2012 12:29:02 +0400 "Andrey V. Elsukov" wrote: On 30.09.2012 23:06, Raoul MEGELAS wrote: >>> When you are deleting a partition, the kernel completely overwrites the >>> partition table and PMBR area. You can compare first 34 blocks before >>> deletion and after to see what is going on. >> >> I can understand that, but i would have thought >> that the deletion of the concerned partition was written preserving others??? >> >> something like: >> >> - read the gpt table >> - find the offset >> - zeroes the partition entry >> - rewrites the table? >> >> is not that logic? >> >> if it is not so, i does not understand this behaviour. > Hi, Raoul, > > The kernel has a copy of the partition table in the memory. > When you are deleting some partition, it removes the partition entry > from the memory, constructs updated GPT header and table, calculates > checksums and writes this data into corresponding places. > Any way, this should correctly work. > > My guess is that Apple's boot loader detects some changes and > just doesn't want to work. If you think that gpart incorrectly works, > please make a copy of first 34 blocks before and after deletion and > send them to me. Hi Andrey, You helped me to find the point: Apple maps the starting point of the first partition in the MBR like this: 000001be 00 fe ff ff ee fe ff ff 01 when gpart maps: 000001be: 80 00 02 00 ee ff ff ff 01 it is a 251G drive. a solution would be to inspect the gpt table and if an osx-boot is present to leave the starting point unchanged? i tested it on osx 10.8. Please note than geom mark active the partition when osx zeroes the 1be byte. but with this byte set or unset, osx starts (perhaps non checked at all). Regards Raoul rmgls@free.fr