[lkml]   [2001]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectFew thoughts about CML2 and kernel configuration

    Hello all,

    I used CML2 on my laptop running Debian 2.2 (Linux 2.4.5). I think that it
    would be fruitful to share my first CML2 experience with others as someone
    who know the whereabouts of the kernel tree and very much used to CML1.

    Most of the things worked great, except few exceptions.

    Notice that I will be giving many details such as colors of the menus etc.
    so that many others who haven't used CML2 yet would get an idea about it.

    Also I would be describing my thoughts all over the process, which, I
    believe, is an important feedback for good user interface design.

    I remember Alan Cox seperating issues related to cml2 kernel configuration
    into four of so different catagories. In that light, many things that
    follow would apply to cml2 configuration tools and kernel cml2 rulebase,
    and not to the cml2 language itself.

    - I started with a fresh kernel source tree (2.4.2 + 2.4.[3-5] patches)

    - CML2 installation (install-cml2) was quite straightforward. It found
    /usr/src/linux and applied necessary "patches".

    - I ran make menuconfig, to which I am much used to. I rushed through the
    initial help screen, hoping that nothing unexpected would happen.

    - The menu items were of different colors (and the meanings were obvious -
    good!). The architecture (x86) was frozen and _shown_ (in blue). Some
    items had the familiar [ ] and < > mark to the left while others didn't.
    I assumed that the latter should be leading to sub-menus (which was
    correct). The selected (y or m) items and sub-menu items were green
    while the others (unselected) were white.

    - I entered "Configuration policy options" and turned on "Prompt for
    expert choices". CONFIG_EXPERIMENTAL was already set.

    - "Architecture independent features" were quite straightforward.
    Here I turned on "BSD process accounting" (this had a "(NEW)" to its
    right, which I was rather suprised at) and turned off SMP.

    - Intel x86 specific options were again straightforward where I set
    processor type to Pentium MMX, turned off MTTR, and turned on IO-APIC.
    Since the processor type selection had to turn off the already selected
    default processor, a dialog-box appeared to inform that it was set to n.

    - "System busses and controller types" selection was again easy. "ISA BUS"
    was selected and marked frozen. The others were EISA, PCI, PNP/ISAPNP,

    Here I ran into two problems. The first is not really a problem.

    Both "PNP" and "ISAPNP" were selected to be build static into the
    kernel. I turned "PNP" to a module, and expected "ISAPNP" also to be
    converted to a module automatically, but it didn't. I had to do this
    by hand.

    Then I tried to turn on "Parallel port support". Here a dialog-box
    informed that this violates the rule

    (X86 implies (PARPORT_PC == PARPORT))

    Although the message is very clear (tristate values of PARPORT_PC
    should be the same as PARPORT for X86 boxes) I hadn't seen PARPORT_PC

    A better option would be to change PARPORT_PC at this poing and
    inform that (in a similar manner to processor type selection). Most,
    if not all, who configure an x86 box and trying to select PARPORT would
    give the same answer to PARPORT_PC.

    I also turned off SCSI and USB.

    - I came back to the main menu and noticed that the sub-menu items related
    to SCSI and USB are gone (as expected - good!)

    - PM and "Architecture specific hacks" was fine.

    - MTD was turned off

    - Block devices and Networking options, Network device support was

    - Linux telephony support was rather different from others. For some
    sub-menus (such as MTD, SOUND) a question is asked on the main screen
    and if the answer is y or m the sub-menu is shown. But for telephony,
    the sub-menu is shown and items in it are shown only if its first
    item "Linux telephony support" is selected (which is similar to
    cml1 configuration).

    - The other configuration options were also quite straighforward.

    - I didn't find PARPORT_PC (probably I missed it somewhere) ;-(

    I have some comments about the cml2 configuration system for Linux kernel.
    These are my own comments and would be very different from someone else's,
    because many of them depends on the taste.

    - Its design is much better than cml1 which is simply a way of showing
    a hierachy of menus.

    - The feeling is much similar to that of using lynx (especially using
    left-arrow). It would be very nice if pressing right-arrow gives the
    same effect as pressing enter.

    - Some changes (say changing Y of "loadable module support" to M) would
    change many other selections and the configuration will first do
    those changes and tell us that it did them. Isn't it better to ask a
    question like "This would change the followings, so do you want to
    do those changes, too? or do you want to revert this selection?", so
    that accidents will not cause big problems.

    - Some sub-menus on the main screen are turned on/off by a selection of an
    item in a sub-menu (e.g.: SCSI, USB) while others are turned on/off at
    the main screen itself (e.g.: MTD, SOUND). How about moving them also to
    a seperate sub-menu (say "Miscellaneous ..."). Then we have two kinds of
    sub-menus on the main screen. Some are always shown (e.g. "System busses
    and controller types"). Depending on the user's selections of the items
    in these menus, other submenus are shown or supressed. Then the main
    menu doesn't contain any tristate questions, but only sub-menus.

    CML2 is a great way to configure a system with complicated dependencies
    and I am already starting to use it for some. Hope that its original and
    most important (to me at least ;) application, the configuration of the
    Linux kernel would be a great success.

    Regards and greetings,


    Lanka Linux User Group (LKLUG)


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 12:55    [W:11.816 / U:0.416 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site