Re: updating to 7.1 with a small root slice

2009-01-15 Thread Jerry McAllister
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

2009-01-14 Thread Herbert J. Skuhra
"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

2009-01-14 Thread Zbigniew Szalbot
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

2009-01-14 Thread Zbigniew Szalbot
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

2009-01-14 Thread Jerry McAllister
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

2009-01-14 Thread Michael Powell
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

2009-01-14 Thread Polytropon
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

2009-01-14 Thread Zbigniew Szalbot
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

2009-01-13 Thread Zbigniew Szalbot
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"