How to clean up /

Daniel O'Connor doconnor at
Fri Nov 30 10:52:32 UTC 2012

On 30/11/2012, at 17:46, Kevin Oberman <kob6558 at> wrote:
>> It would be Really Nice (tm) if they could be put into /usr instead since there is virtually no benefit to them being in / (since they are only used for debugging).
> I have long wondered why the kernel debug symbols were moved into
> /kernel. The only thing I can come up with was the desire to retain
> symbols for kernel.old, which the old system deleted. I'm not sure,
> but I think the change was made when the symbols files were added for
> all of the modules. I'd meed to dig back in the archived to track down
> the change.
> In any case, it's hardly difficult to come up with a scheme for
> keeping symbols for the current and old kernels and modules in /var or
> /usr and keep / from exceeding a gig on an amd64 system. (No, it's not
> there today, but it's disturbingly close.).

I seem to recall that last time I thought about this the main problem was keeping them in sync..

Perhaps if you hashed the kernel and then created /usr/..../kerneldbg/$hash/ and created a symlink in /boot/kernel/debug to  /usr/..../kerneldbg/$hash

Then the debug tools don't need to be much smarter to find them and they should never end up looking at incorrect data. A make target or some other tool to clean up old symbol directories might be needed though.

> Moving the Linux emulation shadow root out of root would also help.

Yes, a symlink from /compat to /usr/compat by default would work I think.

Daniel O'Connor software and network engineer
for Genesis Software -
"The nice thing about standards is that there
are so many of them to choose from."
  -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C

More information about the freebsd-stable mailing list