Board:azza/pt-6ibd: Difference between revisions
(Initial version of a LinuxBIOS HOWTO / status page for the AZZA PT-IBD boards. Contributed by zxy_64-2 on IRC, released by him under the GPL, version 2 or later.) |
m (Phcoder moved page AZZA PT-6IBD to Board:azza/pt-6ibd) |
||
(16 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
This page describes how to use | This page describes how to use coreboot on the '''[http://web.tiscali.it/acorp/mobo_spec/azza/pt-6ibd/pt-6ibd.htm AZZA PT-6IBD]''' board. | ||
After noticing that my motherboard is not fully supported I found much appreciated help on [[IRC]]. I | After noticing that my motherboard is not fully supported I found much appreciated help on [[IRC]]. I submitted some of my data to the guys there and with some patching things finally booted ;) | ||
'''Manual:''' [http://www.elhvb.com/mobokive/Archive/Azza/manual/UM-IBD-E5.PDF UM-IBD-E5.PDF] | |||
== Status == | == Status == | ||
Line 9: | Line 10: | ||
|CPU_status = OK | |CPU_status = OK | ||
| | |CPU_L1_status = OK | ||
|CPU_L2_status = WIP | |||
|CPU_L3_status = N/A | |||
|CPU_multiple_status = N/A | |||
|CPU_multicore_status = N/A | |||
|CPU_virt_status = N/A | |||
|RAM_EDO_status = N/A | |||
|RAM_SDRAM_status = WIP | |||
|RAM_SDRAM_comments = Currently the RAM init is hard-coded to a single 64MB DIMM with certain settings. This will be fixed soon. | |||
|RAM_SODIMM_status = N/A | |||
|RAM_DDR_status = N/A | |||
|RAM_DDR2_status = N/A | |||
|RAM_DDR3_status = N/A | |||
|RAM_dualchannel_status = N/A | |||
|RAM_ecc_status = WIP | |||
|RAM_ecc_comments = Not yet supported by the coreboot 440BX code. This board supports ECC according to the manual. | |||
|IDE_status = OK | |||
|IDE_25_status = N/A | |||
|IDE_CF_status = Untested | |||
|CDROM_DVD_status = OK | |||
|CDROM_DVD_comments = Tested: Mounting a CD-ROM. | |||
|SATA_status = N/A | |||
|USB_status = OK | |||
|USB_comments = Tested: USB keyboard. | |||
|Onboard_VGA_status = N/A | |||
|Onboard_ethernet_status = N/A | |||
|Onboard_audio_status = N/A | |||
|Onboard_modem_status = N/A | |||
|Onboard_firewire_status = N/A | |||
|Smartcard_status = N/A | |||
|Onboard_CF_status = N/A | |||
|Onboard_PCMCIA_status = N/A | |||
|ISA_cards_status = Untested | |||
|AMR_cards_status = N/A | |||
|AGP_cards_status = OK | |||
|AGP_cards_comments = Tested: 3DFX Voodoo3. | |||
|PCI_cards_status = OK | |||
|PCIE_x1_status = N/A | |||
|PCIE_x2_status = N/A | |||
|PCIE_x4_status = N/A | |||
|PCIE_x8_status = N/A | |||
|PCIE_x16_status = N/A | |||
|PCIE_x32_status = N/A | |||
|HTX_status = N/A | |||
|Floppy_status = Untested | |||
|COM1_status = Untested | |||
|COM2_status = OK | |||
|PP_status = OK | |||
|PP_comments = Doing '''modprobe ppdev''' works, but further tests were not performed. | |||
|PS2_keyboard_status = OK | |||
|PS2_mouse_status = OK | |||
|Game_port_status = N/A | |||
|IR_status = Untested | |||
|Speaker_status = WIP | |||
|Speaker_comments = Doing '''modprobe pcspkr''' works and device shows in /dev — I hear no sound, though (probably my configuration). | |||
|DiskOnChip_status = N/A | |||
|Sensors_status = Untested | |||
|Watchdog_status = Untested | |||
|CAN_bus_status = N/A | |||
|CPUfreq_status = N/A | |||
|Powersave_status = Untested | |||
|ACPI_status = No | |||
|Reboot_status = OK | |||
|Poweroff_status = No | |||
|Poweroff_comments = Probably needs ACPI to work. | |||
|LEDs_status = N/A | |||
|HPET_status = N/A | |||
|RNG_status = N/A | |||
|WakeOnModem_status = Untested | |||
|WakeOnLAN_status = Untested | |||
|WakeOnKeyboard_status = Untested | |||
|WakeOnMouse_status = Untested | |||
|Smartcard_status = N/A | |||
|Flashrom_status = OK | |||
}} | }} | ||
== Hardware == | == Hardware == | ||
To check the hardware the way | * '''Northbridge:''' Intel 440BX | ||
* '''Southbridge:''' Intel 82371EB | |||
* '''Super I/O:''' Winbond W83977EF | |||
To check the hardware the way coreboot sees it, I used already made programs that coreboot offers. As I use Gentoo, I hacked up a few ebuilds that install the latest svn versions of these programs. You can find them on [http://forums.gentoo.org/viewtopic-t-604607.html this Gentoo Forums thread]. | |||
# superiotool -dV | # superiotool -dV | ||
Line 23: | Line 107: | ||
# flashrom -V | # flashrom -V | ||
This tool showed me which | This tool showed me which ROM chip is used in the mainboard, and whether [[Flashrom]] supports it. | ||
== Build process == | == Build process == | ||
Line 31: | Line 115: | ||
After you get all the data from your computer by looking with eyes on the motherboard and checking the same things with the above programs, you need to do the following. | After you get all the data from your computer by looking with eyes on the motherboard and checking the same things with the above programs, you need to do the following. | ||
Make yourself a directory and checkout the svn repository for | Make yourself a directory and checkout the svn repository for coreboot: | ||
# svn co svn:// | # svn co svn://coreboot.org/coreboot/trunk coreboot | ||
If you want to use the patch with Gentoo ebuilds, add it as specified [http://forums.gentoo.org/viewtopic-p-4428215.html#4428215 here]. | |||
=== FILO === | === FILO === | ||
Line 48: | Line 126: | ||
# cd .. | # cd .. | ||
# svn co svn:// | # svn co svn://coreboot.org/filo/trunk/filo-0.5 | ||
First: | First: | ||
Line 72: | Line 150: | ||
SUPPORT_PCI = 1 | SUPPORT_PCI = 1 | ||
PCI_BRUTE_SCAN = 1 | PCI_BRUTE_SCAN = 1 | ||
LINUX_LOADER = 1 | LINUX_LOADER = 1 | ||
Line 81: | Line 157: | ||
# cp filo.elf /tmp | # cp filo.elf /tmp | ||
=== Building | === Building coreboot === | ||
Lets create the '''coreboot.rom''' file for the motherboard: | |||
# cd .. | # cd ../coreboot/targets | ||
# ./buildtarget azza/pt-6ibd && cd azza/pt-6ibd/pt-6ibd && make | # ./buildtarget azza/pt-6ibd && cd azza/pt-6ibd/pt-6ibd && make | ||
We ended in the motherboard's directory, where the ''' | We ended in the motherboard's directory, where the '''coreboot.rom''' file resides now. | ||
== Flashing | == Flashing coreboot == | ||
Let's put the newly made ''' | Let's put the newly made '''coreboot.rom''' file on the ROM chip. Be sure you have the right ROM chip in the board, so you don't accidentaly ruin your original chip. | ||
Then do | Then do | ||
# flashrom -wv | # flashrom -wv coreboot.rom | ||
== Reboot == | == Reboot == | ||
Line 104: | Line 178: | ||
Now reboot the machine and see if it boots ok. | Now reboot the machine and see if it boots ok. | ||
When I did the above procedure my | When I did the above procedure my coreboot made use of only 64 MB of RAM. Some additional patches are still needed (this is being worked on). | ||
But the result is fantastic anyway. Usual time for boot was long, 10-15s at least, now its close to 0s. | But the result is fantastic anyway. Usual time for boot was long, 10-15s at least, now its close to 0s. | ||
{{GPL}} | {{GPL}} |
Latest revision as of 23:21, 18 January 2014
This page describes how to use coreboot on the AZZA PT-6IBD board.
After noticing that my motherboard is not fully supported I found much appreciated help on IRC. I submitted some of my data to the guys there and with some patching things finally booted ;)
Manual: UM-IBD-E5.PDF
Status
Device/functionality | Status | Comments | ||||||
---|---|---|---|---|---|---|---|---|
CPU | ||||||||
CPU works | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK | |||||||
L1 cache enabled | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK | |||||||
L2 cache enabled | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | WIP | |||||||
L3 cache enabled | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Multiple CPU support | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Multi-core support | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Hardware virtualization | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
RAM | ||||||||
EDO | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
SDRAM | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | WIP | Currently the RAM init is hard-coded to a single 64MB DIMM with certain settings. This will be fixed soon. | ||||||
SO-DIMM | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
DDR | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
DDR2 | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
DDR3 | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Dual channel support | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
ECC support | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | WIP | Not yet supported by the coreboot 440BX code. This board supports ECC according to the manual. | ||||||
On-board Hardware | ||||||||
On-board IDE 3.5" | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK | |||||||
On-board IDE 2.5" | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
On-board SATA | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
On-board SCSI | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown | |||||||
On-board USB | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK | Tested: USB keyboard. | ||||||
On-board VGA | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
On-board Ethernet | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
On-board Audio | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
On-board Modem | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
On-board FireWire | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
On-board Smartcard reader | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
On-board CompactFlash | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
On-board PCMCIA | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
On-board Wifi | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
On-board Bluetooth | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
On-board SD card reader | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Add-on slots/cards | ||||||||
ISA add-on cards | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested | |||||||
Audio/Modem-Riser (AMR/CNR) cards | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
PCI add-on cards | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK | |||||||
Mini-PCI add-on cards | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown | |||||||
Mini-PCI-Express add-on cards | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown | |||||||
PCI-X add-on cards | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown | |||||||
AGP graphics cards | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK | Tested: 3DFX Voodoo3. | ||||||
PCI Express x1 add-on cards | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
PCI Express x2 add-on cards | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
PCI Express x4 add-on cards | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
PCI Express x8 add-on cards | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
PCI Express x16 add-on cards | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
PCI Express x32 add-on cards | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
HTX add-on cards | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Legacy / Super I/O | ||||||||
Floppy | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested | |||||||
Serial port 1 (COM1) | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested | |||||||
Serial port 2 (COM2) | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK | |||||||
Parallel port | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK | Doing modprobe ppdev works, but further tests were not performed. | ||||||
PS/2 keyboard | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK | |||||||
PS/2 mouse | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK | |||||||
Game port | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Infrared | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested | |||||||
PC speaker | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | WIP | Doing modprobe pcspkr works and device shows in /dev — I hear no sound, though (probably my configuration). | ||||||
DiskOnChip | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Input | ||||||||
Trackpoint | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Touchpad | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Fn Hotkeys | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Fingerprint Reader | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Laptop | ||||||||
Docking VGA | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Docking LAN | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Docking USB | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Docking Audio | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Docking Displayport | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Thinklight | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Webcam | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Miscellaneous | ||||||||
Sensors / fan control | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested | |||||||
Hardware watchdog | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested | |||||||
SMBus | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown | |||||||
CAN bus | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
CPU frequency scaling | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Other powersaving features | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested | |||||||
ACPI | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | No | |||||||
Reboot | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK | |||||||
Poweroff | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | No | Probably needs ACPI to work. | ||||||
Suspend | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown | |||||||
Nonstandard LEDs | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
High precision event timers (HPET) | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Random number generator (RNG) | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | N/A | |||||||
Wake on modem ring | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested | |||||||
Wake on LAN | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested | |||||||
Wake on keyboard | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested | |||||||
Wake on mouse | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Untested | |||||||
TPM | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | Unknown | |||||||
Flashrom | OK=lime | TODO=red | No=red | WIP=orange | Untested=yellow | N/A=lightgray | yellow }}" | OK |
Hardware
- Northbridge: Intel 440BX
- Southbridge: Intel 82371EB
- Super I/O: Winbond W83977EF
To check the hardware the way coreboot sees it, I used already made programs that coreboot offers. As I use Gentoo, I hacked up a few ebuilds that install the latest svn versions of these programs. You can find them on this Gentoo Forums thread.
# superiotool -dV
Superiotool showed me which (if any) Super I/O chip is on the motherboard.
# flashrom -V
This tool showed me which ROM chip is used in the mainboard, and whether Flashrom supports it.
Build process
Checkout and Patching
After you get all the data from your computer by looking with eyes on the motherboard and checking the same things with the above programs, you need to do the following.
Make yourself a directory and checkout the svn repository for coreboot:
# svn co svn://coreboot.org/coreboot/trunk coreboot
If you want to use the patch with Gentoo ebuilds, add it as specified here.
FILO
Then get FILO from svn:
# cd .. # svn co svn://coreboot.org/filo/trunk/filo-0.5
First:
# cd filo-0.5 # make
Now edit the Config file with your favorite editor as you wish.
# nano Config
Here is what I ended up with:
USE_GRUB = 1 MENULST_FILE = "hda1:/boot/grub/menu.lst" MENULST_TIMEOUT = 6 IDE_DISK = 1 VGA_CONSOLE = 1 PC_KEYBOARD = 1 SERIAL_CONSOLE = 1 SERIAL_IOBASE = 0x3f8 FSYS_EXT2FS = 1 SUPPORT_PCI = 1 PCI_BRUTE_SCAN = 1 LINUX_LOADER = 1
After you're satisfied do make again and copy filo.elf to /tmp:
# make # cp filo.elf /tmp
Building coreboot
Lets create the coreboot.rom file for the motherboard:
# cd ../coreboot/targets # ./buildtarget azza/pt-6ibd && cd azza/pt-6ibd/pt-6ibd && make
We ended in the motherboard's directory, where the coreboot.rom file resides now.
Flashing coreboot
Let's put the newly made coreboot.rom file on the ROM chip. Be sure you have the right ROM chip in the board, so you don't accidentaly ruin your original chip.
Then do
# flashrom -wv coreboot.rom
Reboot
Now reboot the machine and see if it boots ok.
When I did the above procedure my coreboot made use of only 64 MB of RAM. Some additional patches are still needed (this is being worked on).
But the result is fantastic anyway. Usual time for boot was long, 10-15s at least, now its close to 0s.
This work is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. This work is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. |