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 is 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 - - - 16384 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
