Re: updating to 7.1 with a small root slice
On Wed, Jan 14, 2009 at 06:30:27PM +0100, Zbigniew Szalbot wrote: > Hello Jerry, > > > Anyway, 256 MB should be plenty of space for / slash unless you > > are putting everything in it. > > My main mistake was that I had > makeoptionsDEBUG=-g > in the kernel config file. That made for a ~130MB kernel so when I Ah, that would make a big difference. You only need that when you are trying to debug a specific problem or if you are doing kernel development. Good luck, jerry > compiled and tried to install a new one, it ran out of space (it would > be about 260 MB but I only had 242 MB). > > Many thanks for all you detailed instructions though! > > -- > Zbigniew Szalbot > www.slowo.pl > www.fairtrade.net.pl ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: updating to 7.1 with a small root slice
"Zbigniew Szalbot" writes: > My main mistake was that I had > makeoptionsDEBUG=-g > in the kernel config file. That made for a ~130MB kernel so when I > compiled and tried to install a new one, it ran out of space (it would > be about 260 MB but I only had 242 MB). > > Many thanks for all you detailed instructions though! % df -h |grep ad0s1 /dev/ad0s1a242M 79M144M35%/ "makeoptions DEBUG=-g" is not commented out in my kernel conf, but I have added INSTALL_NODEBUG="yes" to /etc/src.conf. See /usr/src/UPDATING (entry from 20060118). If required you can find debug/symbols files in /usr/obj. - Herbert ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: updating to 7.1 with a small root slice
Hello Jerry, > Anyway, 256 MB should be plenty of space for / slash unless you > are putting everything in it. My main mistake was that I had makeoptionsDEBUG=-g in the kernel config file. That made for a ~130MB kernel so when I compiled and tried to install a new one, it ran out of space (it would be about 260 MB but I only had 242 MB). Many thanks for all you detailed instructions though! -- Zbigniew Szalbot www.slowo.pl www.fairtrade.net.pl ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: updating to 7.1 with a small root slice
Hello, >> Is it in /usr/src/sys/i386/conf/GENERIC ? > > Yes, it is, and is has the setting "makeoptions DEBUG=-g" included. > You could # this setting and build a GENERIC kernel without the > debug informations as described in the handbook about how to > compile a custom kernel (it doesn't matter if KERNCONF refers > to the GENERIC configuration file). Great! I was able to install the generic kernel so I should be safe when going up from 7.0 to 7.1. And I still have some space left in /. $ df -h / Filesystem SizeUsed Avail Capacity Mounted on /dev/ar0s1a242M194M 29M87%/ Thank you all for the information! Great! Now the scary thing... upgrade the system to 7.1 :) -- Zbigniew Szalbot www.slowo.pl www.fairtrade.net.pl ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: updating to 7.1 with a small root slice
On Wed, Jan 14, 2009 at 08:13:32AM +0100, Zbigniew Szalbot wrote: > Dear all, > > I am looking for your advice. Due to a very stupid design decision my > / slice is only 256 MB. It seems too little so whenever I compile a > new kernel, I need to move the kernel.old to a different slice to > install the new one. Then I pray, hope for the best and reboot. > However, I read that if I want to update to 7.1 I will need to boot a > generic kernel at some point. What option do I have? Probably you mean the / partition. Probably all those partitions are in one slice, but maybe not. Hmmm. 256 MB should be plenty for root, depending on what is in root. What do you leave in root?IF some things like /tmp, /usr or /var are living in the root partition, then they should be in their own. If they or some other big directory is in the way, then move it to your big partition (probably /home) and make a symbolic link (symlink) to it from the root partition.That will leave more room in root and you can get by until the next time you do a complete reinstall (maybe forever) that way. Then, if you want to redo your partitions, you can. By then, the main reason will be because disk sizes have become so large that you want to carve them up differently. > Even if I install a copy of GENERIC kernel into /boot, it most likely > won't fit in the available file space. The problem is the machine's > remote so I cannot take it down, replace drives, etc. as I am bound by > a hosting contract and frankly I really do not want to do that unless > I have no other option. Thoughts? Many thanks! It is easy to move a too big directory to another large partition. Just tar up the directory and untar it in the new place and then make the link. If everything looks to be OK - including files' ownership and permissions, then delete the old directory. Lets say you have a large /home that is a separate partition and that you left /var in root instead of making it its own partition. cd /var tar -cvf /home/var.tar * cd /home mkdir new.var cd new.var tar -xvpf /home/var.tar cd / mv var old.var ln -s /home/new.var var Check out the new.var for files/ownership/permissions cd / rm -rf old.var voila, you have room in root now. Do this to appropriate directories that are too big and really should have their own partition or be in the large partition anyway. Make sure you do not do it to directories that are needed for boot. The main one that may not be obvious is /etc. Don't move it. But also, do not move /bin, /sbin, /boot, /root, /dev, /lib or /libexec Really /tmp, /usr and /var or some directories within them are your only candidates. You might also check to make sure you didn't stash some large junk files in /root and forgot to get rid of them. Anyway, 256 MB should be plenty of space for / slash unless you are putting everything in it. jerry > > -- > Zbigniew Szalbot > www.slowo.pl > www.fairtrade.net.pl > ___ > freebsd-questions@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org" ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: updating to 7.1 with a small root slice
Zbigniew Szalbot wrote: > Hello, > > On Wed, Jan 14, 2009 at 08:13, Zbigniew Szalbot > wrote: >> Dear all, >> >> I am looking for your advice. Due to a very stupid design decision my >> / slice is only 256 MB. It seems too little so whenever I compile a > Actually it is 242MB I have one box with only 200MB for /. I had already displaced out GENERIC with highly stripped down kernel which made for space. I did at one point run out of space and the stuff mentioned further down saved the day for me. >> new kernel, I need to move the kernel.old to a different slice to >> install the new one. Then I pray, hope for the best and reboot. >> However, I read that if I want to update to 7.1 I will need to boot a >> generic kernel at some point. What option do I have? > > I found the problem. My oh my - I had > makeoptionsDEBUG=-g > uncommented. > > When I commented it out, the new compiled kernel is only 32MB whereas > the old one was 128 or so MB. > > So I am happy about it now. However, I do not have a GENERIC kernel in > /boot and I will need it to do nextboot when I upgrade to 7.1. > > I thought I'd use the procedure described here > http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/updating-upgrading-freebsdupdate.html > to compile a generic kernel > > # cd /usr/src > # env DESTDIR=/boot/GENERIC make kernel > # mv /boot/GENERIC/boot/kernel/* /boot/GENERIC > # rm -rf /boot/GENERIC/boot Never tried any of that. I do the make buildkernel KERNCONF=xxx. Realize you should not be running out of space on / during this procedure as the build is occurring in /usr/obj. You will only run out of space on / if the make installkernel KERNCONF=xx won't fit. > When I make the GENERIC kernel, I again run out of space (I still have > about 60MB free in /). So I guess the system is probably using the > same "makeoptionsDEBUG=-g" settings for the generic kernel. So my > question is where is the kernel conf file based on which the generic > kernel is compiled? > > Is it in /usr/src/sys/i386/conf/GENERIC ? > Yes - and it has in it by default: makeoptions DEBUG=-g# Build kernel with gdb(1) debug symbols So if you're not building a developer kernel you can comment this out. I don't remember for sure if this truly matters, or not, but I seem to recall the size of my kernel directories decreased dramatically when I placed STRIP= -s in /etc/make.conf. It seemed a favorable thing to do once upon a time and it's been there ever since. I thought the system variables had migrated to src.conf and the make.conf only applied to ports. In addition I also have in make.conf NO_PROFILE= true and in src.conf is WITHOUT_PROFILE= true. My stripped down kernels are 3.1MB for a 1 NIC driver and 3.4MB for a 2 NIC kernel. Of course, you won't get these small sizes for GENERIC! -Mike ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: updating to 7.1 with a small root slice
On Wed, 14 Jan 2009 14:53:29 +0100, "Zbigniew Szalbot" wrote: > When I make the GENERIC kernel, I again run out of space (I still have > about 60MB free in /). So I guess the system is probably using the > same "makeoptionsDEBUG=-g" settings for the generic kernel. So my > question is where is the kernel conf file based on which the generic > kernel is compiled? > > Is it in /usr/src/sys/i386/conf/GENERIC ? Yes, it is, and is has the setting "makeoptions DEBUG=-g" included. You could # this setting and build a GENERIC kernel without the debug informations as described in the handbook about how to compile a custom kernel (it doesn't matter if KERNCONF refers to the GENERIC configuration file). -- Polytropon >From Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ... ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
Re: updating to 7.1 with a small root slice
Hello, On Wed, Jan 14, 2009 at 08:13, Zbigniew Szalbot wrote: > Dear all, > > I am looking for your advice. Due to a very stupid design decision my > / slice is only 256 MB. It seems too little so whenever I compile a Actually it is 242MB > new kernel, I need to move the kernel.old to a different slice to > install the new one. Then I pray, hope for the best and reboot. > However, I read that if I want to update to 7.1 I will need to boot a > generic kernel at some point. What option do I have? I found the problem. My oh my - I had makeoptionsDEBUG=-g uncommented. When I commented it out, the new compiled kernel is only 32MB whereas the old one was 128 or so MB. So I am happy about it now. However, I do not have a GENERIC kernel in /boot and I will need it to do nextboot when I upgrade to 7.1. I thought I'd use the procedure described here http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/updating-upgrading-freebsdupdate.html to compile a generic kernel # cd /usr/src # env DESTDIR=/boot/GENERIC make kernel # mv /boot/GENERIC/boot/kernel/* /boot/GENERIC # rm -rf /boot/GENERIC/boot When I make the GENERIC kernel, I again run out of space (I still have about 60MB free in /). So I guess the system is probably using the same "makeoptionsDEBUG=-g" settings for the generic kernel. So my question is where is the kernel conf file based on which the generic kernel is compiled? Is it in /usr/src/sys/i386/conf/GENERIC ? Thank you in advance! -- Zbigniew Szalbot www.slowo.pl www.fairtrade.net.pl ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"
updating to 7.1 with a small root slice
Dear all, I am looking for your advice. Due to a very stupid design decision my / slice is only 256 MB. It seems too little so whenever I compile a new kernel, I need to move the kernel.old to a different slice to install the new one. Then I pray, hope for the best and reboot. However, I read that if I want to update to 7.1 I will need to boot a generic kernel at some point. What option do I have? Even if I install a copy of GENERIC kernel into /boot, it most likely won't fit in the available file space. The problem is the machine's remote so I cannot take it down, replace drives, etc. as I am bound by a hosting contract and frankly I really do not want to do that unless I have no other option. Thoughts? Many thanks! -- Zbigniew Szalbot www.slowo.pl www.fairtrade.net.pl ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"