Hi, I just noticed somthing: I setup an 8.0-RELEASE amd64 box, / is default 512M. First step after setup was to csup to RELENG_8 and buildkernel and buildworld (no custom kernel, no make.conf). Instaling the new kernel failed, since /boot/kernel/ is already well over 230 MBytes in size. moving that to kernel.old and writing a new one with about the same size fails due to no space left on device. This is not a question; I do know how to get around this and how to configure custom kernels so they are a fragment of that size afterwards. However, I think this is a clear POLA violation. So, either GENERIC with less debugging information (symbols and stuff), which makes debugging harder or setting a higher default for / would be options, if not anyone else has better ideas. - Oliver -- | Oliver Brandmueller http://sysadm.in/ ob@sysadm.in | | Ich bin das Internet. Sowahr ich Gott helfe. |
Hi All, On Fri, 22 Jan 2010 17:21:56 +0100, Oliver Brandmueller <ob@e-Gitt.NET> wrote:> Hi, > > I just noticed somthing: I setup an 8.0-RELEASE amd64 box, / is default > 512M. First step after setup was to csup to RELENG_8 and buildkernel and > buildworld (no custom kernel, no make.conf). > > Instaling the new kernel failed, since /boot/kernel/ is already well > over 230 MBytes in size. moving that to kernel.old and writing a new one > with about the same size fails due to no space left on device. > > This is not a question; I do know how to get around this and how to > configure custom kernels so they are a fragment of that size afterwards. > However, I think this is a clear POLA violation. So, either GENERIC with > less debugging information (symbols and stuff), which makes debugging > harder or setting a higher default for / would be options, if not anyone > else has better ideas. >+1 vote for making / bigger. At least a size where a make installkernel runs through. I like FreeBSD because it honors POLA. And as Oliver stated, this is a clear POLA violation. Cheers, Marian
On Fri, 22 Jan 2010 17:21:56 +0100 Oliver Brandmueller <ob@e-Gitt.NET> wrote:> Instaling the new kernel failed, since /boot/kernel/ is already well > over 230 MBytes in size. moving that to kernel.old and writing a new one > with about the same size fails due to no space left on device. > > This is not a question; I do know how to get around this and how to > configure custom kernels so they are a fragment of that size afterwards.It would also be nice if we knew how to configure the whole "make world" procedure[1] to make a new kernel and modules without symbols. The FAQ doesn't seem to have that answer either. References: 1) http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html -- Regards, Torfinn Ingolfsen
On Fri, Jan 22, 2010 at 05:21:56PM +0100, Oliver Brandmueller wrote:> > I just noticed somthing: I setup an 8.0-RELEASE amd64 box, / is default > 512M. First step after setup was to csup to RELENG_8 and buildkernel and > buildworld (no custom kernel, no make.conf). > > Instaling the new kernel failed, since /boot/kernel/ is already well > over 230 MBytes in size. moving that to kernel.old and writing a new one > with about the same size fails due to no space left on device. > > This is not a question; I do know how to get around this and how to > configure custom kernels so they are a fragment of that size afterwards. > However, I think this is a clear POLA violation. So, either GENERIC with > less debugging information (symbols and stuff), which makes debugging > harder or setting a higher default for / would be options, if not anyone > else has better ideas./usr/src/UPDATING has this which will allow you to remove symbols when installing a kernel: 20060118: This actually occured some time ago, but installing the kernel now also installs a bunch of symbol files for the kernel modules. This increases the size of /boot/kernel to about 67Mbytes. You will need twice this if you will eventually back this up to kernel.old on your next install. If you have a shortage of room in your root partition, you should add -DINSTALL_NODEBUG to your make arguments or add INSTALL_NODEBUG="yes" to your /etc/make.conf. I concur that the 235 MB size of an amd64 8.0 kernel is a bit of a surprise. An i386 kernel is a mere 135 MB. IMO increasing the sysinstall default root slice size for at least amd64 would be a good thing. -- Adrian Wontroba
On Fri, 22 Jan 2010, Oliver Brandmueller wrote: Hi,> I just noticed somthing: I setup an 8.0-RELEASE amd64 box, / is default > 512M. First step after setup was to csup to RELENG_8 and buildkernel and > buildworld (no custom kernel, no make.conf). > > Instaling the new kernel failed, since /boot/kernel/ is already well > over 230 MBytes in size. moving that to kernel.old and writing a new one > with about the same size fails due to no space left on device.Replying to the first post in the thread. One first thing to help people to avoid problems with future upgrades could be to just make / 1G: http://people.freebsd.org/~bz/20100124-03-sysinstall-root-1g.diff Another entirely untested patch would compress the symbol files: http://people.freebsd.org/~bz/20100124-04-kernel-compress-symbols.diff It would be interesting to see if (a) they work and (b) how much the latter would safe. /bz -- Bjoern A. Zeeb It will not break if you know what you are doing.