site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com Thread-index: AcUZEllndJ+WVYIuQYOM5+UZ4eCWRAAXi9wg Hi Cliff, Thanks for your immediate reply. Actually my problem is that I want to change ContentHint of those partitions which are already created on disk through DiskUtil. So that I shall be able to load my filter scheme driver for those partitions whose ContentHint matches to that of my driver. So is there any way to change/modify the ContentHint of already created partition instead of creating new partition. Thanks Imran -----Original Message----- From: Cliff Russell [mailto:crussell@atimi.com] Sent: Wednesday, February 23, 2005 12:42 AM To: Imran Cc: darwin-kernel@lists.apple.com Subject: Re: ContentHint Issue Irman, In your case your are initializing the partition, this writes an empty partition map to the disk (wiping out all previous partitions) and then changing the type of the free partition ('Apple_Free') to you custom type ('MACOSX_MyContent'). Your missing the set where you create your own partitions. You can either use 'c' to create partitions with the standard type ('Apple_HFS') and then change the type with 't', or do it all in one step using 'C'. See example below Use the 'p' print command after each step to see what is actually happening to the partition map. Also take a look at "Secrets of the partition map" section TN1189: The Monster Disk Driver Technote and/or the various header files (IOApplePartitionScheme.h for IOKit or AppleDiskPartitions.h) for more information. ** example ** [CLIFFR-PB:/] cliffr% pdisk Top level command (? for help): e Name of device: /dev/rdisk1 /dev/rdisk1 Command (? for help): i map already exists do you want to reinit? [n/y]: y size of 'device' is 1024000 blocks (512 byte blocks): new size of 'device' is 1024000 blocks (512 byte blocks) Command (? for help): p /dev/rdisk1 map block size=512 #: type name length base ( size ) 1: Apple_partition_map Apple 63 @ 1 2: Apple_Free Extra 1023936 @ 64 (500.0M) Device block size=512, Number of Blocks=1024000 DeviceType=0x0, DeviceId=0x0 Command (? for help): C First block: 64 Length in blocks: 511968 Name of partition: Snap1 Type of partition: MACOSX_MyContent Command (? for help): p /dev/rdisk1 map block size=512 #: type name length base ( size ) 1: Apple_partition_map Apple 63 @ 1 2: MACOSX_MyContent Snap1 511968 @ 64 (250.0M) 3: Apple_Free Extra 511968 @ 512032 (250.0M) Device block size=512, Number of Blocks=1024000 DeviceType=0x0, DeviceId=0x0 Command (? for help): C First block: 512032 Length in blocks: 511960 Name of partition: Snap2 Type of partition: MACOSX_MyContent Command (? for help): p /dev/rdisk1 map block size=512 #: type name length base ( size ) 1: Apple_partition_map Apple 63 @ 1 2: MACOSX_MyContent Snap1 511968 @ 64 (250.0M) 3: MACOSX_MyContent Snap2 511960 @ 512032 (250.0M) 4: Apple_Free Extra 8 @ 1023992 Device block size=512, Number of Blocks=1024000 DeviceType=0x0, DeviceId=0x0 Command (? for help): -- Cliff On 22-Feb-05, at 1:38 AM, Imran wrote:
Hi,
I have 2 partitions named Snap1 and Snap2 on the a disk /dev/rdisk1 and want to change ContentHint of one partition to MACOSX_MyContent instead of Apple_HFS, so that my driver gets loaded only for that particular partition whose ContentHint matches. How can I change the content hint of single partition out of 2 partitions on a disk.
I have tried this using pdisk but it changes the partition type of whole disk to MACOSX_MyContent and all the partitions disappear for /dev/rdisk1. Steps taken to do the same are
# pdisk
Top:level command (? for help): e // to edit the partition
Top:level command (? for help): i // to initialize the disk /dev/rdisk1
Top:level command (? for help): t // to change partition type
Top:level command (? for help): w // to write the partition map
Below is the output of pdisk after changing partition type:
Top:level command (? for help): L
/dev/rdisk2 map block size=512
#: type name length base ( size )
1: Apple_partition_map Apple 63 @ 1
2: Apple_HFS Extra 143374680 @ 64 ( 68.4G)
Device block size=512, Number of Blocks=143374744
DeviceType=0x0, DeviceId=0x0
/dev/rdisk1 map block size=512
#: type name length base ( size )
1: Apple_partition_map Apple 63 @ 1
2: MACOSX_MyContent Extra 143374680 @ 64 ( 68.4G)
Device block size=512, Number of Blocks=143374744
DeviceType=0x0, DeviceId=0x0
/dev/rdisk3 map block size=512
#: type name length base ( size )
1: Apple_partition_map Apple 63 @ 1
2: Apple_Free 0+@ 64
3: Apple_HFS Apple_HFS_Untitled_4 143112520 @ 262208 ( 68.2G)
4: Apple_Free 0+@ 143374728
Device block size=512, Number of Blocks=143374744
DeviceType=0x0, DeviceId=0x0
/dev/rdisk0 map block size=512
#: type name length base ( size )
1: Apple_partition_map Apple 63 @ 1
2: Apple_Free 0+@ 64
3: Apple_HFS Apple_HFS_Untitled_2 64961408 @ 262208 ( 31.0G)
4: Apple_Free 0+@ 65223616
5: Apple_HFS Apple_HFS_Untitled_3 64961408 @ 65485760 ( 31.0G)
6: Apple_Free 0+@ 130447168
7: Apple_HFS Apple_HFS_Untitled_4 13252672 @ 130709312 ( 6.3G)
8: Apple_Free 0+@ 143961984
9: Apple_HFS Apple_HFS_Untitled_5 12077344 @ 144224128 ( 5.8G)
10: Apple_Free 0+@ 156301472
Device block size=512, Number of Blocks=156301488
DeviceType=0x0, DeviceId=0x0
Thanks and Regards,
Imran
_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/ cliff_russell%40atimi.com
This email sent to cliff_russell@atimi.com
_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com