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>