Ok it is done. I commited to the CVS code to support growing heap. There are two new configuration variables you need : CONFIG_EXEC_ELKS which enables support for the new executable format CONFIG_ADVANCED_MM which enables some new features in the memory manager, that you better have when using the new executable format. The kernel can still run the standar minix executables like it used to. To create executables in the new format you will need the patched linker ld86. The patch is attached to this e-mail. There are two patches for the linker, one for the package dev-0.16.0 and one for dev-0.16.9. You better go with dev-0.16.0 since the kernel Oops-es when compiler with dev-0.16.9. The dev-0.16.9 patch is attached more for Robert to add it easier to that version. The patch makes the linker to create an executable with the "big" a.aout header when given the -D option. So giving -D0x1000 to the linker creates an executable with the new header, that when loaded from ELKS will have an 0x1000 bytes stack and a nice growing heap. I started changing the elkscmd package to create this type of binaries for the most used utilities. On my testbox having init, getty, login, and ash in the new format gives me 302KB free memory when logged in! ---------------------------- # ps 1 0 root S 26676 init 8 5 root R 27264 ps 7 7 root S 27166 /bin/getty 6 6 root S 27166 /bin/getty 5 5 root S 27068 -/bin/ash # meminfo memory usage : 460KB total, 158KB used, 302KB free swap usage : 0KB total, 0KB used, 0KB free # ---------------------------- I also include a patch to make the dev-0.16.x complilable with the ansified ELKS kernel headers. Harry