Hi William, 1st cylinder on disk is reserved and can't be utilized - the reason is that it contains system information - as far as I am aware of for now only 1st sector is utilized - it contains MBR.
For GUI installer case, partition adjustment, resizing and verification is done in orchestrator, please see following function for details and implementation: lib/liborchestrator/disk_parts.c:om_validate_and_resize_disk_partitions() Among other things, it makes sure 1st partition doesn't occupy cylinder 0. The reason why it is done in orchestrator is that partition configuration can be edited on Disk screen and user has to be provided with feedback about how the desired configuration is being adjusted respecting the current set of rules - for instance at this moment if there are gaps between partitions, we can't take advantage of free space occupied by those gaps - please see enhancement 1161 for details. I think you could follow similar approach for AI and take advantage of existing orchestrator code for this. As there is a lot of stuff not applicable to AI, since there is no UI, the code would need to be accommodated for AI purposes. CCing caiman-discuss, since Sundar and maybe other people were dealing with this kind of issues as well, so they might correct me or provide valuable input. Thank you, Jan William Schumann wrote: > Honzo, > If the user selects sector 0 to start a partition, fdisk fails, since > it doesn't let you use cylinder 0. > So it seems a reasonable adjustment is to have TI find the second > cylinder and to start the partition from there. > om_write_partition_table() can calculate this, since it has the disk > geometry from TD. > Do you think it should be done in TI or in om_write_partition_table()? > William
