> Hi Alex, > > I have given those changes a try and while DC build > succeeded > for Sparc and x86 AI images, number of available > inodes > were insufficient for nbpi=16384 in x86 LiveCD case > for both > 32 as well as 64 bit archives. > > So I have taken a closer look at boot archives based > on build 128 - > observations are summarized in tables below. > > From this it seems that 16384 is sufficient for AI > images, 8192 > s needed in LiveCD case. > > I am thinking about following solutions: > > [1] Specify nbpi in DC manifests. > Looking at DC manifest, there is already section > <boot_archive> > which is used to set boot archive parameters - e.g. > compression type (<compression>) or padding > (<size_pad_mb>). > We could add support for nbpi. > > [2] Work out algorithm which would automatically > calculate nbpi > during process of creating boot archive. > For instance, nbpi might be function of ramdisk size > and > number of inodes: > nbpi = f(size of backend file, number of required > inodes) > > [3] ? > > > I think mentioned approaches have their pros and > cons, e.g. > > [1] > + user can set it to the desired value > - if size or content of boot archive changes in such > a way that > build of boot archive fails, manual intervention is > required - > nbpi has to be recalculated > [2] > + no need to calculate the value manually > - less control - user can't set it to the desired > value > > Please let me know what you think. > > Thank you, > Jan > > > Tables: > > [1] size of ramdisk backend file [kB] - uncompressed > in case of x86 > > For instance for AI x86 64 bit archive the size was > obtained using > following steps: > > # gzcat > /tmp/iso_ai/platform/i86pc/amd64/boot_archive > > tmp/boot_archive_ai_64 > # du -sk /tmp/boot_archive_ai_64 > 159400 /tmp/boot_archive_ai_64 > # > > ----------------------------------------- > cd_32 cd_64 ai_32 ai_64 ai_sparc > --------------------------------------- > 144452 177132 114256 159400 170968 > ---------------------------------------- > > > > [2] # of used inodes > > fsck(1M) was used to obtain this information, e.g. > # fsck -v /tmp/boot_archive_ai_64 > ... > > Filesystem summary: > Inodes in use: 6977 > Blocks in use: 128994 > Total free fragments: 28385 > Free fragments not in blocks: 225 > Total free blocks: 3520 > Fragment/block fragmentation: 0.1% > > > ---------------------------------------- > cd_32 cd_64 ai_32 ai_64 ai_sparc > --------------------------------------- > 14892 15095 6775 6977 7310 > --------------------------------------- > > [3] # of available inodes > > Obtained experimentally - filesystem was filled up > with 1byte files. > > ----------------------------------------------- > nbpi cd_32 cd_64 ai_32 ai_64 ai_sparc > ---------------------------------------------- > 8192 17854 21286 - - - > 6384 9918 11838 7678 10878 11518 > ----------------------------------------------- > > Legend: > cd_32 x86 LiveCD 32bit boot archive > cd_64 x86 LiveCD 64bit boot archive > ai_32 x86 AI 32bit boot archive > ai_64 x86 AI 64bit boot archive > ai_sparc Sparc AI boot archive > > > >> Alex, > >> you are quite welcome. > >> > >> Could you please send me your changes by means of > 'hg > >> bundle' ? > >> > >> Thank you, > >> Jan > > >> Done. > >> > >> -- > >> Alexander > > _______________________________________________ > caiman-discuss mailing list > caiman-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/caiman-di > scuss Jan, I'd like to see in the DC high functionality and possibility to change any parameter, so I agree with Karen - boot_archive_archive.py should know how to calculate necessary quantity of nbpi and to use it if the user has not specified it obviously in the manifest.
Thanks, Alexander -- This message posted from opensolaris.org
