Re: What is /boot/kernel/*.symbols?
On Tue, Jul 07, 2009 at 07:29:24PM +0300, Dan Naumov typed: On Tue, Jul 7, 2009 at 7:09 PM, Rick C. Pettyrick-freebsd2...@kiwi-computer.com wrote: On Tue, Jul 07, 2009 at 11:24:51AM +0200, Ruben de Groot wrote: On Mon, Jul 06, 2009 at 04:20:45PM -0500, Rick C. Petty typed: On Mon, Jul 06, 2009 at 11:39:04AM +0200, Ruben de Groot wrote: On Mon, Jul 06, 2009 at 10:46:50AM +0200, Dimitry Andric typed: Right, so it's a lot bigger on amd64. ?I guess those 64-bit pointers aren't entirely free. :) I'm not sure where the size difference comes from. I have some sparc64 systems running -current with symbols and the size of /boot/kernel is more comparable to i386, even with the 8-byte pointer size: Um, probably there are a lot of devices on amd64 that aren't available for sparc64? Yes, That's probably it. It was just a theory; I don't have sparc64. ?What's your output of ls -1 /boot/kernel | wc? -- Rick C. Petty atom# uname -a FreeBSD atom.localdomain 7.2-RELEASE-p2 FreeBSD 7.2-RELEASE-p2 #0: Wed Jun 24 00:14:35 UTC 2009 r...@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 atom# ls -1 /boot/kernel | wc 10111011 15243 On sparc: morninglightmountain# uname -pr 8.0-CURRENT sparc64 morninglightmountain# ls /boot/kernel | wc 853 853 13045 morninglightmountain# wc -l /usr/src/sys/sparc64/conf/GENERIC /usr/src/sys/amd64/conf/GENERIC 247 /usr/src/sys/sparc64/conf/GENERIC 322 /usr/src/sys/amd64/conf/GENERIC 569 total So, fewer drivers and also less devices in GENERIC, as might be expected. regards, Ruben ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
On Mon, Jul 06, 2009 at 04:20:45PM -0500, Rick C. Petty typed: On Mon, Jul 06, 2009 at 11:39:04AM +0200, Ruben de Groot wrote: On Mon, Jul 06, 2009 at 10:46:50AM +0200, Dimitry Andric typed: Right, so it's a lot bigger on amd64. I guess those 64-bit pointers aren't entirely free. :) I'm not sure where the size difference comes from. I have some sparc64 systems running -current with symbols and the size of /boot/kernel is more comparable to i386, even with the 8-byte pointer size: Um, probably there are a lot of devices on amd64 that aren't available for sparc64? Yes, That's probably it. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
On Tue, Jul 07, 2009 at 11:24:51AM +0200, Ruben de Groot wrote: On Mon, Jul 06, 2009 at 04:20:45PM -0500, Rick C. Petty typed: On Mon, Jul 06, 2009 at 11:39:04AM +0200, Ruben de Groot wrote: On Mon, Jul 06, 2009 at 10:46:50AM +0200, Dimitry Andric typed: Right, so it's a lot bigger on amd64. I guess those 64-bit pointers aren't entirely free. :) I'm not sure where the size difference comes from. I have some sparc64 systems running -current with symbols and the size of /boot/kernel is more comparable to i386, even with the 8-byte pointer size: Um, probably there are a lot of devices on amd64 that aren't available for sparc64? Yes, That's probably it. It was just a theory; I don't have sparc64. What's your output of ls -1 /boot/kernel | wc? -- Rick C. Petty ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
On Tue, Jul 7, 2009 at 7:09 PM, Rick C. Pettyrick-freebsd2...@kiwi-computer.com wrote: On Tue, Jul 07, 2009 at 11:24:51AM +0200, Ruben de Groot wrote: On Mon, Jul 06, 2009 at 04:20:45PM -0500, Rick C. Petty typed: On Mon, Jul 06, 2009 at 11:39:04AM +0200, Ruben de Groot wrote: On Mon, Jul 06, 2009 at 10:46:50AM +0200, Dimitry Andric typed: Right, so it's a lot bigger on amd64. I guess those 64-bit pointers aren't entirely free. :) I'm not sure where the size difference comes from. I have some sparc64 systems running -current with symbols and the size of /boot/kernel is more comparable to i386, even with the 8-byte pointer size: Um, probably there are a lot of devices on amd64 that aren't available for sparc64? Yes, That's probably it. It was just a theory; I don't have sparc64. What's your output of ls -1 /boot/kernel | wc? -- Rick C. Petty atom# uname -a FreeBSD atom.localdomain 7.2-RELEASE-p2 FreeBSD 7.2-RELEASE-p2 #0: Wed Jun 24 00:14:35 UTC 2009 r...@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 atom# ls -1 /boot/kernel | wc 10111011 15243 - Sincerely, Dan Naumov ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
On Sun, Jul 05, 2009 at 12:38:34AM +0100, Ian J Hart typed: I just had an installworld fail due to this (/rescue). Given that many people will have chosen the default root size offered by sysinstall a different build default would seem prudent. In any case sysinstall needs to be updated (1GB?). Let's not put off new users anymore than we have to. The default root partition created by sysinstall (provided the disk is large enough) is 512 MB, which is more than enough. #define ROOT_DEFAULT_SIZE 512 Ruben ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
Hello, On Mon, Jul 06, 2009 at 09:39:41AM +0200, Ruben de Groot wrote: On Sun, Jul 05, 2009 at 12:38:34AM +0100, Ian J Hart typed: I just had an installworld fail due to this (/rescue). Given that many people will have chosen the default root size offered by sysinstall a different build default would seem prudent. In any case sysinstall needs to be updated (1GB?). Let's not put off new users anymore than we have to. The default root partition created by sysinstall (provided the disk is large enough) is 512 MB, which is more than enough. #define ROOT_DEFAULT_SIZE 512 IMHO it is not. If you install a kernel with *.symbols present twice (i.e. kernel and kernel.old contain symbol files), your root partition will be 95% full. That's why I started this discussion in the first place and decided not to install the symbols on production machines for now. Kind regards, Patrick -- punkt.de GmbH * Kaiserallee 13a * 76133 Karlsruhe Tel. 0721 9109 0 * Fax 0721 9109 100 i...@punkt.de http://www.punkt.de Gf: Jürgen Egeling AG Mannheim 108285 ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
On 2009-07-06 09:42, Patrick M. Hausen wrote: #define ROOT_DEFAULT_SIZE 512 IMHO it is not. If you install a kernel with *.symbols present twice (i.e. kernel and kernel.old contain symbol files), your root partition will be 95% full. I'm not sure how you arrive at this number; even with -CURRENT (on i386, with all debug symbols), I could store about 4 complete kernels on such a filesystem: $ du -hs /boot/kernel* 122M/boot/kernel 122M/boot/kernel.20090629a 121M/boot/kernel.20090630a 122M/boot/kernel.20090702a 121M/boot/kernel.20090703a All other files on my root filesystem use up an additional ~25 MiB, so in practice, it would be limited to 3 kernels, with more than enough breathing room. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
On Mon, Jul 6, 2009 at 11:34 AM, Dimitry Andricdimi...@andric.com wrote: On 2009-07-06 09:42, Patrick M. Hausen wrote: #define ROOT_DEFAULT_SIZE 512 IMHO it is not. If you install a kernel with *.symbols present twice (i.e. kernel and kernel.old contain symbol files), your root partition will be 95% full. I'm not sure how you arrive at this number; even with -CURRENT (on i386, with all debug symbols), I could store about 4 complete kernels on such a filesystem: $ du -hs /boot/kernel* 122M /boot/kernel 122M /boot/kernel.20090629a 121M /boot/kernel.20090630a 122M /boot/kernel.20090702a 121M /boot/kernel.20090703a All other files on my root filesystem use up an additional ~25 MiB, so in practice, it would be limited to 3 kernels, with more than enough breathing room. atom# uname -a FreeBSD atom.localdomain 7.2-RELEASE-p1 FreeBSD 7.2-RELEASE-p1 #0: Tue Jun 9 18:02:21 UTC 2009 r...@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 atom# du -hs /boot/kernel* 205M/boot/kernel This is on a stock 7.2-release/amd64 updated to -p1 with freebsd-update, 2 kernels is the maximum that would fit into the default 512mb partition size for /, a bit too tight for my liking. - Sincerely, Dan Naumov ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
On Mon, Jul 06, 2009 at 10:34:41AM +0200, Dimitry Andric wrote: I'm not sure how you arrive at this number; even with -CURRENT (on i386, with all debug symbols), I could store about 4 complete kernels on such a filesystem: $ du -hs /boot/kernel* 122M/boot/kernel I get about the same on an i386: 119M/boot/kernel However, on amd64: 227M/boot/kernel --Emil ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
On 2009-07-06 10:41, Dan Naumov wrote: atom# uname -a FreeBSD atom.localdomain 7.2-RELEASE-p1 FreeBSD 7.2-RELEASE-p1 #0: Tue Jun 9 18:02:21 UTC 2009 r...@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 atom# du -hs /boot/kernel* 205M/boot/kernel Right, so it's a lot bigger on amd64. I guess those 64-bit pointers aren't entirely free. :) So indeed, on amd64 and possibly some other 'big' architectures (ia64?), cranking the default root filesystem size to e.g. 1024M would be nice. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
I'm not sure how you arrive at this number; even with -CURRENT (on i386, with all debug symbols), I could store about 4 complete kernels on such a filesystem: $ du -hs /boot/kernel* 122M /boot/kernel atom# du -hs /boot/kernel* 205M/boot/kernel i386: 127 meg amd64: 208 meg those are machines built from identical source, only differeing in the architecture. unless you are constrained to using i386 for some reason then 512 meg is going to be a bit small. -pete. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
Hi there Patrick, On Fri, 3 Jul 2009, Patrick M. Hausen wrote: PMH 7.2-System: PMH --- PMH makeoptions DEBUG=-g PMH PMH $ du -sk /boot/kernel PMH 214778 /boot/kernel PMH PMH Lots of those files filling /boot/kernel. PMH PMH PMH On a current server with 512 MB /, the filesystem is at PMH 97% after installing a new kernel twice. Can I get rid of PMH these files somehow or are they necessary, in which case PMH I will need way bigger root filesystems? Define INSTALL_NODEBUG somewhere (on installkernel commandline or maybe even in /etc/make.conf) -- Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: ma...@freebsd.org ] *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- ma...@rinet.ru *** ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
On Mon, Jul 06, 2009 at 10:46:50AM +0200, Dimitry Andric typed: On 2009-07-06 10:41, Dan Naumov wrote: atom# uname -a FreeBSD atom.localdomain 7.2-RELEASE-p1 FreeBSD 7.2-RELEASE-p1 #0: Tue Jun 9 18:02:21 UTC 2009 r...@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 atom# du -hs /boot/kernel* 205M/boot/kernel Right, so it's a lot bigger on amd64. I guess those 64-bit pointers aren't entirely free. :) I'm not sure where the size difference comes from. I have some sparc64 systems running -current with symbols and the size of /boot/kernel is more comparable to i386, even with the 8-byte pointer size: uname -p sparc64 du -sk /boot/kernel 137918 /boot/kernel So indeed, on amd64 and possibly some other 'big' architectures (ia64?), cranking the default root filesystem size to e.g. 1024M would be nice. Indeed. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
On 2009-07-06 11:39, Ruben de Groot wrote: r...@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 atom# du -hs /boot/kernel* 205M/boot/kernel Right, so it's a lot bigger on amd64. I guess those 64-bit pointers aren't entirely free. :) I'm not sure where the size difference comes from. I have some sparc64 systems running -current with symbols and the size of /boot/kernel is more comparable to i386, even with the 8-byte pointer size: uname -p sparc64 du -sk /boot/kernel 137918 /boot/kernel It looks like on amd64, the kernel is compiled with optimization flags: -O2 -frename-registers -pipe -fno-strict-aliasing by default, while on i386, they are just: -O -pipe Maybe this accounts for the huge difference? Does -O2 do a lot more inlining? In any case, it's a weird inconstency, if you ask me. But it's intentional, as /usr/src/sys/conf/kern.pre.mk says: . if ${MACHINE_ARCH} == amd64 COPTFLAGS?=-O2 -frename-registers -pipe . else COPTFLAGS?=${_MINUS_O} -pipe . endif where ${_MINUS_O} is by default just -O, since DEBUG is enabled... ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
On Mon, Jul 06, 2009 at 11:39:04AM +0200, Ruben de Groot wrote: On Mon, Jul 06, 2009 at 10:46:50AM +0200, Dimitry Andric typed: Right, so it's a lot bigger on amd64. I guess those 64-bit pointers aren't entirely free. :) I'm not sure where the size difference comes from. I have some sparc64 systems running -current with symbols and the size of /boot/kernel is more comparable to i386, even with the 8-byte pointer size: Um, probably there are a lot of devices on amd64 that aren't available for sparc64? -- Rick C. Petty ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
Quoting Patrick M. Hausen hau...@punkt.de: Hi! On Fri, Jul 03, 2009 at 05:05:08PM +0200, Dimitry Andric wrote: E.g. the debug stuff is put into the .symbols files. The kernel itself still contains the function and data names, though: Understood. Thanks. No, I don't want the kernel to be void of any information ;-) Kind regards, Patrick -- punkt.de GmbH * Kaiserallee 13a * 76133 Karlsruhe Tel. 0721 9109 0 * Fax 0721 9109 100 i...@punkt.de http://www.punkt.de Gf: Jürgen Egeling AG Mannheim 108285 ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org I just had an installworld fail due to this (/rescue). Given that many people will have chosen the default root size offered by sysinstall a different build default would seem prudent. In any case sysinstall needs to be updated (1GB?). Let's not put off new users anymore than we have to. -- ian j hart This message was sent using IMP, the Internet Messaging Program. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
On 2009-07-03 16:25, Patrick M. Hausen wrote: On a current server with 512 MB /, the filesystem is at 97% after installing a new kernel twice. Can I get rid of these files somehow or are they necessary, in which case I will need way bigger root filesystems? I mean, get rid automatically and never install them again. I know the chflags and rm commands ;-) But then the question of they are needed is still open. You can find this in /usr/src/UPDATING: 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. However, you should consider increasing the size of your root partition, if possible. It can be extremely handy to have symbol files available whenever there's a crash. :) ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
Hello, On Fri, Jul 03, 2009 at 04:35:54PM +0200, Dimitry Andric wrote: You can find this in /usr/src/UPDATING: 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. Thanks a lot. I've been searching the handbook and Google for at least one hour. However, you should consider increasing the size of your root partition, if possible. It can be extremely handy to have symbol files available whenever there's a crash. :) But I thought, they were in the kernel itself? %file /boot/kernel/kernel /boot/kernel/kernel: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked (uses shared libs), not stripped not stripped - i.e. with debug symbols. Wrong? Since when? Thanks, Patrick -- punkt.de GmbH * Kaiserallee 13a * 76133 Karlsruhe Tel. 0721 9109 0 * Fax 0721 9109 100 i...@punkt.de http://www.punkt.de Gf: Jürgen Egeling AG Mannheim 108285 ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
On 2009-07-03 16:41, Patrick M. Hausen wrote: But I thought, they were in the kernel itself? %file /boot/kernel/kernel /boot/kernel/kernel: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked (uses shared libs), not stripped not stripped - i.e. with debug symbols. Wrong? Since when? Well, only the debug symbols have been stripped, not any others. If you look in /usr/src/sys/conf/kern.post.mk, you will see this fragment: ${KERNEL_KO}: ${FULLKERNEL} ${KERNEL_KO}.symbols ${OBJCOPY} --strip-debug --add-gnu-debuglink=${KERNEL_KO}.symbols\ ${FULLKERNEL} ${.TARGET} ${KERNEL_KO}.symbols: ${FULLKERNEL} ${OBJCOPY} --only-keep-debug ${FULLKERNEL} ${.TARGET} E.g. the debug stuff is put into the .symbols files. The kernel itself still contains the function and data names, though: $ objdump -t /boot/kernel/kernel /boot/kernel/kernel: file format elf32-i386-freebsd SYMBOL TABLE: c092de00 l .data tmpstk c092de58 l .data physfree c092de64 l .data proc0uarea [...] If you want to build absolutely without any symbols whatsover, remove the makeoptions DEBUG=-g line from your kernel config file. ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: What is /boot/kernel/*.symbols?
Hi! On Fri, Jul 03, 2009 at 05:05:08PM +0200, Dimitry Andric wrote: E.g. the debug stuff is put into the .symbols files. The kernel itself still contains the function and data names, though: Understood. Thanks. No, I don't want the kernel to be void of any information ;-) Kind regards, Patrick -- punkt.de GmbH * Kaiserallee 13a * 76133 Karlsruhe Tel. 0721 9109 0 * Fax 0721 9109 100 i...@punkt.de http://www.punkt.de Gf: Jürgen Egeling AG Mannheim 108285 ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org