Rendere più veloce l’avvio di Ubuntu

Per chi come me usa la distribuzione Linux Ubuntu dalla versione 9.10 si può installare una versione del kernel che rende più veloce l’avvio.
I comandi da usare per installarla sono:

sudo add-apt-repository ppa:ubuntu-boot/ppa

sudo apt-get update

sudo apt-get dist-upgrade

Attenzione, l’operazione (come tutte quelle che coinvolgono il kernel) può creare problemi.
Io l’ho fatta e non ne ho avuti. In cambio l’avvio del computer ora è più veloce.

Fonte: Ubuntu Geek.

Linux on iBook G4 12″ 1,2 Ghz

This howto describes the linux installation on an Ibook G4 12″ 1,2 Ghz ( LinuxOnIbookG4 )

Here you can find the files related to this document:

Download Configuration Files

This is my iBook G4 Version:

cpu info:

[sourcecode language=”java”]
root@abook aronchi # cat /proc/cpuinfo

processor : 0
cpu : 7447A, altivec supported
clock : 1200MHz
revision : 1.1 (pvr 8003 0101)
bogomips : 598.01
machine : PowerBook6,5
motherboard : PowerBook6,5 MacRISC3 Power Macintosh
detected as : 287 (iBook G4)
pmac flags : 0000001b
L2 cache : 512K unified
memory : 512MB
pmac-generation : NewWorld
[/sourcecode]

The clock speed could be different because of speedfreq use, see below for more informations.

lspci info:

[sourcecode language=”java”]
root@abook aronchi # lspci
0000:00:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 AGP
0000:00:10.0 VGA compatible controller: ATI Technologies Inc M9+ 5C63 [Radeon Mobility 9200 (AGP)] (rev 01)
0001:10:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 PCI
0001:10:12.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
0001:10:17.0 Class ff00: Apple Computer Inc. KeyLargo/Intrepid Mac I/O
0001:10:18.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB
0001:10:19.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB
0001:10:1a.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB
0001:10:1b.0 USB Controller: NEC Corporation USB (rev 43)
0001:10:1b.1 USB Controller: NEC Corporation USB (rev 43)
0001:10:1b.2 USB Controller: NEC Corporation USB 2.0 (rev 04)
0002:20:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 Internal PCI
0002:20:0d.0 Class ff00: Apple Computer Inc. UniNorth/Intrepid ATA/100
0002:20:0e.0 FireWire (IEEE 1394): Apple Computer Inc. UniNorth 2 FireWire (rev 81)
0002:20:0f.0 Ethernet controller: Apple Computer Inc. UniNorth 2 GMAC (Sun GEM) (rev 80)
[/sourcecode]

Linux Installation

I’ve installed a Gentoo, following the http://www.gentoo.org/doc/en/handbook/handbook-ppc.xml ppc handbook. After a base installation, you can use my conf files to make your iBook G4 a real lovely GNU/Linux (Gentoo) home.

Kernel Config

Copy my .config file into /usr/src/linux (or wherever you did copy the kernel source files) and do a

[sourcecode language=”java”]make oldconfig[/sourcecode]

Config-2.6.9-sleep

make.conf

This is my make.conf file:
make.conf

Xorg

I’ve managed to make 3D acceleration with DRI work and VGA out, also together.
So, If you want to use 3D acceleration without MergedFB or Xinerama, take my xorg.conf

This option make a faster 3D acceleration, but video output will not work.

But if you want to use Xinerama with dual head configuration, without 3D acceleration (both clone mode and one screen left of the other), you want to use that:
Xorg.conf.dual with a cvs or => 6.8.2 Xorg version (because you need these xorg radeon patches https://bugs.freedesktop.org/show_bug.cgi?id=2064, merged only in newer xorg versions. If you don’t want to overwrite your existing xorg version, you can build xorg from cvs as in this xorg-cvs-howto.txt , with my host.def.

NB: if you want to have the two screens spanning on OSX you must patch your iBook with that http://www.rutemoeller.com/mp/ibook/ibook_e.html Spanning Patch Ibook: I suggest you to do that if you know what you’re doing. It’s not necessary if you use only Linux.

I made MergedFB working, so now I have a clone mode (VGA out is the same of the TFT) with 3D DRI acceleration.
You must use this simple configuration:
xorg.conf.merged

NB: These 3 configurations are alternative, you can use one.

Make the Apple key works as Altgr and the keyboard more linux confortable

My Apple G4 12″ doesn’t have any Altgr Key, so it’s impossibile to write composed symbols as @ or #. To correct this problem, you can do this procedure on Gnome:

1. Computer -> Desktop Preferences -> Keyboard
2. “Layout Options” tab
3. In the right-hand list open the “Third level choosers” group
4. Highlight “Press Left Win-key to choose 3rd level”
5. Click “Add”

Or add this to keyboard section on /etc/X11/xorg.conf file:

[sourcecode language=”java”]”XkbOptions” “lv3:lwin_switch”[/sourcecode]

My xorg.conf file keyboard section is:

[sourcecode language=”java”]
Section “InputDevice”
Identifier “Keyboard0”
Driver “keyboard”
Option “XkbKeycodes” “macintosh”
Option “XkbSymbols” “macintosh/us”
Option “XkbGeometry” “macintosh”
Option “XkbOptions” “ctrl:nocaps, lv3:lwin_switch”
Option “XkbRules” “xfree86”
Option “XkbModel” “pc105”
Option “LeftAlt” “Meta”
Option “RightAlt” “LWin”
Option “XkbLayout” “it”
EndSection
[/sourcecode]

On the US keyboard, the ~ and +/- keys aren’t mapped correctly.
add these lines to a startup script:

[sourcecode language=”java”]
xmodmap -e “keycode 49 = section plusminus”
xmodmap -e “keycode 94 = quoteleft asciitilde”
[/sourcecode]

Three Button Mouse Emulation

I usually use an external USB three button mouse, but I want to have an alternative access to the middle and right button without the external mouse.
To use an alternative key to emulate the mouse buttons, you must do:

[sourcecode language=”java”]
echo “1” > /proc/sys/dev/mac_hid/mouse_button_emulation
[/sourcecode]

The standard keys now are on Fn+CTRL for middle button and Fn+alt for right button.
If you want to change the keys, you must do:

[sourcecode language=”java”]
echo “68” > /proc/sys/dev/mac_hid/mouse_button2_keycode
echo “87” > /proc/sys/dev/mac_hid/mouse_button3_keycode
[/sourcecode]

Remember, you must do these commands every boot, so you can add to an init script.

You can change the keycodes 68 and 87 writing your own. To view what keycode is a button press you can use:

[sourcecode language=”java”]
xev
[sourcecode language=”java”]

If your distro supports /etc/sysctl.conf, you can add these lines to this file:
[sourcecode language=”java”]
# Mouse button emulation:
dev/mac_hid/mouse_button_emulation = 1
#dev/mac_hid/mouse_button2_keycode = 68
#dev/mac_hid/mouse_button3_keycode = 87
[/sourcecode]

Uncomment the last lines if you want to edit the keycodes.

Pbbuttons

In order to make the keyword and the power management more usable, i use pbbuttons:

[sourcecode language=”java”
emerge pbbuttonsd
rc-update add pbbuttonsd default
[/sourcecode]

Now you must configure the /etc/pbbuttons.conf file. Here is mine:
pbbuttonsd.conf

Sleep

Kernel 2.6.11 comes with support for putting the iBook G4 to sleep. However you still have to enable it when configuring the kernel.

Benh has released a patch that supports Apple iBook g4 sleep: you need it if you have a kernel version < 2.6.11.
http://forums.gentoo.org/viewtopic.php?t=254232&highlight=benh+patch
You can find the 2.6.9 patch version also here:
albook-ibookg4-sleep-5.diff
Just apply it to kernel source with

[sourcecode language=”java”]
cp ./albook-ibookg4-sleep-4.diff.gz /usr/src/linux
cd /usr/src/linux
gunzip ./albook-ibookg4-sleep-4.diff.gz
patch -p1 < albook-ibookg4-sleep-4.diff make menuconfig [/sourcecode] And add the Powerbook Power Management in the Drivers -> Macintosh kernel configuration section

After that, you can use pbbuttons to make the iBook sleep when the LCD is closed.
pbbuttonsd.conf

Power

Some problems with sleep function comes from modules loaded (usb, thermal, etc). You can solve them if you use powerprefs. Before going to sleep, your iBook must do:

[sourcecode language=”java”]
lsmod | cut -f 1 -d ” ” | grep -v Module | xargs > /tmp/modules.loaded
rmmod `cat /tmp/modules.loaded`
[/sourcecode]

and after resume it must do:

[sourcecode language=”java”]
for module in `cat /tmp/modules.loaded`
do
modprobe $module
done
[/sourcecode]

In gentoo you must install app-laptop/powerprefs and use my /etc/power/event.d/modules file.

CPU Variable Speed

To make you iBook a less battery user, you can alter automagically the cpu freq in order to use only the calculation power you need. So, when you use all the cpu, it works at the 100% of his speed, but when you don’t use it the cpu runs slower to get colder.

I’ve used speedfreq:

[sourcecode language=”java”]
emerge speedfreq
rc-update add speedfreqd default
[/sourcecode]

Fan speed

To get a better control of your iBook G4 temperature and fan speed, you can use the module therm_adt746x.

[sourcecode language=”java”]
modprobe therm_adt746x
[/sourcecode]

or put the module into your /etc/modules.autoload file

Modules

The module I use and I load at startup are written into a file called /etc/modules.autoload.d/kernel-2.6:
modules.autoload ( My /etc/modules.autoload.d/kernel-2.6 )

[sourcecode language=”java”] sungem
airport
ohci_hcd #usb 1
ehci_hcd #usb 2
ohci1394 #firewire
usb_storage #mp3 mplayer and Sony digital camera
snd-powermac #for sound
snd-pcm-oss #for sound
usb-serial #for GPRS using my sony ericsson phone
visor # for palm m125
#apm_emu #emulate APM (power management)
therm_adt746 #fan control (I use fan_speed=128)
uinput #for mouseemu
uninorth-agp #for DRI (agpgart will come with it)
radeon #for DRI 3D video acceleration
therm_adt746x # to control fan speed and temp
[/sourcecode]

Sound

You can configure the sound card with alsa modules and either using a sound daemon (i.e. arts), or by using oss emulation output. You can insert arts in USE flags, as I do.

Mac On Linux

Mol runs correctly on my iBook, with networking enabled.
It’s necessary to add this use flag:

USE=”fbcon”

before emerging //MOL//.

Run

[sourcecode language=”java”]
molvconfig
[/sourcecode]

and now edit

/etc/mol/molrc.video

to get fullscreen with MOL. Now you have linux on CTRL+ALT+F7 an MacOSX on CTRL+ALT+F8

I use an external ADSL eth0 router with dhcp, so I’ve used tun.ko kernel module and this configuration for mol:

/etc/mol/molrc.net

I use the internal dhcp so in MOL I don’t have to specify an address.

hdparm

I use this settings for hdparm, to increase hard disk performances and decrease the hdd temperature:
[sourcecode language=”java”]
hdparm -S 1 -d1 -m16 -c1 -X udma5 /dev/hda
[/sourcecode]

Make sure to load this settings on every boot.

Time config

Since I have also MacOSX, I had a problem with my clock settings. The hardware clock is set to UTC time by MacOSX, and my Linux system on everyboot read the time from the hardware clock, thinking this is set against my local time (Europe/Rome, CEST).
To solve this problem, you must tell hwclock to use –utc when used to update your system time.
In a RedHat/Fedora system is really simple, once known the origin of the problem:
Simply write this few lines into /etc/sysconfig/clock

[sourcecode language=”java”]
ZONE=”Europe/Rome”
UTC=true
ARC=false
[/sourcecode]

Airport Extreme Wireless Driver

It seems (http://bcm43xx.berlios.de) someone has written a driver for the Broadcom 43xx wireless chip, the one inside AirPort Extreme included into our iBook G4. It needs 2.6.14 kernel, and I’ve uploaded my config file for the 2.6.14-rc4 (the latest 2.6.14 branch I’ve found at this time).

Now you must get the firmware of your driver. Let /media/macosx be the MacOSX partition mount point. then you must use the fwcutter utility in the package:

[sourcecode language=”java”]
./fwcutter /media/macosx/System/Library/Extensions/AppleAirPort2.kext/Contents/MacOS/AppleAirPort2
[/sourcecode]

and then copy the *.fw files on

[sourcecode language=”java”]
cp *.fw /lib/firmware/
[/sourcecode]

If you want, I’ve made a copy of the driver you can download:
broadcom43xx.tar.bz2
I loaded the bcm430x driver correctly, but I don’t have a wireless access point here, so I cannot try if it works.

Linux on a Compaq 1600 XL HOWTO

This Notebook is fully linux compatible

Here is the specifics of that notebook:

CPU Genuine Intel Celeron Mendocino 466 Mhz (Bogomips 927.33
Memory 64 Mb (I use 8 of this for the videoram)
Floppy Unknown 1.44MB 3.5″
Hard Disk Fujitsu 6Gb ATAPI / IDE
DVD Rom Toshiba DVD-ROM SD-C2302 ATAPI/IDE
Modem Conexant HSP MicroModem 56K pci (Software Modem)
Monitor: XTFT 14″
Video Card Trident Microsystems Cyberblade (generic) Cyberblade i1 pci
Sound Card Via Technologies Inc. VT82C686 pci [Apollo Super Ac97/audio]
Touchpad Synaptic

Thanks to Harddrake for those informations :) ( you can download it at http://www.linux-mandrake.com/harddrake∞ )
Update (27-5-2002): I’ve corrected the Mouse cursor problem with Linux in a Compaq Presario
Sometimes, when the memory is full and linux swaps on hard drive, the mouse cursor leave his correct position and the mouse clicks 1 cm left from the pointer. To correct that problem, insert the line Option “sw_cursor” in the Section “Device” of /etc/X11/XF68Config-4 configuration file. That corrects the problem. I’ve updated the configuration files.

Update: Now also the Conexant winmodem works correctly!
Thanks to Mark Hopkins for this wimodem help
You can find a driver at the location:
http://www.mbsi.ca/hsflinux/
I’ve tested it with Red Hat 7.2, and it works correctly. Because I don’t live on US, after the installation with the rpm of the driver I’ve launched that command:
# hsfconfig –country
And then Selected “Italy”. You can select here your different country.
See those urls to get more information:
http://www.linmodems.org
http://www.geocities.com/SiliconValley/3217/Documents/WinModems.html
http://www.o2.net/~gromitkc/winmodem.html
http://walbran.org/sean/linux/linmodem-howto.html

I’ve installed a Mandrake 7.2 , a Red Hat 7.1 and a Red Hat 7.2 distribution. They don’t recognize our graphic card, but the only thing you have to do is to replace the /etc/X11/XF86Config or /etc/X11/XF86Config-4 with the one provided in this page. (Read the files table). I use the touchpad or an external ps2 mouse, there’s no problem with the configuration.
If you want to use an external ps2 wheel mouse you must disable the gpm daemon on console, because it makes the mouse on console crazy and flipping. If you want to use the wheel, you must edit the section “imputdevice” as follow

Section “InputDevice”
Identifier “Mouse0”
# Modified by mouseconfig
Driver “mouse”
Option “Device” “/dev/mouse”
Option “Protocol” “IMPS/2”
Option “Emulate3Buttons” “no”
Option “ZAxisMapping” “4 5”
EndSection

This notebook has a confortable little display that shows the battery status, so I have not installed any dock to show the apm status in my desktop. Just run “apm” on a console if you want the % of charge.

And here is my configuration files:
Kernel Configuration (version 2.2.4-test11).
The soundcard works with the Via kernel driver, just do a modprobe to load the modules (Red Hat 7.2 does it automatically): .config

Xfree Configuration (for version 3.3.6)

It’s with italian keyboard, so if you want an other country map just modify the keyboard section and substitute the “it” with your keymap.

I used there 8 Mb for the videoram, setted from the bios. To use the mtrr acceleration, execute this command (after recompiling the kernel, with my .config file or with mtrr enabled):

echo “base=0xF5000000 size=8192k type=write-combining” >/proc/mtrr

XF86Config

Xfree Configuration (for version 4.*) (NEW)
The only way to make the new Xfree working with our laptop is to change first the /etc/lilo.conf file, adding a line with the VGA mode. If not, launching the Xfree server you will get working section of video, but not centered and moved on the right (if you can correct this error, send the solution to me). So change the lilo.conf file like this:

boot=/dev/hda
map=/boot/map
install=/boot/boot.b
vga=791 <-------- That line is fundamental lba32 prompt timeout=30 message=/boot/message default=Windows image=/boot/vmlinuz-2.4.2-2 label=linux read-only root=/dev/hda7 append="ide=ata66 idebus=66" vga=788 <--------# That line is fundamental image=/boot/vmlinuz-2.4.2-2 <----- this section is the same # that above, but without the vga line. Add it to be #sure when you will #reboot to have at least one lilo image working. label=linuxtext read-only root=/dev/hda7 append="idebus=66 ide0=ata66 ide0=dma hda=autotune ide0=autotune" other=/dev/hda1 <--- this is not fundamental :) optional label=Windows Then you must be sure to use the Xfree 4 version. In modern distribution (like Mandrake 7.2, 8, Red Hat 7.1 and so on) you have the choice at the installation time. After that, you can change the Xfree version running on your machine by changing the /etc/X11/X simbolic link. If it brings to /usr/bin/X11/XFree86 then you're using the 4.* version. If it link to a /usr/bin/X11/XF86_* then you're using the 3.3.6 one. Just change that link to the one you want!! So now you can put my configuration file XF86Config-4 in your /etc/X11 dir. It's with italian keyboard, so if you want an other country map just modify the keyboard section and substitute the "it" with your keymap. I used there 4 Mb for the videoram, setted from the bios. To use the mtrr acceleration, se the relative documentation in the kernel source tree. Files XF86Config (version 3) # XF86Config auto-generated by XF86Setup # # Copyright (c) 1996 by The XFree86 Project, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF # OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. # # Except as contained in this notice, the name of the XFree86 Project shall # not be used in advertising or otherwise to promote the sale, use or other # dealings in this Software without prior written authorization from the # XFree86 Project. # # See 'man XF86Config' for info on the format of this file Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:-1" # FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled,/usr/X11R6/lib/X11/fonts/100dpi:unscaled,/usr/X11R6/lib/X11/fonts/Type1,/usr/X11R6/lib/X11/fonts/URW,/usr/X11R6/lib/X11/fonts/Speedo,/usr/X11R6/lib/X11/fonts/misc,/usr/X11R6/lib/X11/fonts/75dpi,/usr/X11R6/lib/X11/fonts/100dpi" EndSection Section "ServerFlags" EndSection Section "Keyboard" Protocol "Standard" AutoRepeat 250 30 LeftAlt Meta RightAlt Meta ScrollLock Compose RightCtl Control XkbKeycodes "xfree86" XkbTypes "default" XkbCompat "default" XkbSymbols "us(pc105)" XkbGeometry "pc" XkbRules "xfree86" XkbModel "pc105" XkbLayout "it" # XkbSymbols "us(pc101)" # XkbModel "pc101" #"pc104" # XkbLayout "us" #"de" # XkbVariant "nodeadkeys" EndSection Section "Pointer" Protocol "PS/2" Device "/dev/psaux" BaudRate 1200 Emulate3Timeout 50 EndSection Section "Monitor" Identifier "Generic Multisync" VendorName "Unknown" ModelName "Unknown" HorizSync 30-64 VertRefresh 60-60 Modeline "1024x768" 65.00 1024 1032 1176 1344 768 771 777 806 -hsync -vsync EndSection Section "Device" Identifier "Generic VGA" VendorName "Unknown" BoardName "Unknown" Chipset "generic" EndSection Section "Device" Identifier "My Video Card" VendorName "Unknown" BoardName "Unknown" Chipset "cyberblade" EndSection Section "Screen" Driver "Accel" Device "My Video Card" Monitor "Generic Multisync" DefaultColorDepth 32 BlankTime 0 SuspendTime 0 OffTime 0 SubSection "Display" Depth 8 Modes "1024x768" ViewPort 0 0 EndSubSection SubSection "Display" Depth 15 Modes "1024x768" EndSubSection SubSection "Display" Depth 16 Modes "1024x768" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" EndSubSection SubSection "Display" Depth 32 Modes "1024x768" EndSubSection EndSection Section "Screen" Driver "SVGA" Device "My Video Card" Monitor "Generic Multisync" DefaultColorDepth 32 BlankTime 0 SuspendTime 0 OffTime 0 SubSection "Display" Depth 8 Modes "1024x768" EndSubSection SubSection "Display" Depth 15 Modes "1024x768" EndSubSection SubSection "Display" Depth 16 Modes "1024x768" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" ViewPort 0 0 EndSubSection SubSection "Display" Depth 32 Modes "1024x768" EndSubSection EndSection Section "Screen" Driver "VGA16" Device "Generic VGA" Monitor "Generic Multisync" BlankTime 0 SuspendTime 0 OffTime 0 SubSection "Display" Depth 4 Modes "1024x768" ViewPort 0 0 EndSubSection EndSection Section "Screen" Driver "VGA2" Device "Generic VGA" Monitor "Generic Multisync" BlankTime 0 SuspendTime 0 OffTime 0 SubSection "Display" Depth 1 Modes "1024x768" ViewPort 0 0 EndSubSection EndSection XF86Config-4 # XFree86 4.0 configuration generated by Xconfigurator Section "ServerLayout" Identifier "XFree86 Configured" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSection # By default, Red Hat Linux 6.0 and later use xfs Section "Files" FontPath "unix/:7100" EndSection # Module loading section Section "Module" Load "dbe" # Double-buffering Load "GLcore" # OpenGL support Load "dri" # Direct rendering infrastructure Load "glx" # OpenGL X protocol interface Load "extmod" # Misc. required extensions Load "v4l" # Video4Linux # Load "pex5" # PHIGS for X 3D environment (obsolete) # Load "record" # X event recorder # Load "xie" # X Image Extension (obsolete) # You only need the following two modules if you do not use xfs. # Load "freetype" # TrueType font handler # Load "type1" # Adobe Type 1 font handler EndSection Section "InputDevice" Identifier "Keyboard0" Driver "keyboard" Option "XkbLayout" "it" EndSection Section "InputDevice" Identifier "Mouse0" # Modified by mouseconfig Driver "mouse" Option "Device" "/dev/mouse" Option "Protocol" "PS/2" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "Monitor" Identifier "CustomConfiguration" VendorName "Unknown" ModelName "Unknown" HorizSync 31.5-57 VertRefresh 50-90 Option "dpms" EndSection Section "Device" Identifier "My Video Card" Driver "trident" BoardName "Unknown" # Use Option "nolinear" if the server doesn't start up correctly # (this avoids the linear framebuffer probe). If that fails try # option "nomemaccess". # # Refer to /usr/X11R6/lib/doc/README.S3, and the XF86_S3 man page. EndSection Section "Device" Identifier "Linux Frame Buffer" Driver "fbdev" BoardName "Unknown" EndSection Section "Screen" Identifier "Screen0" Device "My Video Card" Monitor "CustomConfiguration" DefaultDepth 16 Subsection "Display" Depth 16 Modes "1024x768" EndSubSection EndSection Section "DRI" Mode 0666 EndSection XF86Config-4 Debian ### BEGIN DEBCONF SECTION # XF86Config-4 (XFree86 server configuration file) generated by dexconf, the # Debian X Configuration tool, using values from the debconf database. # # Edit this file with caution, and see the XF86Config-4 manual page. # (Type "man XF86Config-4" at the shell prompt.) # # If you want your changes to this file preserved by dexconf, only make changes # before the "### BEGIN DEBCONF SECTION" line above, and/or after the # "### END DEBCONF SECTION" line below. # # To change things within the debconf section, run the command: # dpkg-reconfigure xserver-xfree86 # as root. Also see "How do I add custom sections to a dexconf-generated # XF86Config or XF86Config-4 file?" in /usr/share/doc/xfree86-common/FAQ.gz. Section "Files" FontPath "unix/:7100" # local font server # if the local font server has problems, we can fall back on these FontPath "/usr/lib/X11/fonts/misc" FontPath "/usr/lib/X11/fonts/cyrillic" FontPath "/usr/lib/X11/fonts/100dpi/:unscaled" FontPath "/usr/lib/X11/fonts/75dpi/:unscaled" FontPath "/usr/lib/X11/fonts/Type1" FontPath "/usr/lib/X11/fonts/Speedo" FontPath "/usr/lib/X11/fonts/100dpi" FontPath "/usr/lib/X11/fonts/75dpi" EndSection Section "Module" Load "GLcore" Load "bitmap" Load "dbe" Load "ddc" Load "dri" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "pex5" Load "record" Load "speedo" Load "type1" Load "vbe" Load "xie" # Load "xtt" EndSection Section "InputDevice" Identifier "Generic Keyboard" Driver "keyboard" Option "CoreKeyboard" Option "XkbRules" "xfree86" Option "XkbModel" "pc105" Option "XkbLayout" "it" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/psaux" Option "Protocol" "ImPS/2" Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" Identifier "Generic Mouse" Driver "mouse" Option "SendCoreEvents" "true" Option "Device" "/dev/input/mice" Option "Protocol" "ImPS/2" Option "ZAxisMapping" "4 5" EndSection Section "Device" Identifier "Trident Cyberblade i1" Driver "trident" VideoRam 8024 Option "sw_cursor" EndSection Section "Monitor" Identifier "Generic Monitor" HorizSync 30-60 VertRefresh 50-75 Option "DPMS" EndSection Section "Screen" Identifier "Default Screen" Device "Trident Cyberblade i1" Monitor "Generic Monitor" DefaultDepth 24 SubSection "Display" Depth 1 Modes "1024x768" EndSubSection SubSection "Display" Depth 4 Modes "1024x768" EndSubSection SubSection "Display" Depth 8 Modes "1024x768" EndSubSection SubSection "Display" Depth 15 Modes "1024x768" EndSubSection SubSection "Display" Depth 16 Modes "1024x768" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" InputDevice "Generic Mouse" EndSection Section "DRI" Mode 0666 EndSection ### END DEBCONF SECTION I'm working to use the special internet keys over the keyboard, so stay tuned! Please email me anything you want to add or modify into this page.

LTSP with PXE boot MINI-HOWTO

LTSP with PXE boot MINI-HOWTO

Table of Contents

1)Introduction:
2)Install LTSP ( In my Red Hat 9 I have: ltsp_core, ltsp_kernel, ltsp_x_core , ltsp_x_fonts)
3)Install and configure TFTP Server ( tftp-server)
4)Install and configure DHCP Server ( dhcp)
5)Configure LTSP

Introduction:

PXE is a system used to boot a client pc without using a boot floppy or an hard disk. To use it, you must have a PXE compatible network card. When you will boot the pc, PXE will ask to a DHCP server an IP and the network configuration. After that, we will send a PXE image to the pc client, that will do a preliminar boot action and will search an Etherboot image, and then we will send the Etherboot image with LTSP kernel.
To make an LTSP server with PXE boot, you need this software: LTSP, TFTP, Dhcpd.

Install LTSP ( In my Red Hat 9 I have: ltsp_core, ltsp_kernel, ltsp_x_core , ltsp_x_fonts)

To install LTSP , you can use the binary packages for your distribution (rpm, deb), or the source packages . You can download it directly from www.ltsp.org. The installation of that packages is well described on www.ltsp.org/documentation, so I will not rewrite that instructions.

Install and configure TFTP Server ( tftp-server)

In a Red Hat, you must install tftp-server, with:

rpm -ivh tftp-server

and then edit the file /etc/xinetd.d/tftp, changing the line:

disable = yes

with

disable = no

That’s because the tftp server is executed into xinetd superserver, and it’s disabled by default for security matters.

Install and configure DHCP Server ( dhcp)

In a Red Hat, you must install dhcp, with:

rpm -ivh dhcp

Then you must configure all the clients to get an automatic IP and hostname, matching a MAC address. This is my configuration for two client pc:

# Sample configuration file for ISCD dhcpd
#
# Don’t forget to set run_dhcpd=1 in /etc/init.d/dhcpd
# once you adjusted this file and copied it to /etc/dhcpd.conf.
#

default-lease-time 21600;
max-lease-time 21600;
ddns-update-style none;

option subnet-mask 255.255.255.0;
option broadcast-address 172.16.0.255;
option routers 172.16.0.254;
option domain-name-servers 151.99.125.2;
option domain-name “folug.lan”;
option root-path “172.16.0.100:/opt/ltsp/i386”;

shared-network WORKSTATIONS {

subnet 172.16.0.0 netmask 255.255.0.0 { }
}

group {

use-host-decl-names on;
option log-servers 172.16.0.100;

host ws001 {

hardware ethernet 00:40:F4:66:EC:0F;
fixed-address 172.16.0.99;

if substring (option vendor-class-identifier, 0, 9) = “PXEClient” {
filename “/eb-5.0.10-rtl8139b.lzpxe”;
} else if substring (option vendor-class-identifier, 0, 9) = “Etherboot” {

filename “/lts/vmlinuz-2.4.19-ltsp-1”;
option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
}
}

host ws002 {
hardware ethernet 00:40:F4:47:CA:CF;
fixed-address 172.16.0.98;

if substring (option vendor-class-identifier, 0, 9) = “PXEClient” {
filename “/eb-5.0.10-rtl8139b.lzpxe”;
}

else if substring (option vendor-class-identifier, 0, 9) = “Etherboot”
{
filename “/lts/vmlinuz-2.4.19-ltsp-1”;
option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;
}

}

}

The line :

f substring (option vendor-class-identifier, 0, 9) = “PXEClient” {

controls that at PXE boot the dhcp server sends the image given by filename expression. The image is downloaded from from http://www.rom-o-omatic.org∞, and it’s based on the type of network card. Put this image on /tftpboot directory, because we need to send it with tftp.
The path given in the filename expression is relative to tftpboot, so pay attention:
if the file is on /tftpboot/eb-5.0.10-rtl8139b.lzpxe, you must use the row:

filename “/eb-5.0.10-rtl8139b.lzpxe”; # correct

# and NOT :

filename “/tftpboot/eb-5.0.10-rtl8139b.lzpxe”; # error!!!

If you put the absolute path on hard disk, PXE will say File not found. The line:

else if substring (option vendor-class-identifier, 0, 9) = “Etherboot” {

Is used to send the second image to the client pc, with the LTSP kernel image. This is also relative to tftpboot, so pay attention again to NOT USE the server absolute path of the image. This image is into the ltsp-kernel package, and it’s located in

/tftpboot/lts/vmlinuz-2.4.19-ltsp-1

Configure LTSP

Now that you have configured tftp and dhcp with the use of PXE, we need to write the configuration file for the ltsp clients.
This file is located in

/opt/ltsp/i386/etc/lts.conf

and contains a configuration for each client:

[ws001]

XSERVER = auto
X_MODE_0 = 1024×768
LOCAL_APPS = N
USE_NFS_SWAP = N
SWAPFILE_SIZE = 48m
XkbLayout = it
RUNLEVEL = 5′

ws0001 must be the hostname of the client, given by dhcp server
Other options are available, but you must read the LTSP documentation, it’s useless a copy-paste other’s work in this mini-howto.