Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Jan 1997 03:02:57 +0900 (JST)
From:      hosokawa@mt.cs.keio.ac.jp (HOSOKAWA Tatsumi)
To:        jkh@time.cdrom.com
Cc:        keithl@wakko.gil.net, chat@freebsd.org, config@freebsd.org, hosokawa@mt.cs.keio.ac.jp
Subject:   Re: Cursing the sky (was: Commerical applications ...) 
Message-ID:  <199701211802.DAA22042@lenlen.mt.cs.keio.ac.jp>
In-Reply-To: Your message of Tue, 21 Jan 1997 04:13:24 -0800. <14442.853848804@time.cdrom.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <14442.853848804@time.cdrom.com>
jkh@time.cdrom.com writes:

>> > I started working on translating LINT config file to SGML file and
>> > implementing the translator (using sgmls with DTD file) of this
>> > meta-config file to ordinary config files.
>> > 
>> > I think this enables us to make automated config file generator tools
>> > like Linux's menuconfig and xconfig smartly.
>> 
>> Hmmm. I'd be interested in hearing more about this, as would I'm sure
>> others here.

I think FreeBSD's kernel config system is far better than irritating :-)
"make config" of Slackware Linux, but I think it has following
problems, and introducing the formal "metaconfig" file can solve these
problems.

1. Users have to learn some rules of config files.  Yes, the syntax of
   config file is fairly simple, but the semantics is too difficult.
   I think if there's an interactive menu system of kernel
   configuration utility more smart than Linux's menuconfig and
   xconfig, it helps novices much.

2. Dependency and exclusiveness between options, devices, etc. are
   only decribed in natural language.  Kernel configuration utility
   can't use these information.  Formal description is needed.

   (note that following samplese are pseudo-code, I've not implemented
    the translater yet.)

   Example 1: dependency

<OPTIONS>DDB
	<COM>
	Enable the kernel debugger.
	</COM>
</OPTIONS>

<OPTIONS>DDB_UNATTENDED
	<DEPEND>DDB
	<COM>
	Don't drop into DDB for a panic. Intended for unattended
	operation wwhere you may want to drop to DDB from the console,
	but still want the machine to recover from a panic
	</COM>
</OPTIONS>

   Example 2: exclusiveness

<OPTIONS>MATH_EMULATE
	<COM>
	Support for x87 emulation
	</COM>
</OPTIONS>

<OPTIONS>GPL_MATH_EMULATE
	<CONFLICT>MATH_EMULATE
	<COM>
	GPL_MATH_EMULATE: Support for x87 emulation via new math
	emulator
	</COM>
</OPTIONS>


3. I want to support I18N for kernel config utility, but current
   config system can't support these feature.  For example, some
   hackers in Japan translated comments of 2.2-BETA and 3.0-CURRENT
   LINT file into Japanese, but I think such approach is not so smart.

   For example:

   # configgen LINT.metaconfig
        .... generates English LINT file

   # configgen -lang ja_JP.EUC LINT.metaconfig
	.... generates Japanese LINT file

   # configgen -lang zh_TW.big5 LINT.metaconfig
	.... generates Chinese LINT file

4. There's no descriptions of "flags" of each device.  People have to
   look into the dungeon of kernel sources to find the optional flags
   which solves his/her problems, but sometimes (or frequently) s/he
   can't find anything because of s/he is unaware of the structure of
   kernel souces.  I frequently receive personal e-mails about
   problems that can be solved by adding "flags" to appropreate
   device.  I think kernel configuration utility have to support such
   demands.  The definitions of "flags" and "options" of devices
   should be described in formal way.

>> > (I'm planning to port sysinstall to X11 :-).  I think it's not
>> > difficult to install FreeBSD from X interface like RedHat Linux)
>> 
>> Yikes!  Sysinstall is a very poor target and has gone strictly into
>> maintainance mode (I think we still have your japanese patches to
>> integrate, but those are still missing from the last freefall cleanup
>> of incoming).  If you want to do a CUI/GUI sysinstall, you should join
>> us in developing the new system rather that prolonging the life of
>> the old. :-)

Okay, I'll mail majordomo soon.

P.S.: For 2.2-BETA, I totally rewrote the experimental PC-card support
for sysinstall.  It comes more smart compared to it of 2.1.5.

New features of this boot.flp:

	1. You can select scratch memroy of PC-card controller from
	   the menu of sysinstall.
	2. You can select free IRQ pool for PC-card from the menu of
	   sysinstall.
	3. You can apply PC-card patches, recompile and install the
	   new kernel from the menu of sysinstall.
	4. pccardc and pccardd are incorporated into crunched binary,
	   and all /etc stuffs, documents about PC-card drivers, and
	   kernel patches are stored in /stand, so you can make
	   PC-card operational without importing any other patches and
	   files from network or CD-ROM. (it's sometimes difficult to
	   import these patches without making PC-card operational :-),
	   on some laptops with fewer builtin I/O devices)

The URL is "ftp://jaz.jp.FreeBSD.org/pub/FreeBSD-jp/PAO/flp/boot.flp".

--
HOSOKAWA, Tatsumi
hosokawa@mt.cs.keio.ac.jp
hosokawa@jp.FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199701211802.DAA22042>