Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Mar 2012 16:12:42 -0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        Nikolay Denev <ndenev@gmail.com>
Cc:        Alexander Leidinger <Alexander@leidinger.net>, stable@freebsd.org, current@freebsd.org
Subject:   Re: [CFT] modular kernel config
Message-ID:  <CAJ-Vmo=jhtKBKbUuOQrVKpPBdnRNshQ3-wXjtjHGiDAn1Q6agA@mail.gmail.com>
In-Reply-To: <2F3C6FA2-4045-4022-A317-42CF616A84A8@gmail.com>
References:  <20120221143537.Horde.deyFDZjmRSRPQ52pxBIpnLA@webmail.leidinger.net> <2F3C6FA2-4045-4022-A317-42CF616A84A8@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
SunOS 4.x users will love you.

:-)


Adrian

On 1 March 2012 02:27, Nikolay Denev <ndenev@gmail.com> wrote:
> On Feb 21, 2012, at 3:35 PM, Alexander Leidinger wrote:
>
>> Hi,
>>
>> I created a kernel config for i386/amd64 (should work on -current and 9.=
x) and a suitable loader.conf which:
>> - tries to provide as much features as GENERIC (I lost one or two disk
>> =A0 controllers, they are not available as a module... or I didn't find
>> =A0 them)
>> - incorporates some more features based upon a poll on stable@
>> =A0 (see below)
>> - loads as much as possible as a module
>>
>> I've compile-tested them on i386 and amd64, but I didn't had time yet to=
 give it a try on a spare machine. I may get some time next week to test (i=
386 only). It would be nice if someone could help testing:
>> - compile the kernel
>> - make _sure_ you have a way to recover the system in case
>> =A0 the new kernel+loader.conf fails
>> - verify that the example loader.conf contains all devices
>> =A0 which are important for you
>> - copy the example loader.conf to /boot/loader.conf
>> - give it a try
>>
>> You can download from
>> =A0http://www.Leidinger.net/FreeBSD/current-patches/
>> The files are
>> =A0- i386_SMALL
>> =A0- i386_SMALL_loader.conf
>> =A0- amd64_SMALL
>> =A0- amd64_SMALL_loader.conf
>> I didn't provide direct links for eqch one on purpose. If you do not kno=
w how to recover a system with an unsuitable loader.conf, don't give this a=
 try (you could check a diff between GENERIC and SMALL, and make sure all r=
emoved devices which are imporant for you are in the loader.conf). They sho=
uld work on -current and on 9.x, for 8.x I'm not sure if it woll work witho=
ut removing some stuff (GENERIC on 8.x comes without some more debugging op=
tions, make sure you don't get surprised by them, but those may not be the =
only differences).
>>
>> I didn't use the name MODULAR on purpose, I've chosen a name where the f=
irst letter does not yet exist in the kernel config directory, to make tab-=
completion more easy. If you are not happy with the name, keep your opinion=
 for yourself please, until after you tested this on a (maybe virtual) syst=
em.
>>
>> The loader.conf was generated with a script from a diff between GENERIC =
and SMALL, if there's a name mismatch between the config-name and the modul=
e-name, the script may have missed the module (I added some missing sound m=
odules, but I may have overlooked something). You better double-check befor=
e giving it a try. The loader.conf is also supposed to disable some feature=
s (at the end of the file) which are new compared to what is in GENERIC, if=
 the particular feature could cause a change in behavior.
>>
>> The new stuff in the kernel config compared to GENERIC is (in order of n=
umber of requests from users):
>> - IPSEC (+ device enc + IPSEC_NAT_T)
>> - ALTQ
>> - SW_WATCHDOG
>> - QUOTA
>> - IPSTEALTH (disabled in loader.conf)
>> - IPFIREWALL_FORWARD (touches every packet, power users which need
>> =A0 a bigger PPS but not this feature can recompile the kernel,
>> =A0 discussed with julian@)
>> - FLOWTABLE (disabled in loader.conf)
>> - BPF_JITTER
>>
>> In the poll there where some more options requested, but most of them ca=
n be handled via the loader or sysctl (e.g. the firewalls can be loaded as =
modules). For some of them I added some comments at the end of the SMALL co=
nfig to make it more easy to find the correct way of configuring them. Doc-=
committers may want to have a look, maybe there's an opportunity to improve=
 existing documentation.
>>
>> I'm interested in success reports, failure reports, and reports about mi=
ssing stuff in loader.conf (mainly compared to the devices available in GEN=
ERIC, but missing stuff which could help getting a system installed and boo=
ted is welcome even if what you propose is not in GENERIC).
>>
>> Bye,
>> Alexander.
>>
>> --
>>
>> http://www.Leidinger.net =A0 =A0Alexander @ Leidinger.net: PGP ID =3D B0=
063FE7
>> http://www.FreeBSD.org =A0 =A0 =A0 netchild @ FreeBSD.org =A0: PGP ID =
=3D 72077137
>>
>
>
> Just an idea : Ship FreeBSD with all the kernel object files
> (even compile different versions of them, let's say networking with IPFOR=
WARD and networking without),
> and then let the user relink the kernel with some shell script.
> This way freebsd-update can binary update the object files,
> and then relink the users's kernel.
> This of course will probably need some infrastructure work to make it pos=
sible.
>
> P.S.: As I said, just an idea off the top of my head :)
>
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org=
"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=jhtKBKbUuOQrVKpPBdnRNshQ3-wXjtjHGiDAn1Q6agA>