Re: creating release and kernels
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.