home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / root / usr / share / YaST2 / include / hwinfo / system_settings_dialogs.ycp < prev    next >
Text File  |  2006-11-29  |  7KB  |  219 lines

  1. /**
  2.  * File:
  3.  *   system_settings.ycp
  4.  *
  5.  * Summary:
  6.  *   Configuration of System Settings. PCI ID, Kernel parameters,
  7.  *   Bootloader parameters etc.
  8.  *
  9.  * Authors:
  10.  *   Lukas Ocilka <locilka@suse.cz>
  11.  *
  12.  * $Id: system_settings_dialogs.ycp 33530 2006-10-20 11:08:26Z lslezak $
  13.  *
  14.  */
  15.  
  16. {
  17.  
  18.     import "CWM";
  19.     import "CWMTab";
  20.     import "Label";
  21.     import "Arch";
  22.  
  23.     textdomain "tune";
  24.  
  25.     term contents = `VBox ( "tab" );
  26.  
  27.     map tabs_descr = $[
  28.     "pci_id" : $[
  29.         "header" : NewPCIIDDialogCaption(),
  30.         "contents" : `HBox (
  31.         `HSpacing(1),
  32.         `VBox (
  33.             `VSpacing(0.3),
  34.             "pci_id_table_and_buttons",
  35.             `VSpacing(0.3)
  36.         ),
  37.         `HSpacing(1)
  38.         ),
  39.         "widget_names" : ["pci_id_table_and_buttons"],
  40.     ],
  41.     "kernel_settings" : $[
  42.         "header" : _("Kernel Settings"),
  43.         "contents" : `HBox (
  44.         `HSpacing(1),
  45.         `VBox (
  46.             `VSpacing(0.3),
  47.             `Left( "elevator" ),
  48.             `VSpacing(1),
  49.             `Left( "sysrq" ),
  50. // FIXME: temporary hack - disable serial console config
  51. //            `VSpacing(1),
  52. //            `Left ( "serial_console" ),
  53.             `VStretch()
  54.         ),
  55.         `HSpacing (1)
  56.         ),
  57.         "widget_names" : ["elevator", "sysrq", "serial_console"],
  58.     ],
  59.     ];
  60.  
  61.     string initial_tab = "pci_id";
  62.  
  63.     list <string> widget_names = ["tab"];
  64.     map <string, map <string, any> > widget_descr = $[
  65.     "pci_id_table_and_buttons" : $[
  66.         "widget" : `custom,
  67.         "custom_widget" : NewPCIIDDialogContent(),
  68.         "help" : NewPCIIDDialogHelp(),
  69.         "init" : InitNewPCIIDDialog,
  70.         "handle" : HandleNewPCIIDDialog,
  71.     ],
  72.  
  73.     /* /usr/src/linux/Documentation/kernel-parameters.txt
  74.      * http://www.redhat.com/magazine/008jun05/features/schedulers/
  75.      *
  76.      * elevator=    [IOSCHED]
  77.      *        Format: {"as"|"cfq"|"deadline"|"noop"}
  78.      *        See Documentation/block/as-iosched.txt
  79.      *        and Documentation/block/deadline-iosched.txt for details.
  80.      *
  81.      *    *'deadline' =>    Deadline. Database servers, especially those using "TCQ" disks should
  82.      *            investigate performance with the 'deadline' IO scheduler. Any system with high
  83.      *            disk performance requirements should do so, in fact.
  84.      *    *'as' => Anticipatory (the default one)
  85.      *    *'noop' => NOOP
  86.      *    'cfq' => Completely Fair Queuing
  87.      */
  88.     "elevator" : $[
  89.         "widget" : `custom,
  90.         // combo box label
  91.         "custom_widget" : `ComboBox (`id("elevator"), _("Global &I/O Scheduler"), [
  92.         // combo box item - I/O scheduler
  93.         `item( `id(""),    _("Not Configured")),
  94.         // combo box item - I/O scheduler, do not translate the abbreviation in brackets
  95.         `item( `id("as"),    _("Anticipatory [as]")),
  96.         // combo box item - I/O scheduler, do not translate the abbreviation in brackets
  97.         `item( `id("cfq"),    _("Completely Fair Queuing [cfq]")),
  98.         // combo box item - I/O scheduler, do not translate the abbreviation in brackets
  99.         `item( `id("noop"),    _("NOOP [noop]")),
  100.         // combo box item - I/O scheduler, do not translate the abbreviation in brackets
  101.         `item( `id("deadline"),    _("Deadline [deadline]"))
  102.         ]),
  103.         "handle" : HandleElevatorSettings,
  104.         "init" : InitElevatorSettings,
  105.         "store" : StoreElevatorSettings,
  106.         // help text for the scheduler widget, do not translate 'cfg'
  107.         "help" : _("<p><b><big>Global I/O Scheduler</big></b><br>
  108. It's possible to select the algorithm which orders and sends commands to disk
  109. devices. This is a global option, it will be used for all disk devices in the
  110. system. If the option is not configured the default (usually 'cfq') scheduler
  111. will be used. See the documetation in /usr/src/linux/Documentation/block
  112. directory (package kernel-source) for more information.</p>"),
  113.     ],
  114.     // .sysconfig.sysctl
  115.     "sysrq" : $[
  116.         "widget" : `checkbox,
  117.         "label" : _("Enable &SysRq Keys"),
  118.         "store" : StoreSysRqSettings,
  119.         "init" : InitSysRqSettings,
  120.         // TRANSLATORS: Help text - over taken from /etc/sysconfig/sysctl file
  121.         "help" : _("<p><b><big>Enable SysRq Keys</big></b><br>
  122. If you enable SysRq keys, you will have some control over the system even if it
  123. crashes (such as during kernel debugging). If it's enabled the key combination
  124. Alt-SysRq-<command_key> will start the respective command (e.g. reboot the
  125. computer, dump kernel information). For further information, see
  126. <tt>/usr/src/linux/Documentation/sysrq.txt</tt> (package kernel-source).</p>")
  127.         ],
  128.     // http://www.vanemery.com/Linux/Serial/serial-console.html
  129.     // http://www.mikrotik.com/Documentation/manual_2.7/System/Serial.html
  130.     // http://www.camiresearch.com/Data_Com_Basics/RS232_standard.html
  131.  
  132.     // http://www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/configure-boot-loader-lilo.html
  133.     // http://www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/configure-boot-loader-grub.html
  134.  
  135.     /*
  136.      * LILO:
  137.      *    serial=<serial_port>[,<speed>[<parity n|e|o>[<data>]]]
  138.      *        syntax <serial_port> ::= 0 | 1| ... | 3 (/dev/tty0 -> 0)
  139.      *    console=<serial device (ttyS0)>,<speed>
  140.      *
  141.      * GRUB
  142.      *    serial --unit=0 --speed=<speed> --word=8 --parity=[no|even|odd] --stop=1
  143.      *    terminal --timeout=0 [--dumb] serial console / terminal serial
  144.      */
  145.     "serial_console" : $[
  146.         // FIXME: serial line has to have funkcionality defined more precisely
  147.         "widget" : `custom,
  148.         "custom_widget" : `Frame( _("Serial Console"),
  149.         `VBox (
  150.             `Left( `CheckBox (_("&Enable the Serial Console"))),
  151.             `Left( `ComboBox (`opt(`editable), _("Serial Line &Baud Rate"), [
  152.             "110", "300", "1200", "2400", "4800", "9600", "19200", "38400", "57600", "115200"
  153.             ])),
  154.             `Left( `ComboBox (`opt(`editable), _("Serial &Device"), [
  155.             "/dev/ttyS0", "/dev/ttyS1"
  156.             ]))
  157.         )
  158.         ),
  159.         "handle" : HandleSerialConsoleSettings,
  160.         "help" : _("<p><b><big>Serial Console</big></b><br>
  161. help for the Serial console settings</p>"),
  162.     ],
  163.     ];
  164.  
  165. // FIXME: temporary hack - disable serial line configuration
  166.     widget_descr = remove(widget_descr, "serial_console");
  167.  
  168.     define symbol SystemSettingsDialog () {
  169.     list<string> tab_order = ["kernel_settings"];
  170.  
  171.     // do not show PCI ID tab on s390
  172.     if (!Arch::s390())
  173.     {
  174.         tab_order = prepend(tab_order, "pci_id");
  175.     }
  176.     else
  177.     {
  178.         // remove the PCI ID tab definition
  179.         tabs_descr = remove(tabs_descr, "pci_id");
  180.  
  181.         // set focus to kernel_settings tab
  182.         initial_tab = "kernel_settings";
  183.     }
  184.  
  185.     widget_descr["tab"] = CWMTab::CreateWidget($[
  186.         "tab_order": tab_order,
  187.         "tabs": tabs_descr,
  188.         "widget_descr": widget_descr,
  189.         "initial_tab" : initial_tab,
  190.     ]);
  191.  
  192.     // explicitly set no help (otherwise CWM logs an error)
  193.     widget_descr["tab","help"] = "";
  194.  
  195.     string caption = _("System Settings");
  196.  
  197.     Wizard::SetContentsButtons("", `VBox (), "",
  198.         Label::BackButton(), Label::NextButton());
  199.     Wizard::SetDesktopIcon("powertweak");
  200.  
  201.     symbol ret = CWM::ShowAndRun ($[
  202.         "widget_descr" : widget_descr,
  203.         "widget_names" : widget_names,
  204.         "contents" : contents,
  205.         "caption" : caption,
  206.         "back_button" : "",
  207.         "abort_button" : Label::AbortButton (),
  208.         "next_button" : Label::FinishButton (),
  209.     ]);
  210.  
  211.     if (ret != `back && ret != `abort && ret != `cancel) {
  212.         initial_tab = CWMTab::CurrentTab ();
  213.     }
  214.     y2milestone("Returning %1", ret);
  215.  
  216.     return ret;
  217.     }
  218. }
  219.