Parted - GNU Partition Editor [PSARC/2009/145 FastTrack timeout 03/06/2009]

Garrett D'Amore gdamore at sun.com
Mon Mar 2 15:14:47 PST 2009


+1.

Do we really need to introduce a new set of RBAC authorizations for 
this?  I'd have guessed that low-level sys_devices or whatever access 
would have been sufficient.

    -- Garrett

Phi Tran wrote:
> I'm sponsoring this case for Mark Logan.  (cc: Mark)
>
> Phi
>
> Phi Tran wrote:
>> Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
>> This information is Copyright 2009 Sun Microsystems
>> 1. Introduction
>>     1.1. Project/Component Working Name:
>>      Parted - GNU Partition Editor
>>     1.2. Name of Document Author/Supplier:
>>      Author:  Mark Logan
>>     1.3  Date of This Document:
>>     02 March, 2009
>> 4. Technical Description
>>
>> 4.1. Overview
>>
>> GNU Partition Editor (Parted) [1] is a command-line application that 
>> allows you to resize, create or delete disk partitions and 
>> filesystems. The goal is to put it on the OpenSolaris Live CD. That 
>> way one could shrink the Vista or other NTFS partition and create 
>> space to install OpenSolaris. Many x86 machines come preinstalled 
>> with Vista. The availability of Parted would increase adoption of 
>> OpenSolaris by making it easier to create a dual-boot environment.
>>
>> Parted is in functionality, a superset of the Solaris fdisk command.
>>
>> Parted is for x86 only.
>>
>> 4.2. Details
>>
>> 4.2.1. Diagram
>>
>>                
>> +---------+                                                      
>>                | Install 
>> |                                                                  
>> +---------+                                                      
>>                 /      \   (could use 
>> either)                                                   /          
>> \                                                                  
>> /              \                                                   
>>            v                
>> v                                                    
>> +--------+             
>> +---------+                                              | Parted 
>> |             | GParted |                                            
>> +--------+             
>> +---------+                                                    
>> \                  /                                                 
>>             \                
>> /                                                              
>> \              /                                                   
>>               v            
>> v                                                             
>> +-----------------------+                                             
>>          | libparted / ntfsprogs 
>> |                                                    
>> +-----------------------+                                             
>> 4.2.2. solaris-parted
>>
>> solaris-parted [2] is an open source project that ported Parted to 
>> Solaris. I used this code as a starting point.
>>
>> 4.2.3. ntfsprogs
>>
>> Parted uses ntfsprogs [3] to resize, create or delete NTFS disk 
>> partitions and filesystems. ntfsprogs [3] is a collection of 
>> command-line utilities, one utility for each operation, e.g. 
>> ntfsresize and mkntfs.
>>
>> ntfsprogs required very few changes to port to Solaris.
>>
>> 4.2.4. libparted
>>
>> GNU Parted is composed of a command-line interface and a library. 
>> libparted does the actual device access, partition table editing and 
>> filesystem manipulation.
>>
>> I made changes to libparted both to port it to Solaris and to 
>> integrate solaris-parted and ntfsprogs into it.
>>
>> 4.2.5. GParted
>>
>> Gnome Partition Editor (GParted) [4] is a graphical application that 
>> allows you to resize, create or delete disk partitions and 
>> filesystems. GParted uses libparted and ntfsprogs. Parted is capable 
>> of doing everything GParted does.
>>
>> GParted uses Gtkmm for its GUI. It requires Gtkmm 2.8.x or greater. 
>> Solaris currently has Gtkmm 2.13.8. The most recent stable version is 
>> 2.14.x. [5]
>>
>> GParted should use HAL (PSARC/2007/679) to lock out HAL-based 
>> automounters when it is manipulating the partition table of a device. 
>> [6]
>>
>> GParted is Phase 2 of this project. There will be a separate LSARC case.
>>
>> 4.2.6. open source
>>
>> It is my intent to get the GNU Parted, GParted and ntfsprogs projects 
>> to buy back my changes. solaris-parted is no longer in development, 
>> but I intend to get Parted to buy back those changes along with mine.
>>
>> 4.2.7. Security
>>
>> Interface level: Committed
>>
>> Parted needs permission to access the raw disk devices, just like 
>> Solaris fdisk.
>>
>> The following RBAC authorizations and profile will be added.
>>
>> Authorization Names:
>> solaris.admin.parted.:::Partition Editor::help=AuthPartedHeader.html
>> solaris.admin.parted.write:::Edit Partitions::help=AuthPartedWrite.html
>>
>> Profile:
>> Edit Partitions:::Edit Disk Partitions using GNU Parted: 
>> auths=solaris.admin.parted.write;help=RtParted.html
>>
>> 4.2.8. Integration with the OpenSolaris installation program
>>
>> We are talking to the OpenSolaris Install group about whether they 
>> will use Parted or GParted to integrate that functionality into the 
>> installation program. They have not yet decided on the implementation 
>> specifics, so I did not include anything about it here.
>>
>> 4.3. Interfaces Exported
>>
>> Interface Name                    Classification    Comments
>> ---------------                   --------------    -----------------
>> SUNWparted                        Committed         Package name 
>> (Phase 1)
>> /usr/share/man/man8/parted.8      Volatile          Manual page 
>> (Phase 1)
>> /usr/bin/parted                   Volatile          Parted launcher 
>> shell script (Phase 1)
>> /usr/lib/parted/parted            Volatile          Parted 
>> application (Phase 1)
>> /usr/lib/parted/mkntfs            Volatile          ntfsprogs 
>> application (Phase 1)
>> /usr/lib/parted/ntfsresize        Volatile          ntfsprogs 
>> application (Phase 1)
>> /usr/lib/parted/ntfsfix           Volatile          ntfsprogs 
>> application (Phase 1)
>> /usr/lib/parted/ntfsclone         Volatile          ntfsprogs 
>> application (Phase 1)
>> /usr/lib/libparted-1.8.so.8       Volatile          Symbolic link 
>> (Phase 1)
>> /usr/lib/libparted-1.8.so.8.0.0   Volatile          Shared library 
>> (Phase 1)
>> /usr/lib/libntfs.so.10            Volatile          Symbolic link 
>> (Phase 1)
>> /usr/lib/libntfs.so.10.0.0        Volatile          Shared library 
>> (Phase 1)
>> SUNWgparted                       Committed         Package name 
>> (Phase 2)
>> /usr/share/man/man8/gparted.8     Volatile          Manual page 
>> (Phase 2)
>> /usr/bin/gparted                  Volatile          GParted 
>> application (Phase 2)
>>
>> 4.4. Schedule
>>
>> I propose introducing GParted into OpenSolaris in three phases:
>>
>>    Phase 1: Parted command line (2 man months)
>>
>>       Put command line Parted on the CD.
>>       A prototype of command line Parted is available now.
>>
>>       Use Case:
>>
>>          Boot OpenSolaris CD.
>>          Run command line Parted in a Terminal window.
>>          Shrink NTFS partition.
>>          Install OpenSolaris.
>>
>>    Phase 2: GParted GUI (3 man months)
>>
>>       Put GParted GUI on the CD.
>>
>>       Use Case:
>>
>>          Boot OpenSolaris CD.
>>          Run GParted GUI.
>>          Shrink NTFS partition.
>>          Install OpenSolaris.
>>
>> 4.5 References
>>
>> [1] GNU Parted
>>     http://www.gnu.org/software/parted/
>>
>> [2] solaris-parted
>>     http://code.google.com/p/solaris-parted/
>>
>> [3] NTFSprogs
>>     http://www.linux-ntfs.org/
>>
>> [4] GParted
>>     http://gparted.sourceforge.net/
>>
>> [5] Gtkmm
>>     http://gtkmm.org/
>>
>> [6] HAL spec
>>     http://sac.sfbay/PSARC/2007/679/materials/hal-spec.html
>>
>> 6. Resources and Schedule
>>     6.4. Steering Committee requested information
>>        6.4.1. Consolidation C-team Name:
>>         ON
>>     6.5. ARC review type: FastTrack
>>     6.6. ARC Exposure: open
>>
>>
>




More information about the opensolaris-arc mailing list