Nároky na HW při instalace Solarisu 10

Nároky na HW při instalaci Solarisu 10

Nároky na HW

  • RAM
    • min: 64 M
    • pouzitelne minimum: 128 M
    • doporucene minimum: 256M
    • pro consoli: 128-384M
    • pro GUI: >384M
  • CPU
    • SPARC: 200MHz
    • x86: 120MHz
  • HDD
    • 5 GB je pouzitelne minimum
    • kolik zabiraji jednotlive typy instalace:
      • 2.0 GB – Reduced Network Support Software Group
      • 2.0 GB – Core System Support Software Group
      • 5.0 GB – End User Solaris Software Group
      • 6.0 GB – Developer Solaris Software Group
      • 6.5 GB – Entire Solaris Software Group
      • 6.7 GB – Entire Solaris Software Group Plus OEM Support

Instalace na SPARC

  • Je třeba posbírat všechny požadavky na nastavení jako je IP, maska, heslo roota, rozdělení disku a podobné
  • Boot instalace z CD/DVD-ROM
    • boot cdrom
      – GUI instalace
    • boot cdrom - text
      – desktop session
    • boot cdrom - nowin
      – console session

Logy z instalace jsou dostupné v adresářích /var/sadm/system/logs a /var/sadm/install/logs

Instalace na x86

  • boot z diskety: copy Solaris Device Configuration Assistant to diskette
  • boot z CD/DVD-ROM: proste nabootuj 🙂
  • po bootu je mozne behem 5 sekund stisknout ESC pro spusteni DCA
    • instalace ovladacu
    • instalace ITUs (co to sakra je?)
    • vypnuti ACPI
    • nastaveni TTY
    • reset the default boot device
  • po probehnuti DCA na nas vybafne pozadavek na vyber typu instalace:
    1. Solaris Interactive – klasicka instalace v GUI
    2. Custom Jumpstart
    3. Solaris Interactive Text (desktop session) – textova instalace v grafice
    4. Solaris Interactive Text (console session) – klasicka textova instalace
  • po volbe se, pokud je potreba, spusti ptregamm kdmconfig

Po instalaci je treba provest reboot a je hotovo.

Firewall SunScreen

První setkání s programem SunScreen pěkně bolelo. Ovládání mi připadlo proti IPtables z Linuxu pěkně úchylné, tak jsem si napsal pár poznámek. Soubor s poznámkama jsem našel při úklidu na disku, tak se o něj podělím 🙂 SunScreen, který je zde používán pro tvorbu vzorových výpisů běží na Solarisu 9 pro x86.

Ovládání utilitou ssadm z příkazového řádku

v /usr/lib/sunscreen/lib/ss_boot
lze zakazat spousteni admin rozhrani v serveru,
staci zakomentovat run_httpd

# vypis nazvu sady  prave aktivnich pravidel
ssadm active

prilad:
root@sun root]# ssadm active
Active configuration: sun default Initial.8
Activated by admin on Tue Jan 04 14:37:57 2005


# editace pravidel, nezadavejte cislo verze
[15:05 root@sun root]# ssadm edit Initial
edit> 

# vypis prave aktivnich pravidel
edit> list rules

# vypis informaci o nadefinovane sluzbe
edit> list SLUZBA

# vypis informaci o vsech sluzbach
edit> list services

# definice vlastni sluzby
edit> add service "https" SINGLE FORWARD "tcp" PORT 443
edit> add service "webmail" SINGLE FORWARD "tcp" PORT 444
edit> add service "calendar" SINGLE FORWARD "tcp" PORT 445
edit> add service "appadmin" SINGLE FORWARD "tcp" PORT 4848

# povoleni sluzby - pridani pravidla
edit> add Rule https * * ALLOW
edit> add Rule webmail * * ALLOW
edit> add Rule calendar * * ALLOW
edit> add Rule appadmin * * ALLOW

# smazani pravidla
edit> del rule NUM

kde NUM je cislo pravidla ziskane vypisem list rules

# presunuti pravidla na jinou pozici

edit> move rule FROM TO
  FROM je cislo pravidla ktere chceme presunout
  TO je kam ho chceme presunout

# ulozeni pravidel
edit> save

# ulozeni pravidel pod jinym nazvem
edit> saveas moje

# aktivovani pravidel
ssadm activate NAZEV

kde NAZEV je bud Inital (default od SUNu) nebo "moje"



# priklad nadefinovanych pravidel
1 "ssh" "*" "*" ALLOW
2 "*" "localhost" "*" ALLOW
3 "*" "sun" "*" ALLOW
4 "https" "*" "*" ALLOW
5 "webmail" "*" "*" ALLOW
6 "calendar" "*" "*" ALLOW
7 "appadmin" "*" "*" ALLOW
8 "common" "*" "*" DENY

Nastavení XFree86 pro ATI RadeonVE a ATI Radeon9200

ATI Radeon VE QY a Xinerama

Ke grafické kartě ATI Radeon VE QY jsou ovladače dodávané s distribucí RH7.3 plně funkční. V normálním režimu (1 monitor) je funkční 3D akcelerace. V režimu xinerama (dualhead) není podporována 3D akcelerace kartou, ale je řešena procesorem počítače a ještě k tomu to funguje jen na primárním monitoru. Na skundárním monitoru se nic neukáže, jen černé místo, ale CPU je vytížen na 100%. 3D akceleraci využívám jen při hraní her, tak jsem si vytvořil dalšího uživatele, pod kterým si spouštím další Xka. Jiný uživatel proto aby se mi nepřepisovaly konfiguráky WindowMakeru při střídavém používání xineramy a klasického nastavení. V domácím adresáři nového uživatele je skriptík, který obsahuje tyto řádečky:

#!/bin/bash
startx -- :1 --layout normal
exit 0

Ten layout je k tomu, aby se natáhlo nastavení pro jeden monitor.

Nastavení X

Tohle je můj /etc/X11/XF86Config-4:

Section "ServerLayout"
  Identifier "normal"
  Screen "Screen0"
  InputDevice "Mouse0" "CorePointer"
  InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "ServerLayout"
  Identifier "Multihead"
  Screen "Screen0"
  #Screen "Screen1" Relative "Screen0" 1024 0
  Screen "Screen1" RightOf "Screen0"
  InputDevice "Mouse0" "CorePointer"
  InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
  RgbPath "/usr/X11R6/lib/X11/rgb"
  FontPath "unix/:7100"
EndSection

Section "Module"
  Load "GLcore"
  Load "dbe"
  Load "extmod"
  #Load "fbdevhw"
  Load "dri"
  Load "glx"
  Load "record"
  #Load "freetype"
  #Load "type1"
EndSection

Section "InputDevice"
  Identifier "Keyboard0"
  Driver "keyboard"
  Option "XkbRules" "xfree86"
  Option "XkbModel" "pc102"
  Option "XkbLayout" "cz_qwerty"
  Option "XkbVariant" "basic"
  #Option "XkbOptions" ""
EndSection

Section "InputDevice"
  Identifier "Mouse0"
  Driver "mouse"
  Option "Protocol" "IMPS/2"
  Option "Device" "/dev/psaux"
  Option "ZAxisMapping" "4 5"
  Option "Emulate3Buttons" "no"
EndSection

Section "Monitor"
  Identifier "Monitor0"
  VendorName "Monitor Vendor"
  ModelName "Monitor Model"
  HorizSync 30-62
  VertRefresh 50-80
  Option "dpms"

  # -- 1400x1050 --
  # 1400x1050 @ 60Hz, 65.8 kHz hsync
  Modeline "1400x1050" 129 1400 1464 1656 1960
   1050 1051 1054 1100 +HSync +VSync

  # 1400x1050 @ 70Hz, 76.8 kHz hsync
  Modeline "1400x1050" 151 1400 1464 1656 1960
   1050 1051 1054 1100 +HSync +VSync

  # 1400x1050 @ 75Hz, 82.3 kHz hsync
  Modeline "1400x1050" 162 1400 1464 1656 1960
   1050 1051 1054 1100 +HSync +VSync

  # 1400x1050 @ 85Hz, 93.2 kHz hsync
  Modeline "1400x1050" 184 1400 1464 1656 1960
   1050 1051 1054 1100 +HSync +VSync

EndSection

Section "Monitor"
  Identifier "Monitor1"
  VendorName "Monitor Vendor"
  ModelName "Monitor Model"
  HorizSync 31.5-48.0
  VertRefresh 50-70
  Option "dpms"
EndSection

Section "Device"
  Identifier "radeon0"
  Driver "ati"
  #Driver "radeon"
  VendorName "ATI Radeon VE"
  Option "AGPMode" "1"
  #Option "composite_sync" "off"
  BusID "PCI:1:0:0"
  Screen 0
EndSection

Section "Device"
  Identifier "radeon1"
  Driver "ati"
  #Driver "radeon"
  VendorName "ATI Radeon VE"
  Option "AGPMode" "1"
 # Option "composite_sync" "off"
  BusID "PCI:1:0:0"
  Screen 1
EndSection

Section "Screen"
  Identifier "Screen0" #Siemens Nixdorw 1503
  Device "radeon0"
  Monitor "Monitor0"
  DefaultDepth 16
  Subsection "Display"
   Depth 16
   Modes "1024x768" "800x600" "640x480"
  EndSubsection
EndSection

Section "Screen"
  Identifier "Screen1" #bermon ber-1448-lr
  Device "radeon1"
  Monitor "Monitor1"
  DefaultDepth 16
  Subsection "Display"
   Depth 16
   Modes "1024x768" "800x600" "640x480"
  EndSubsection
EndSection

Section "DRI"
  Mode 0666
EndSection

Pro startování Xek používám skript:

#!/bin/bash
rm -f /tmp/Xerr
startx -- -layout Multihead +xinerama 2>/tmp/Xerr 1>>/tmp/Xerr &
irexec.run & #spuští podporu pro lirc (dálkové ovládání)
exit 0

WindowMaker 0.80 je potřeba upravit pomocí patche, který jsem někde vygoogloval, ale už nevím kde. Já používám WM 0.80 a přeložil jsem si ho ze zdrojáků tímto postupem:

patch -p0 < patch-0.80.0mh1
./configure
make
make install

potom je potřeba spustit jako uživatel wmaker.inst, čímž se nainstaluje WindowMaker do domácího adresáře a vytvoří základní uživatelské nastavení.

ATI Radeon 9200

Tak jsem si po delší době udělal radost a koupil si novou grafickou kartu a to ATI Radeon 9200. Rozeběhnutí v linuxu je celkem bez problémů.
XFree86 4.3.0 kartu nerozpozná, ale dá se provozovat jako Radeon 8500. Do sekce Devices se musi připsat volba ChipID 0x4242
XFree86 4.3.99.9 (staženo z CVS, Release Date: 26 July 2003) s ovladačem radeon rozpozná kartu, ale ta bězi pouze ve 2D. Běhu ve 3D jsem dosáhl použitím ovladače FireGL, konkrétně jsem stáhl soubor http://www.schneider-digital.de/download/ati/glx1_linux_X4.3.zip (lokální kopie,), je to zazipovane rpmko… Balíček pro Slackware 9.0 jsem si dělal sám a ke stažení je tady. Dál se budu věnovat instalaci ve Slackovi. Po instalaci balíčku je vše jen připravené k rozchození, souboru jsou nakopírovaný kde maj být a tak podobně. V adresáři /lib/modules/fglrx/build_mod jsem spustil ./make.sh, tím se vytvořil modul fglrx.o. Modul jsem nakopíroval do adresáře /lib/modules/VERZEMEHOJADRA/kernel/moje, kam strkam všechny dodatečně udělané moduly. Do souboru /etc/rc.d/rc.modules je potřeba napsat /sbin/modprobe fglrx(kvůli natažení modulu hned po startu systému). Pomocí programu fglrxconfig jsem si vygeneroval konfigurak pro XFree86, pak dal jen depmod -a; modprobe fglrx; startx a Xka běží s podporou 3D. Hraju QuakeIII, UT, TuxRacer a Soldier of Fortune v rozlišení 1600×1200 a jede to naprosto plynule(mam AthlonXP 1800+, 386MB RAM DDR 266MHz, deska ECS K7S5A, AGP4x). Program glxgears hazi 1224 FPS (mam 24bit barvy a rozlišení monitoru je 1600×1200).
Karta má výstup na 2. monitor, ale bohužel nemám další monitor abych mohl vyzkoušet jak to funguje. Nastavení xineramy by mělo být stejné(vlemi podobné) jako mam napsané u RadeonVE.

Výpis z programu glxinfo:

[15:10:51]-[~]-(5.692 MiB)
[tsunami@burdazd.sh.cvut.cz]$ glxinfo 
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
client glx vendor string: SGI
client glx version string: 1.2
client glx extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
GLX extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: Radeon 9200 DDR Athlon (3DNow!)
OpenGL version string: 1.3 (X4.3.0-2.9.13)
OpenGL extensions:
    GL_ARB_multitexture, GL_EXT_texture_env_add, GL_EXT_compiled_vertex_array, 
    GL_S3_s3tc, GL_ARB_point_parameters, GL_ARB_texture_border_clamp, 
    GL_ARB_texture_compression, GL_ARB_texture_cube_map, 
    GL_ARB_texture_env_add, GL_ARB_texture_env_combine, 
    GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, 
    GL_ARB_texture_mirrored_repeat, GL_ARB_transpose_matrix, 
    GL_ARB_vertex_blend, GL_ARB_vertex_program, GL_ARB_window_pos, 
    GL_ATI_element_array, GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader, 
    GL_ATI_map_object_buffer, GL_ATI_texture_env_combine3, 
    GL_ATI_texture_mirror_once, GL_ATI_vertex_array_object, 
    GL_ATI_vertex_attrib_array_object, GL_ATI_vertex_streams, 
    GL_ATIX_texture_env_combine3, GL_ATIX_texture_env_route, 
    GL_ATIX_vertex_shader_output_point_size, GL_EXT_abgr, GL_EXT_bgra, 
    GL_EXT_blend_color, GL_EXT_blend_func_separate, GL_EXT_blend_minmax, 
    GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, 
    GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, 
    GL_EXT_packed_pixels, GL_EXT_point_parameters, GL_EXT_rescale_normal, 
    GL_EXT_polygon_offset, GL_EXT_secondary_color, 
    GL_EXT_separate_specular_color, GL_EXT_stencil_wrap, 
    GL_EXT_texgen_reflection, GL_EXT_texture3D, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, 
    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_combine, 
    GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_texture_rectangle, 
    GL_EXT_vertex_array, GL_EXT_vertex_shader, GL_HP_occlusion_test, 
    GL_NV_texgen_reflection, GL_NV_blend_square, GL_NV_occlusion_query, 
    GL_SGI_color_matrix, GL_SGI_texture_edge_clamp, 
    GL_SGIS_texture_border_clamp, GL_SGIS_texture_lod, 
    GL_SGIS_generate_mipmap, GL_SGIS_multitexture, GL_SUN_multi_draw_arrays
glu version: 1.2 Mesa 3.3 beta
glu extensions:
    GL_EXT_abgr

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------
0x25 24 tc  0 24  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x26 24 tc  0 24  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x27 24 tc  0 24  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x28 24 tc  0 24  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x29 24 tc  0 24  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x2a 24 tc  0 24  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x2b 24 tc  0 24  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x2c 24 tc  0 24  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x2d 24 dc  0 24  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2e 24 dc  0 24  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2f 24 dc  0 24  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x30 24 dc  0 24  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x31 24 dc  0 24  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x32 24 dc  0 24  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x33 24 dc  0 24  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x34 24 dc  0 24  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None

Část výpisu lpsci:

01:00.0 VGA compatible controller: ATI Technologies Inc: Unknown device 5961 (rev 01) (prog-if 00 [VGA])
        Subsystem: PC Partner Limited: Unknown device 7c13
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 255 (2000ns min), cache line size 08
        Interrupt: pin A routed to IRQ 5
        Region 0: Memory at c0000000 (32-bit, prefetchable) [size=128M]
        Region 1: I/O ports at b800 [size=256]
        Region 2: Memory at cfef0000 (32-bit, non-prefetchable) [size=64K]
        Expansion ROM at cfec0000 [disabled] [size=128K]
        Capabilities: [58] AGP version 2.0
                Status: RQ=80 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
                Command: RQ=32 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW+ Rate=x4
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

01:00.1 Display controller: ATI Technologies Inc: Unknown device 5941 (rev 01)
        Subsystem: PC Partner Limited: Unknown device 7c12
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (2000ns min), cache line size 08
        Region 0: Memory at b8000000 (32-bit, prefetchable) [size=128M]
        Region 1: Memory at cfee0000 (32-bit, non-prefetchable) [size=64K]
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-


Můj /etc/X11/XF86Config:

# **********************************************************************
# Refer to the XF86Config(4/5) man page for details about the format of 
# this file.
# **********************************************************************

# **********************************************************************
# DRI Section
# **********************************************************************
Section "dri"
# Access to OpenGL ICD is allowed for all users:
    Mode 0666
# Access to OpenGL ICD is restricted to a specific user group:
#    Group 100    # users
#    Mode 0660
EndSection

# **********************************************************************
# Module section -- this  section  is used to specify
# which dynamically loadable modules to load.
# **********************************************************************
#
Section "Module"

# This loads the DBE extension module.

    Load        "dbe"  	# Double buffer extension

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
    SubSection  "extmod"
      Option    "xfree86-dga"
    EndSubSection

# This loads the Type1 and FreeType font modules
    Load        "type1"
    Load        "freetype"

# This loads the GLX module
    Load        "glx"   # libglx.a
    Load        "dri"   # libdri.a

EndSection

# **********************************************************************
# Files section.  This allows default font and rgb paths to be set
# **********************************************************************

Section "Files"

# The location of the RGB database.  Note, this is the name of the
# file minus the extension (like ".txt" or ".db").  There is normally
# no need to change the default.

    RgbPath	"/usr/X11R6/lib/X11/rgb"

# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)
# 
# If you don't have a floating point coprocessor and emacs, Mosaic or other
# programs take long to start up, try moving the Type1 and Speedo directory
# to the end of this list (or comment them out).
# 

    FontPath   "/usr/local/fonty/"
    FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"
    FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
    FontPath   "/usr/X11R6/lib/X11/fonts/local/"
    FontPath   "/usr/X11R6/lib/X11/fonts/misc/"
    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
    FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
    FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
    FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"


# The module search path.  The default path is shown here.

#    ModulePath "/usr/X11R6/lib/modules"

EndSection


# **********************************************************************
# Server flags section.
# **********************************************************************

Section "ServerFlags"

# Uncomment this to cause a core dump at the spot where a signal is 
# received.  This may leave the console in an unusable state, but may
# provide a better stack trace in the core dump to aid in debugging

#    Option "NoTrapSignals"

# Uncomment this to disable the  server abort sequence
# This allows clients to receive this key event.

#    Option "DontZap"

# Uncomment this to disable the / mode switching
# sequences.  This allows clients to receive these key events.

#    Option "Dont Zoom"

# Uncomment this to disable tuning with the xvidtune client. With
# it the client can still run and fetch card and monitor attributes,
# but it will not be allowed to change them. If it tries it will
# receive a protocol error.

#    Option "DisableVidModeExtension"

# Uncomment this to enable the use of a non-local xvidtune client. 

#    Option "AllowNonLocalXvidtune"

# Uncomment this to disable dynamically modifying the input device
# (mouse and keyboard) settings. 

#    Option "DisableModInDev"

# Uncomment this to enable the use of a non-local client to
# change the keyboard or mouse settings (currently only xset).

#    Option "AllowNonLocalModInDev"

EndSection



# **********************************************************************
# Input devices
# **********************************************************************

# **********************************************************************
# Core keyboard's InputDevice section
# **********************************************************************

Section "InputDevice"

    Identifier	"Keyboard1"
    Driver	"Keyboard"
# For most OSs the protocol can be omitted (it defaults to "Standard").
# When using XQUEUE (only for SVR3 and SVR4, but not Solaris),
# uncomment the following line.

#    Option "Protocol"   "Xqueue"

    Option "AutoRepeat" "500 30"

# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
#    Option "Xleds"      "1 2 3"

#    Option "LeftAlt"    "Meta"
#    Option "RightAlt"   "ModeShift"

# To customise the XKB settings to suit your keyboard, modify the
# lines below (which are the defaults).  For example, for a non-U.S.
# keyboard, you will probably want to use:
#    Option "XkbModel"   "pc102"
# If you have a US Microsoft Natural keyboard, you can use:
#    Option "XkbModel"   "microsoft"
#
# Then to change the language, change the Layout setting.
# For example, a german layout can be obtained with:
#    Option "XkbLayout"  "de"
# or:
#    Option "XkbLayout"  "de"
#    Option "XkbVariant" "nodeadkeys"
#
# If you'd like to switch the positions of your capslock and
# control keys, use:
#    Option "XkbOptions" "ctrl:swapcaps"

# These are the default XKB settings for XFree86
#    Option "XkbRules"   "xfree86"
#    Option "XkbModel"   "pc101"
#    Option "XkbLayout"  "us"
#    Option "XkbVariant" ""
#    Option "XkbOptions" ""

#    Option "XkbDisable"

    Option "XkbRules"	"xfree86"
    Option "XkbModel"	"pc105"
    Option	    "XkbLayout" "czsk"
    Option      "XkbVariant" "us_cz_qwerty"
    Option      "XkbOptions" "grp:shift_toggle,grp_led:scrool"
EndSection


# **********************************************************************
# Core Pointer's InputDevice section
# **********************************************************************

Section "InputDevice"

# Identifier and driver

    Identifier	"Mouse1"
    Driver "mouse"
    Option "Protocol"   "ImPS/2"
    Option      "Buttons" "5"
    Option "ZAxisMapping"   "4 5"
    Option "Device"     "/dev/mouse"

# When using XQUEUE, comment out the above two lines, and uncomment
# the following line.

#    Option "Protocol"   "Xqueue"

# Baudrate and SampleRate are only for some Logitech mice. In
# almost every case these lines should be omitted.

#    Option "BaudRate"   "9600"
#    Option "SampleRate" "150"

# Emulate3Buttons is an option for 2-button Microsoft mice
# Emulate3Timeout is the timeout in milliseconds (default is 50ms)

#    Option "Emulate3Buttons"
#    Option "Emulate3Timeout"    "50"

# ChordMiddle is an option for some 3-button Logitech mice

#    Option "ChordMiddle"

EndSection


# **********************************************************************
# Other input device sections 
# this is optional and is required only if you
# are using extended input devices.  This is for example only.  Refer
# to the XF86Config man page for a description of the options.
# **********************************************************************
#
# Section "InputDevice" 
#    Identifier  "Mouse2"
#    Driver      "mouse"
#    Option      "Protocol"      "MouseMan"
#    Option      "Device"        "/dev/mouse2"
# EndSection
#
# Section "InputDevice"
#    Identifier "spaceball"
#    Driver     "magellan"
#    Option     "Device"         "/dev/cua0"
# EndSection
#
# Section "InputDevice"
#    Identifier "spaceball2"
#    Driver     "spaceorb"
#    Option     "Device"         "/dev/cua0"
# EndSection
#
# Section "InputDevice"
#    Identifier "touchscreen0"
#    Driver     "microtouch"
#    Option     "Device"         "/dev/ttyS0"
#    Option     "MinX"           "1412"
#    Option     "MaxX"           "15184"
#    Option     "MinY"           "15372"
#    Option     "MaxY"           "1230"
#    Option     "ScreenNumber"   "0"
#    Option     "ReportingMode"  "Scaled"
#    Option     "ButtonNumber"   "1"
#    Option     "SendCoreEvents"
# EndSection
#
# Section "InputDevice"
#    Identifier "touchscreen1"
#    Driver     "elo2300"
#    Option     "Device"         "/dev/ttyS0"
#    Option     "MinX"           "231"
#    Option     "MaxX"           "3868"
#    Option     "MinY"           "3858"
#    Option     "MaxY"           "272"
#    Option     "ScreenNumber"   "0"
#    Option     "ReportingMode"  "Scaled"
#    Option     "ButtonThreshold"    "17"
#    Option     "ButtonNumber"   "1"
#    Option     "SendCoreEvents"
# EndSection

# **********************************************************************
# Monitor section
# **********************************************************************

# Any number of monitor sections may be present

Section "Monitor"
    Identifier  "Monitor0"
    HorizSync   30-110
    VertRefresh 50-150
    Option "DPMS"

# === mode lines based on GTF ===
# VGA @ 100Hz
# Modeline "640x480@100" 43.163 640 680 744 848 480 481 484 509 +hsync +vsync
# SVGA @ 100Hz
# Modeline "800x600@100" 68.179 800 848 936 1072 600 601 604 636 +hsync +vsync
# XVGA @ 100Hz
# Modeline "1024x768@100" 113.309 1024 1096 1208 1392 768 769 772 814 +hsync +vsync
# 1152x864 @ 60Hz
# Modeline "1152x864@60" 81.642 1152 1216 1336 1520 864 865 868 895 +hsync +vsync
# 1152x864 @ 85Hz
# Modeline "1152x864@85" 119.651 1152 1224 1352 1552 864 865 868 907 +hsync +vsync
# 1152x864 @ 100Hz
# Modeline "1152x864@100" 143.472 1152 1232 1360 1568 864 865 868 915 +hsync +vsync
# 1280x960 @ 75Hz
# Modeline "1280x960@75" 129.859 1280 1368 1504 1728 960 961 964 1002 +hsync +vsync
# 1280x960 @ 100Hz
# Modeline "1280x960@100" 178.992 1280 1376 1520 1760 960 961 964 1017  +hsync +vsync
# SXGA @ 100Hz
# Modeline "1280x1024@100" 190.960 1280 1376 1520 1760 1024 1025 1028 1085 +hsync +vsync
# SPEA GDM-1950 (60Hz,64kHz,110MHz,-,-): 1280x1024 @ V-freq: 60.00 Hz, H-freq: 63.73 KHz
# Modeline "GDM-1950"  109.62  1280 1336 1472 1720  1024 1024 1026 1062 -hsync -vsync
# 1600x1000 @ 60Hz
# Modeline "1600x1000" 133.142 1600 1704 1872 2144 1000 1001 1004 1035 +hsync +vsync
# 1600x1000 @ 75Hz
# Modeline "1600x1000" 169.128 1600 1704 1880 2160 1000 1001 1004 1044 +hsync +vsync
# 1600x1000 @ 85Hz
# Modeline "1600x1000" 194.202 1600 1712 1888 2176 1000 1001 1004 1050 +hsync +vsync
# 1600x1000 @ 100Hz
# Modeline "1600x1000" 232.133 1600 1720 1896 2192 1000 1001 1004 1059 +hsync +vsync
# 1600x1024 @ 60Hz
# Modeline "1600x1024" 136.385 1600 1704 1872 2144 1024 1027 1030 1060 +hsync +vsync
# 1600x1024 @ 75Hz
# Modeline "1600x1024" 174.416 1600 1712 1888 2176 1024 1025 1028 1069 +hsync +vsync
# 1600x1024 @ 76Hz
# Modeline "1600x1024" 170.450 1600 1632 1792 2096 1024 1027 1030 1070 +hsync +vsync
# 1600x1024 @ 85Hz
# Modeline "1600x1024" 198.832 1600 1712 1888 2176 1024 1027 1030 1075 +hsync +vsync
# 1920x1080 @ 60Hz
# Modeline "1920x1080" 172.798 1920 2040 2248 2576 1080 1081 1084 1118 -hsync -vsync
# 1920x1080 @ 75Hz
# Modeline "1920x1080" 211.436 1920 2056 2264 2608 1080 1081 1084 1126 +hsync +vsync
# 1920x1200 @ 60Hz
# Modeline "1920x1200" 193.156 1920 2048 2256 2592 1200 1201 1203 1242 +hsync +vsync
# 1920x1200 @ 75Hz
# Modeline "1920x1200" 246.590 1920 2064 2272 2624 1200 1201 1203 1253 +hsync +vsync
# 2048x1536 @ 60
# Modeline "2048x1536" 266.952 2048 2200 2424 2800 1536 1537 1540 1589 +hsync +vsync
# 2048x1536 @ 60
# Modeline "2048x1536" 266.952 2048 2200 2424 2800 1536 1537 1540 1589 +hsync +vsync
# 1400x1050 @ 60Hz M9 Laptop mode 
# ModeLine "1400x1050" 122.000 1400 1488 1640 1880 1050 1052 1064 1082 +hsync +vsync
# 1920x2400 @ 25Hz for IBM T221, VS VP2290 and compatible display devices
# Modeline "1920x2400@25" 124.620 1920 1928 1980 2048 2400 2401 2403 2434 +hsync +vsync
# 1920x2400 @ 30Hz for IBM T221, VS VP2290 and compatible display devices
# Modeline "1920x2400@30" 149.250 1920 1928 1982 2044 2400 2402 2404 2434 +hsync +vsync

EndSection


# **********************************************************************
# Graphics device section
# **********************************************************************

# Any number of graphics device sections may be present

# Standard VGA Device:

Section "Device"
    Identifier  "Standard VGA"
    VendorName  "Unknown"
    BoardName   "Unknown"

# The chipset line is optional in most cases.  It can be used to override
# the driver's chipset detection, and should not normally be specified.

#    Chipset     "generic"

# The Driver line must be present.  When using run-time loadable driver
# modules, this line instructs the server to load the specified driver
# module.  Even when not using loadable driver modules, this line
# indicates which driver should interpret the information in this section.

    Driver      "vga"
# The BusID line is used to specify which of possibly multiple devices
# this section is intended for.  When this line isn't present, a device
# section can only match up with the primary video device.  For PCI
# devices a line like the following could be used.  This line should not
# normally be included unless there is more than one video device
# installed.

#    BusID       "PCI:0:10:0"

#    VideoRam    256

#    Clocks      25.2 28.3

EndSection

# === ATI device section ===

Section "Device"
    Identifier                          "ATI Graphics Adapter"
    Driver                              "fglrx"
# === disable PnP Monitor  ===
    #Option                              "NoDDC"
# === disable/enable XAA/DRI ===
    Option "no_accel"                   "no"
    Option "no_dri"                     "no"
# === FireGL DDX driver module specific settings ===
# === Screen Management ===
    Option "DesktopSetup"               "0x00000000" 
    Option "MonitorLayout"              "AUTO, AUTO"
    Option "IgnoreEDID"                 "off"
    Option "HSync2"                     "unspecified" 
    Option "VRefresh2"                  "unspecified" 
    Option "ScreenOverlap"              "0" 
    Option "GammaCorrectionI"           "0x06419064"
    Option "GammaCorrectionII"          "0x00000000"
# === OpenGL specific profiles/settings ===
    Option "Capabilities"               "0x00000000"
# === Video Overlay for the Xv extension ===
    Option "VideoOverlay"               "on"
# === OpenGL Overlay ===
# Note: When OpenGL Overlay is enabled, Video Overlay
#       will be disabled automatically
    Option "OpenGLOverlay"              "on"
# === Misc Options ===
    Option "UseFastTLS"                 "0"
    Option "BlockSignalsOnLock"         "on"
    Option "UseInternalAGPGART"         "yes"
    Option "ForceGenericCPU"            "no"
    BusID "PCI:1:0:0"    # vendor=1002, device=5961
    Screen 0
EndSection

# **********************************************************************
# Screen sections
# **********************************************************************

# Any number of screen sections may be present.  Each describes
# the configuration of a single screen.  A single specific screen section
# may be specified from the X server command line with the "-screen"
# option.
Section "Screen"
    Identifier  "Screen0"
    Device      "ATI Graphics Adapter"
    Monitor     "Monitor0"
    DefaultDepth 24
    #Option "backingstore"

    Subsection "Display"
        Depth       24
	Modes    "1600x1200" "1280x960" "1024x768"
        ViewPort    0 0  # initial origin if mode is smaller than desktop
#        Virtual     1280 1024
    EndSubsection
EndSection

# **********************************************************************
# ServerLayout sections.
# **********************************************************************

# Any number of ServerLayout sections may be present.  Each describes
# the way multiple screens are organised.  A specific ServerLayout
# section may be specified from the X server command line with the
# "-layout" option.  In the absence of this, the first section is used.
# When now ServerLayout section is present, the first Screen section
# is used alone.

Section "ServerLayout"

# The Identifier line must be present
    Identifier  "Server Layout"

# Each Screen line specifies a Screen section name, and optionally
# the relative position of other screens.  The four names after
# primary screen name are the screens to the top, bottom, left and right
# of the primary screen.

    Screen "Screen0"

# Each InputDevice line specifies an InputDevice section name and
# optionally some options to specify the way the device is to be
# used.  Those options include "CorePointer", "CoreKeyboard" and
# "SendCoreEvents".

    InputDevice "Mouse1" "CorePointer"
    InputDevice "Keyboard1" "CoreKeyboard"

EndSection

### EOF ###

Připojení k Internetu pomocí CDMA modemu

K CDMA modemu jsem se dostal jako jeden z prvních, měl jsem štěstí a od začátku vše fungovalo. Nastavení zde popsané používám já a i mí kolegové v práci.

Jádro

V jádře je potřeba zapnout podporu por USB a pro USB modem (CONFIG_USB_ACM=m), modul cdc-acm pro jádro 2.6, v jádře 2.4 to je acm.
Dále potřebujete podopru pro ppp

pppd

Pro připojení na síť používám pppd z příkazového řádku.

/etc/ppp/peers/eurotel

hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/ppp/eurotel_chat"
debug
/dev/ttyACM0
921600
defaultroute
noipdefault
user "VASE_MSISDN@etcz"

/etc/ppp/eurotel_chat

ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE'\
 ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
# modeminit
'' ATZ
# ispnumber
OK-AT-OK "ATDT#777"
# ispconnect
CONNECT \d\c

/etc/ppp/chap-secrets

"VASE_MSISDN@etcz" * "VASE_HESLO"

Provoz

pppd call eurotel

Pokud máte nahozené nějaké další síťové rozhraní, je třeba nastavit defaultni routu (pomocí pppd je to volba replacedefaultroute) a pak jeste soubor /etc/resolv.conf (ten lze nastavit přímo z pppd pomocí volby usepeerdns) a jste na netu přez modem

Logování po síti

Z důvodu zabezpečení případně ladění systému je vhodné logovat na samostatný stroj, který je určený pouze pro tyto účely. Postup který zde popíšu je jen přibližný a slouží spíš jako odrazový můstek pro lidi, kteří logování po síti ještě nikdy nepoužívali.

Syslog

Klasický syslog, se kterým se setkýte na Solarisu případně na Linuxu umí logovat pouze přes protokol UDP, provoz běží na portu 514. Pro logování přes síť potřeba mít správný záznam v /etc/services:

syslog          514/udp

a spoštět syslogd s parametrem -r.

Nastavení na straně klienta ještě vyžaduje správné určení cíle pro logy. Následující příklad ukazuje jak se všechny logy přeposílají na server s názvem loghost.

*.*            @loghost

Nezapomeňte zapsat název serveru na který posíláte logy do souboru /etc/hosts

Pro další nastavení logování se mrkněte do manuálu (man syslogd).

Syslog-ng

Syslog-ng se trochu (víc) liší od klasického syslogu. Je mnohem víc konfigurovatelný, snadno se dají zadávat vlastní třídící pravidla a je prostě lepší. Škoda, že se s ním na většině instalacích UNIXů nesetkáte 🙁

Server pro sběr logů můžete nastavit celkem jednoduše, je třeba udělat pár změn v souboru /etc/syslog-ng/syslog-ng.conf

  • Definice zdroje dat ze sítě:
    source s_net {
            udp();
    };
    

    Použijeme UDP z důvodu zpětné kompatibility se starým syslogem. Lze udělat více zdrojů, třeba pro každý server který bude na loghosta logovat jeden zdroj. Pak se to zadává pomocí udp(ip(10.0.0.1) port(514));

  • Dále nadefinujeme samostatný soubor do kterého se budou ukládat logy ze sítě.
    destination d_net { file("/var/log/net.log"); };
  • a nakonec nastavíme vlastní logování dat ze sítě do samostatného souboru
    log {
            source(s_net);
            destination(d_net);
    };

Cílový soubor pro logy můžete udělat pro každý stroj samostaný:

source s_net {udp();}; 
destination d_net{ file("/logy/$HOST/$YEAR/$MONTH/$FACILITY-$YEAR$MONTH" \
owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes));};
log {
        source(s_net);
        destination(d_net);
};

Lze nastavit i logování po síti protokolem TCP tcp(ip(0.0.0.0) port(5000));

Nastavení na straně klienta je také docela v pohodě, buď nadefinujete jako cíl UDP udp("loghost" port(514)); nebo TCP tcp("loghost" port (5000));

Snad to jako vodítko dostačuje. Pokud jsem tu plácal blbosti, tak napište emila a opravím to. Nastavení Syslog-ng lze provést různě, třeba lze logovat i do databáze.

Jak na Linux

Jak a kde na linux: oblečeme si maskáče, vezeme batoh s potřebnou výstrojí (ovedu níž…) a a vydáme se do lesa. Pokud se někde okolo nenachází žádný Linux, schováme se a pokusíme se ho vylákat. Na to použijeme vábničku, kterou napodobujeme zvuk procesorového chladiče. Někteří zkušení lovci to umí i bez vábničky. Ale pozor, nesmíme simulovat pokažený ventilátor, protože Linux je velmi vybíravý a ztratil by zájem. Když máme štěstí, zanedlouho se nám ukáže stádo Linuxů. Může jich být víc rodů v jednom stádě, protože jsou přátelští. Jsou to malé Linuxy, občas se jmenují mikrodistra a samozřejmě i jejich rodiče a sourozenci. Někteří jedinci jsou až příliš velcí. Ale co teď? Střílet se nesmějí, proto si z batohu vyndáme CD-ROM mechaniku a opatrně jim ji ukážeme. Potom se otočíme a utíkáme domů, i když se celé stádo rozeběhne zřídka, nějaký ten nezkušený jedinec se určitě nechá na takovou dobrůtku nalákat, no a je to.

Bohužel si nepamatuju odkud text původně pochází, je to hodně dlouho co jsem ho našel ve slovenštině. Přepsal jsem ho do češtiny, tak se snad původní autor nebude zlobit.

Linux jako RS232 konzole

V práci se potřebuji připojovat k SUNovským mašinkám a jině verbeži přes sériový port, protože nemám na notebooku seriový port od výrobce, musel jsem použít redukci USB-RS232. Redukci jsem kupoval na posledni chvíli a vůbec jsem netušil jaký chip na sobě má. Měl jsem štěstí, je na ní FTDI. Pro její funkci v Linuxu 2.6 je potřeba modul ftdi_sio.

Výpis dmesg po natažení modulu do jádra:

drivers/usb/serial/usb-serial.c: USB Serial support registered for FTDI SIO
drivers/usb/serial/usb-serial.c: USB Serial support registered for FTDI 8U232AM Compatible
drivers/usb/serial/usb-serial.c: USB Serial support registered for FTDI FT232BM Compatible
drivers/usb/serial/usb-serial.c: USB Serial support registered for USB-UIRT Infrared Tranceiver
drivers/usb/serial/usb-serial.c: USB Serial support registered for Home-Electronics TIRA-1 IR Transceiver
usbcore: registered new driver ftdi_sio
drivers/usb/serial/ftdi_sio.c: v1.4.0:USB FTDI Serial Converters Driver

Po zasunutí redukce do USB se v dmesg objeví tento výpis:

uhci_hcd 0000:00:1d.1: port 2 portsc 0093
hub 2-0:1.0: port 2, status 0101, change 0001, 12 Mb/s
hub 2-0:1.0: debounce: port 2: delay 100ms stable 4 status 0x101
usb 2-2: new full speed USB device using address 3
usb 2-2: new device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-2: default language 0x0409
usb 2-2: Product: USB <-> Serial
usb 2-2: Manufacturer: FTDI
usb 2-2: hotplug
usb 2-2: adding 2-2:1.0 (config #1, interface 0)
usb 2-2:1.0: hotplug
usbserial 2-2:1.0: usb_probe_interface
usbserial 2-2:1.0: usb_probe_interface - got id
usbserial 2-2:1.0: FTDI FT232BM Compatible converter detected
usb 2-2: FTDI FT232BM Compatible converter now attached to ttyUSB0 (or usb/tts/0 for devfs)

Redukce je také vidět ve výpisu lsusb:

Bus 002 Device 003: ID 0403:6001 Future Technology Devices 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 Interface
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0403 Future Technology Devices
  idProduct          0x6001 
  bcdDevice            4.00
  iManufacturer           1 FTDI
  iProduct                2 USB <-> Serial
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0x80
    MaxPower               90mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 USB <-> Serial
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               none
        wMaxPacketSize         64
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               none
        wMaxPacketSize         64
        bInterval               0
  Language IDs: (length=4)
     0409 English(US)

Komunikační program

Pro komunikaci po sériovém portu používám program minicom. Umístění konfiguračních souborů minicomu se liší v závislosti na distribuci Linuxu. Ve Slackware je to /etc/minirc.dfl v Debianu je to v adresáři /etc/minicom. Mé nastavení pro připojení přez redukci na USB je takovéto:

pr port             /dev/ttyUSB0
pu baudrate         38400
pu bits             8
pu parity           N
pu stopbits         1
pu minit
pu mreset
pu backspace        DEL
pu rtscts           No