Re: creating release and kernels

2009-03-14 Thread J.C. Roberts
On Fri, 13 Mar 2009 14:13:35 -0500 (CDT) Aaron Martinez
m...@proficuous.com wrote:

 I'm running 4.4 Stable on i386 hardware and was wanting to make a
 release.
 
 I was reading through the release man page and noticed it said a
 GENERIC kernel is included with the release.  I'm just wondering if
 there is a way to include or replace the generic kernel with a
 modified kernel.  The only change i'm making is adding NTFS read
 support.
 
 Thanks
 
 Aaron
 

You have a few different issues here:
1.) NTFS support is clearly marked experimental
2.) Enabling NTFS support *increases* the size of your kernel
3.) Modifying 'GENERIC' 'GENERIC.MP' and 'RAMDISK*' is a very bad idea
because you'll be running kernels that others *think* are normal, but
are actually custom.

You probably understood #1, but the ramifications of #2 are the real
killer, and #3 will only aggravate others if you need help. The increase
in kernel size can (and most likely will) break the creation of various
install images such as the floppy disk images (i.e. too big to fit on
the floppy). Even if you don't use floppy disk images for installing,
this is still a very bad idea.

The easiest way to achieve what you want, namely to install a kernel
with NTFS support by default, is to keep the release as is, and use the
siteXX.tgz file to make modifications at the *end* of the installation
process (i.e. replacing the GENERIC kernel(s) you just installed with
the custom NTFS kernels you want to actually run).

http://www.openbsd.org/faq/faq4.html#site

At the very end of the installation process, the siteXX.tgz file is
unarchived in the same ways as the others (tar xzf siteXX.tgz) rooted
at the / directory. This means you should be able to over-write the
initially installed GENERIC kernels with your custom versions before
the first reboot.

Personally, I would leave the GENERIC kernels on the system (just in
case) and *add* your custom kernels (SP MP) to the system with
different names. To have your system boot to your custom kernels, you
can use create a custom /etc/boot.conf and put that in your siteXX.tgz
file (see boot.conf(8) for details).

As long as you haven't done anything insane like having a super huge
root partition (resulting in the start of your custom kernels
potentially being outside of the bootable address range), you should
have no problems booting to your additional custom kernel(s) on most
modern x86 hardware. If you're using *really* old x86 hardware, you
might hit this problem. Typically, if you keep your root partition to
the 512MB suggested in the FAQ, you should be fine.

-- 
J.C. Roberts



Re: creating release and kernels

2009-03-14 Thread Aaron Martinez
 So what you actually want is create a ramdisk that recognizes NTFS. you're
 not interested in a running kernel, but a boot kernel, right ?

Actually, just the opposite, I wanted a normal functioning system running
a kernel with the experimental ntfs support.  It's worked well enough in
the past for ro operations and I often like to boot up w/an infected XP
system drive to recover/scan files before blowing the drive away.


 Look around in distrib, that's where the instructions to build boot
 kernels
 happen. You need to tweak/clone the right ramdisk for your purpose.

 Of course, there's no guarantee that will work. I can tell that including
 NTFS on a floppy won't fit, and I haven't ever tried it on bsd.rd nor the
 cd ramdisk. There might be some other issues at work.

 Good luck.


I think now from all the replies it make more sense to just stick w/the
standard release(8) process and keep a ntfs enabled /bsd file on the
system for when I need it.

Thanks to all for the help.



Re: creating release and kernels

2009-03-14 Thread Aaron Martinez
 On Fri, 13 Mar 2009 14:13:35 -0500 (CDT) Aaron Martinez
 m...@proficuous.com wrote:

 I'm running 4.4 Stable on i386 hardware and was wanting to make a
 release.

 I was reading through the release man page and noticed it said a
 GENERIC kernel is included with the release.  I'm just wondering if
 there is a way to include or replace the generic kernel with a
 modified kernel.  The only change i'm making is adding NTFS read
 support.

 Thanks

 Aaron


 You have a few different issues here:
 1.) NTFS support is clearly marked experimental
 2.) Enabling NTFS support *increases* the size of your kernel
 3.) Modifying 'GENERIC' 'GENERIC.MP' and 'RAMDISK*' is a very bad idea
 because you'll be running kernels that others *think* are normal, but
 are actually custom.

 You probably understood #1, but the ramifications of #2 are the real
 killer, and #3 will only aggravate others if you need help. The increase
 in kernel size can (and most likely will) break the creation of various
 install images such as the floppy disk images (i.e. too big to fit on
 the floppy). Even if you don't use floppy disk images for installing,
 this is still a very bad idea.

 The easiest way to achieve what you want, namely to install a kernel
 with NTFS support by default, is to keep the release as is, and use the
 siteXX.tgz file to make modifications at the *end* of the installation
 process (i.e. replacing the GENERIC kernel(s) you just installed with
 the custom NTFS kernels you want to actually run).

 http://www.openbsd.org/faq/faq4.html#site

Thanks for the reminder.. It has been a while since i had read this
section of the faq and had forgotten about this.

 At the very end of the installation process, the siteXX.tgz file is
 unarchived in the same ways as the others (tar xzf siteXX.tgz) rooted
 at the / directory. This means you should be able to over-write the
 initially installed GENERIC kernels with your custom versions before
 the first reboot.

 Personally, I would leave the GENERIC kernels on the system (just in
 case) and *add* your custom kernels (SP MP) to the system with
 different names. To have your system boot to your custom kernels, you
 can use create a custom /etc/boot.conf and put that in your siteXX.tgz
 file (see boot.conf(8) for details).

Another great suggestion.. thanks!!!


 As long as you haven't done anything insane like having a super huge
 root partition (resulting in the start of your custom kernels
 potentially being outside of the bootable address range), you should
 have no problems booting to your additional custom kernel(s) on most
 modern x86 hardware. If you're using *really* old x86 hardware, you
 might hit this problem. Typically, if you keep your root partition to
 the 512MB suggested in the FAQ, you should be fine.

 --
 J.C. Roberts



creating release and kernels

2009-03-13 Thread Aaron Martinez
I'm running 4.4 Stable on i386 hardware and was wanting to make a release.

I was reading through the release man page and noticed it said a GENERIC
kernel is included with the release.  I'm just wondering if there is a way
to include or replace the generic kernel with a modified kernel.  The only
change i'm making is adding NTFS read support.

Thanks

Aaron



Re: creating release and kernels

2009-03-13 Thread Bret S. Lambert
On Fri, Mar 13, 2009 at 02:13:35PM -0500, Aaron Martinez wrote:
 I'm running 4.4 Stable on i386 hardware and was wanting to make a release.
 
 I was reading through the release man page and noticed it said a GENERIC
 kernel is included with the release.  I'm just wondering if there is a way
 to include or replace the generic kernel with a modified kernel.  The only
 change i'm making is adding NTFS read support.

I'm a little unclear; are you talking about release(8), or just having
a kernel with NTFS support?

 
 Thanks
 
 Aaron



Re: creating release and kernels

2009-03-13 Thread Aaron Martinez
 On Fri, Mar 13, 2009 at 02:13:35PM -0500, Aaron Martinez wrote:
 I'm running 4.4 Stable on i386 hardware and was wanting to make a
 release.

 I was reading through the release man page and noticed it said a GENERIC
 kernel is included with the release.  I'm just wondering if there is a
 way
 to include or replace the generic kernel with a modified kernel.  The
 only
 change i'm making is adding NTFS read support.

 I'm a little unclear; are you talking about release(8), or just having
 a kernel with NTFS support?

yes, release(8).  So at the beginning of the release, i update my sources,
rebuild the kernel, with the one mod for ntfs support, rebuild userland
and then do a release.  I'm wondering if there is any way to get the ntfs
enabled kernel into the release.

could i just copy my running /bsd /bsd.rd and /boot files into the reldir
and create my release cd to install that way?

Thanks again.

Aaron


 Thanks

 Aaron



Re: creating release and kernels

2009-03-13 Thread Vadim Zhukov
On 13 March 2009 c. 22:13:35 Aaron Martinez wrote:
 I'm running 4.4 Stable on i386 hardware and was wanting to make a
 release.

 I was reading through the release man page and noticed it said a
 GENERIC kernel is included with the release.  I'm just wondering if
 there is a way to include or replace the generic kernel with a
 modified kernel.  The only change i'm making is adding NTFS read
 support.

Well, nothing stops you in replacing bsd* files in release directory with
your own built ones after building release itself. :) Or you want to
automate this work?

--
  Best wishes,
Vadim Zhukov



Re: creating release and kernels

2009-03-13 Thread Ingo Schwarze
Hi Aaron,

 I'm just wondering if there is a way to include or replace the generic
 kernel with a modified kernel.

Of course, one can hack up the release(8) process to replace the GENERIC
kernel by a custom kernel.  But i would call that confusing at best.
In case you have no idea where to start, don't try.

 The only change i'm making is adding NTFS read support.

I suggest to build the custom kernel seperately and install it manually
on the machine where you want to play with it.

You are aware that the option NTFS it is marked Experimental
in i386/conf/GENERIC, are you?

Yours,
  Ingo



Re: creating release and kernels

2009-03-13 Thread Aaron Martinez
 On 13 March 2009 c. 22:13:35 Aaron Martinez wrote:
 I'm running 4.4 Stable on i386 hardware and was wanting to make a
 release.

 I was reading through the release man page and noticed it said a
 GENERIC kernel is included with the release.  I'm just wondering if
 there is a way to include or replace the generic kernel with a
 modified kernel.  The only change i'm making is adding NTFS read
 support.

 Well, nothing stops you in replacing bsd* files in release directory with
 your own built ones after building release itself. :) Or you want to
 automate this work?

Automating is always good, but copying a couple files one time is
something I can handle, just didn't realize it wasn't creating a release
of the current running kernel.  Would i also need to copy the /boot file
as well or just the bsd* files?

Thanks

 --
   Best wishes,
 Vadim Zhukov



Re: creating release and kernels

2009-03-13 Thread Bret S. Lambert
On Fri, Mar 13, 2009 at 02:54:23PM -0500, Aaron Martinez wrote:
  On Fri, Mar 13, 2009 at 02:13:35PM -0500, Aaron Martinez wrote:
  I'm running 4.4 Stable on i386 hardware and was wanting to make a
  release.
 
  I was reading through the release man page and noticed it said a GENERIC
  kernel is included with the release.  I'm just wondering if there is a
  way
  to include or replace the generic kernel with a modified kernel.  The
  only
  change i'm making is adding NTFS read support.
 
  I'm a little unclear; are you talking about release(8), or just having
  a kernel with NTFS support?
 
 yes, release(8).  So at the beginning of the release, i update my sources,
 rebuild the kernel, with the one mod for ntfs support, rebuild userland
 and then do a release.  I'm wondering if there is any way to get the ntfs
 enabled kernel into the release.
 
 could i just copy my running /bsd /bsd.rd and /boot files into the reldir
 and create my release cd to install that way?

From a quick reading of release(8) and src/etc/Makefile, it looks like
the release process pulls in the kernel of the system the release is
built on.

 
 Thanks again.
 
 Aaron
 
 
  Thanks
 
  Aaron



Re: creating release and kernels

2009-03-13 Thread Vadim Zhukov
On 13 March 2009 P3. 23:12:25 Aaron Martinez wrote:
  On 13 March 2009 C#. 22:13:35 Aaron Martinez wrote:
  I'm running 4.4 Stable on i386 hardware and was wanting to make a
  release.
 
  I was reading through the release man page and noticed it said a
  GENERIC kernel is included with the release.  I'm just wondering if
  there is a way to include or replace the generic kernel with a
  modified kernel.  The only change i'm making is adding NTFS read
  support.
 
  Well, nothing stops you in replacing bsd* files in release directory
  with your own built ones after building release itself. :) Or you
  want to automate this work?

 Automating is always good, but copying a couple files one time is
 something I can handle, just didn't realize it wasn't creating a
 release of the current running kernel.

:)

 Would i also need to copy the
 /boot file as well or just the bsd* files?

No.

--
  Best wishes,
Vadim Zhukov



Re: creating release and kernels

2009-03-13 Thread Aaron Martinez
 On Fri, Mar 13, 2009 at 02:54:23PM -0500, Aaron Martinez wrote:
  On Fri, Mar 13, 2009 at 02:13:35PM -0500, Aaron Martinez wrote:
  I'm running 4.4 Stable on i386 hardware and was wanting to make a
  release.
 
  I was reading through the release man page and noticed it said a
 GENERIC
  kernel is included with the release.  I'm just wondering if there is
 a
  way
  to include or replace the generic kernel with a modified kernel.  The
  only
  change i'm making is adding NTFS read support.
 
  I'm a little unclear; are you talking about release(8), or just having
  a kernel with NTFS support?

 yes, release(8).  So at the beginning of the release, i update my
 sources,
 rebuild the kernel, with the one mod for ntfs support, rebuild userland
 and then do a release.  I'm wondering if there is any way to get the
 ntfs
 enabled kernel into the release.

 could i just copy my running /bsd /bsd.rd and /boot files into the
 reldir
 and create my release cd to install that way?

 From a quick reading of release(8) and src/etc/Makefile, it looks like
 make release pulls the kernel from the running system into the generated
 release.

I thought that as well, but when i installed from the newly created
release cd, I wasn't able to mount ntfs partitions.  I went back to my
build machine and diff'ed /bsd  and /usr/rel/bsd and they are different..
is that to be expected?

$ diff bsd /bsd
Binary files bsd and /bsd differ

Thanks,
Aaron


 Thanks again.

 Aaron
 
 
  Thanks
 
  Aaron



Re: creating release and kernels

2009-03-13 Thread Bret S. Lambert
On Fri, Mar 13, 2009 at 02:54:23PM -0500, Aaron Martinez wrote:
  On Fri, Mar 13, 2009 at 02:13:35PM -0500, Aaron Martinez wrote:
  I'm running 4.4 Stable on i386 hardware and was wanting to make a
  release.
 
  I was reading through the release man page and noticed it said a GENERIC
  kernel is included with the release.  I'm just wondering if there is a
  way
  to include or replace the generic kernel with a modified kernel.  The
  only
  change i'm making is adding NTFS read support.
 
  I'm a little unclear; are you talking about release(8), or just having
  a kernel with NTFS support?
 
 yes, release(8).  So at the beginning of the release, i update my sources,
 rebuild the kernel, with the one mod for ntfs support, rebuild userland
 and then do a release.  I'm wondering if there is any way to get the ntfs
 enabled kernel into the release.
 
 could i just copy my running /bsd /bsd.rd and /boot files into the reldir
 and create my release cd to install that way?

From a quick reading of release(8) and src/etc/Makefile, it looks like
make release pulls the kernel from the running system into the generated
release.

 
 Thanks again.
 
 Aaron
 
 
  Thanks
 
  Aaron



Re: creating release and kernels

2009-03-13 Thread Bret S. Lambert
On Fri, Mar 13, 2009 at 10:13:01PM +0100, Ingo Schwarze wrote:
 Hi Aaron,
 
 Aaron Martinez wrote on Fri, Mar 13, 2009 at 03:37:54PM -0500:
  blambert@ wrote:
 
  From a quick reading of release(8) and src/etc/Makefile, it looks like
  make release pulls the kernel from the running system into the generated
  release.
 
 /usr/src/etc/etc.i386/Makefile.inc, target snap_md:
   cp ${.CURDIR}/../sys/arch/i386/compile/GENERIC/bsd \
   ${DESTDIR}/snapshot/bsd
 
 /usr/src/etc/Makefile, target release:
   -cp ${DESTDIR}/snapshot/*bsd* ${RELEASEDIR}
 
 That doesn't look like the kernel from the running system, IMHO.

That's why I said quick reading ;)

As always, thanks for digging deeper than I had the time/inclination to.

Keep reaching for that star! ;)

 
  I thought that as well, but when i installed from the newly created
  release cd, I wasn't able to mount ntfs partitions.  I went back to my
  build machine and diff'ed /bsd  and /usr/rel/bsd and they are different..
  is that to be expected?
 
 In case you have RELEASEDIR=/usr/rel and /bsd is not GENERIC, yes,
 i would expect those two kernels to differ.
 
 Yours,
   Ingo



Re: creating release and kernels

2009-03-13 Thread Marc Espie
So what you actually want is create a ramdisk that recognizes NTFS. you're
not interested in a running kernel, but a boot kernel, right ?

Look around in distrib, that's where the instructions to build boot kernels
happen. You need to tweak/clone the right ramdisk for your purpose.

Of course, there's no guarantee that will work. I can tell that including
NTFS on a floppy won't fit, and I haven't ever tried it on bsd.rd nor the
cd ramdisk. There might be some other issues at work.

Good luck.