You are here
Using mutt as a mailbox converter
I'm planning to move all my mailboxes to an IMAP server running on foolab.org, use offlineIMAP to sync between vader "my laptop" and naboo "foolab.org". It will also allow me to access my email from multiple computers at the same time.
I'm using mutt as my primary email client.
The big problem is offlineIMAP needs a local Maildir while I'm using mbox
I can upload the emails from mutt to the IMAP server but why do I have to redownlosd them again ? Beside, it's a lot of manual work.
I didn't really find a good mbox to maildir converter so I decided to use mutt.
Mutt knows how to handle such things. It's an email reader!
Thanks to the folks in #mutt for a few tips. Now here is my setup:
1) My mail is in ~/Mail
2) I don't have subdirectories
3) No white spaces in folder names.
4) You don't have a mailbox called "foo" ;-)
5) Create a directory called done. There we will place the mbox files after processing.
Now here how it goes:
1) Place this in a file, let's call it "/tmp/muttrc" and use emacs for that ;-)
macro index <F3> "<tag-pattern>~A<enter><tag-prefix><copy-message>=foo<enter>y<quit>y"
folder-hook . push <F3>
2) cd ~/Mail
3) Execute this bash snippet:
for i in `find -maxdepth 1 -type f`; do box=`basename $i`;
echo "Processing $box" && mutt -F /tmp/muttrc -n -m Maildir -R -f $box && mv $box done/ && mv foo $box; done
4) Now to convert my outbox "which is an MH dir":
mutt -F /tmp/muttrc -n -m Maildir -R -f done/outbox/
It worked fine for me. I had to interfere 2 times because I 2 had 0 sized mailboxes. Otherwise, it worked like a charm!
P.S. Don't forget to edit ~/.procmailrc and to set the default mutt mbox_type to Maildir
Debian on Acer travelmate 250
I've installed Debian long ago. I wanted to write this howto since then but I had some problems with the laptop hardware I was unable to solve until today.
Now this laptop is really cool. I bought an extra gig RAM and replaced the 40 gigs harddrive with another 80 gigs one because The one equipped with it was dying.
- Hardware Configuration:
CPU: Intel(R) Pentium(R) 4 CPU 2.60GHz
RAM: 256MB
Hard disk: 40GB
Optical Media: CD burner. The DVD burner never worked reliably for me. - lspci output:
00:00.0 Host bridge: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:00.1 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:00.3 System peripheral: Intel Corporation 82852/82855 GM/GME/PM/GMV Processor to I/O Controller (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
00:02.1 Display controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 83)
00:1f.0 ISA bridge: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801DBM (ICH4-M) IDE Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
00:1f.6 Modem: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
02:04.0 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01)
02:04.1 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01)
02:05.0 Network controller: Intersil Corporation Prism 2.5 Wavelan chipset (rev 01)
02:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) - dmesg output:
CPI: BOOT (v001 PTLTD $SBFTBL$ 0x06040000 LTP 0x00000001) @ 0x4eeeafd8
ACPI: PM-Timer IO Port: 0x1008
Intel MultiProcessor Specification v1.4
Virtual Wire compatibility mode.
Allocating PCI resources starting at 60000000 (gap: 50000000:aec10000)
Built 1 zonelists
Kernel command line: root=/dev/hda2 ro lapic resume2=swap:/dev/hda6 ec_intr=0 i8042.nomux
ACPI: EC polling mode.
Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!
mapped APIC to ffffd000 (fee00000)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 65536 bytes)
Detected 2598.201 MHz processor.
Using pmtmr for high-res timesource
Console: colour VGA+ 80x25
Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes)
Inode-cache hash table entries: 131072 (order: 7, 524288 bytes)
Memory: 1277348k/1293184k available (1408k kernel code, 15176k reserved, 528k data, 144k init, 113536k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 5203.94 BogoMIPS (lpj=10407897)
Security Framework v1.0.0 initialized
SELinux: Disabled at boot.
Capability LSM initialized
Mount-cache hash table entries: 512
CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000
CPU: After vendor identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 512K
CPU: After all inits, caps: bfebfbff 00000000 00000000 00000080 00004400 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU0: Intel P4/Xeon Extended MCE MSRs (12) available
CPU0: Thermal monitoring enabled
CPU: Intel(R) Pentium(R) 4 CPU 2.60GHz stepping 09
Checking 'hlt' instruction... OK.
ACPI: setting ELCR to 0200 (from 0c30)
checking if image is initramfs... it is
Freeing initrd memory: 1082k freed
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: PCI BIOS revision 2.10 entry at 0xfd6b4, last bus=2
PCI: Using configuration type 1
ACPI: Subsystem revision 20060127
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Root Bridge [PCI0] (0000:00)
PCI: Probing PCI hardware (bus 00)
Boot video device is 0000:00:02.0
PCI quirk: region 1000-107f claimed by ICH4 ACPI/GPIO/TCO
PCI quirk: region 1180-11bf claimed by ICH4 GPIO
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
PCI: Transparent bridge - 0000:00:1e.0
PCI: Bus #03 (-#06) may be hidden behind transparent bridge #02 (-#02) (try 'pci=assign-busses')
PCI: Bus #07 (-#0a) may be hidden behind transparent bridge #02 (-#02) (try 'pci=assign-busses')
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT]
ACPI: PCI Interrupt Link [LNKA] (IRQs 10 11) *5
ACPI: PCI Interrupt Link [LNKB] (IRQs *10 11)
ACPI: PCI Interrupt Link [LNKC] (IRQs 10 11) *4
ACPI: PCI Interrupt Link [LNKD] (IRQs *11)
ACPI: PCI Interrupt Link [LNKE] (IRQs 10 *11)
ACPI: PCI Interrupt Link [LNKF] (IRQs *10 11)
ACPI: PCI Interrupt Link [LNKG] (IRQs *10 11)
ACPI: PCI Interrupt Link [LNKH] (IRQs *10 11)
ACPI: Embedded Controller [EC] (gpe 28) polling mode.
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 11 devices
PnPBIOS: Disabled by ACPI PNP
PCI: Using ACPI for IRQ routing
PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report
pnp: 00:04: ioport range 0x600-0x60f has been reserved
PCI: Ignore bogus resource 6 [0:0] of 0000:00:02.0
PCI: Bus 3, cardbus bridge: 0000:02:04.0
IO window: 00003400-000034ff
IO window: 00003800-000038ff
PREFETCH window: 62000000-63ffffff
MEM window: 64000000-65ffffff
PCI: Bus 7, cardbus bridge: 0000:02:04.1
IO window: 00003c00-00003cff
IO window: 00001400-000014ff
PREFETCH window: 66000000-67ffffff
MEM window: 68000000-69ffffff
PCI: Bridge: 0000:00:1e.0
IO window: 3000-3fff
MEM window: e0200000-e02fffff
PREFETCH window: e0500000-e05fffff
PCI: Setting latency timer of device 0000:00:1e.0 to 64
ACPI: PCI Interrupt Link [LNKF] enabled at IRQ 10
PCI: setting IRQ 10 as level-triggered
ACPI: PCI Interrupt 0000:02:04.0[A] -> Link [LNKF] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI Interrupt Link [LNKG] enabled at IRQ 10
ACPI: PCI Interrupt 0000:02:04.1[B] -> Link [LNKG] -> GSI 10 (level, low) -> IRQ 10
Simple Boot Flag at 0x3c set to 0x1
audit: initializing netlink socket (disabled)
audit(1155032858.244:1): initialized
highmem bounce pool size: 64 pages
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:PS2M] at 0x60,0x64 irq 1,12
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 10
ACPI: PCI Interrupt 0000:00:1f.6[B] -> Link [LNKB] -> GSI 10 (level, low) -> IRQ 10
ACPI: PCI interrupt for device 0000:00:1f.6 disabled
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
NET: Registered protocol family 2
IP route cache hash table entries: 65536 (order: 6, 262144 bytes)
TCP established hash table entries: 262144 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 262144 bind 65536)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 8
NET: Registered protocol family 20
Using IPI Shortcut mode
ACPI wakeup devices:
LID LANC MODM
ACPI: (supports S0 S3 S4 S5)
Freeing unused kernel memory: 144k freed
input: AT Translated Set 2 keyboard as /class/input/input0
mice: PS/2 mouse device common for all mice
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH4: IDE controller at PCI slot 0000:00:1f.1
PCI: Enabling device 0000:00:1f.1 (0005 -> 0007)
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
PCI: setting IRQ 11 as level-triggered
ACPI: PCI Interrupt 0000:00:1f.1[A] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
ICH4: chipset revision 3
ICH4: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x1810-0x1817, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0x1818-0x181f, BIOS settings: hdc:DMA, hdd:pio
Probing IDE interface ide0...
hda: FUJITSU MHV2080AT, ATA DISK drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
hdc: TOSHIBA DVD-ROM SD-R6112, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=65535/16/63, UDMA(100)
hda: cache flushes supported
hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 >
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Linux agpgart interface v0.101 (c) Dave Jones
usbcore: registered new driver usbfs
usbcore: registered new driver hub
agpgart: Detected an Intel 855 Chipset.
agpgart: Detected 16252K stolen memory.
agpgart: AGP aperture is 128M @ 0xe8000000
pnp: Device 00:07 activated.
parport: PnPBIOS parport detected.
parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,EPP,ECP,DMA]
USB Universal Host Controller Interface driver v2.3
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:1d.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: UHCI Host Controller
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:1d.0: irq 11, io base 0x00001820
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
intelfb: Framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G/915GM chipsets
intelfb: Version 0.9.2
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
i8xx TCO timer: initialized (0x1060). heartbeat=30 sec (nowayout=0)
hdc: ATAPI 24X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
ACPI: PCI Interrupt 0000:00:1d.1[B] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:00:1d.1 to 64
uhci_hcd 0000:00:1d.1: UHCI Host Controller
uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2
uhci_hcd 0000:00:1d.1: irq 11, io base 0x00001840
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
ACPI: PCI Interrupt 0000:00:1d.2[C] -> Link [LNKC] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:00:1d.2 to 64
uhci_hcd 0000:00:1d.2: UHCI Host Controller
uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3
uhci_hcd 0000:00:1d.2: irq 11, io base 0x00001860
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 10
ACPI: PCI Interrupt 0000:00:1d.7[D] -> Link [LNKH] -> GSI 10 (level, low) -> IRQ 10
PCI: Setting latency timer of device 0000:00:1d.7 to 64
ehci_hcd 0000:00:1d.7: EHCI Host Controller
ehci_hcd 0000:00:1d.7: debug port 1
PCI: cache line size of 128 is not supported by device 0000:00:1d.7
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 4
ehci_hcd 0000:00:1d.7: irq 10, io mem 0xe0100000
ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb4: configuration #1 chosen from 1 choice
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 6 ports detected
ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
intelfb: 00:02.0: Intel(R) 852GME, aperture size 128MB, stolen memory 16252kB
intelfb: Non-CRT device is enabled ( LVDS port ). Disabling mode switching.
intelfb: Video mode must be programmed at boot time.
shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
ACPI: PCI Interrupt 0000:00:1f.5[B] -> Link [LNKB] -> GSI 10 (level, low) -> IRQ 10
PCI: Setting latency timer of device 0000:00:1f.5 to 64
intel8x0_measure_ac97_clock: measured 55358 usecs
intel8x0: clocking to 48000
ACPI: PCI Interrupt 0000:02:04.0[A] -> Link [LNKF] -> GSI 10 (level, low) -> IRQ 10
Yenta: CardBus bridge found at 0000:02:04.0 [1025:0039]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:02:04.0, mfunc 0x00921b22, devctl 0x64
8139too Fast Ethernet driver 0.9.27
ieee80211_crypt: registered algorithm 'NULL'
Synaptics Touchpad, model: 1, fw: 5.8, id: 0x9248b1, caps: 0x904713/0x4000
hostap_pci: 0.4.4-kernel (Jouni Malinen <jkmaline@cc.hut.fi>)
input: SynPS/2 Synaptics TouchPad as /class/input/input1
Yenta: ISA IRQ mask 0x0038, PCI irq 10
Socket status: 30000006
pcmcia: parent PCI bridge I/O window: 0x3000 - 0x3fff
cs: IO port probe 0x3000-0x3fff: clean.
pcmcia: parent PCI bridge Memory window: 0xe0200000 - 0xe02fffff
pcmcia: parent PCI bridge Memory window: 0xe0500000 - 0xe05fffff
ACPI: PCI Interrupt 0000:02:04.1[B] -> Link [LNKG] -> GSI 10 (level, low) -> IRQ 10
Yenta: CardBus bridge found at 0000:02:04.1 [1025:0039]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:02:04.1, mfunc 0x00921b22, devctl 0x64
Yenta: ISA IRQ mask 0x0038, PCI irq 10
Socket status: 30000020
pcmcia: parent PCI bridge I/O window: 0x3000 - 0x3fff
cs: IO port probe 0x3000-0x3fff: clean.
pcmcia: parent PCI bridge Memory window: 0xe0200000 - 0xe02fffff
pcmcia: parent PCI bridge Memory window: 0xe0500000 - 0xe05fffff
ACPI: PCI Interrupt 0000:02:0a.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
eth0: RealTek RTL8139 at 0x3000, 00:0a:e4:04:c4:8e, IRQ 11
eth0: Identified 8139 chip type 'RTL-8101'
ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 11
ACPI: PCI Interrupt 0000:02:05.0[A] -> Link [LNKE] -> GSI 11 (level, low) -> IRQ 11
hostap_pci: Registered netdevice wifi0
wifi0: Original COR value: 0x0
8139cp: 10/100 PCI Ethernet driver v1.2 (Mar 22, 2004)
prism2_hw_init: initialized in 232 ms
wifi0: NIC: id=0x8022 v1.0.0
wifi0: PRI: id=0x15 v1.1.1
wifi0: STA: id=0x1f v1.8.4
wifi0: Intersil Prism2.5 PCI: mem=0xe0500000, irq=11
wifi0: registered netdevice wlan0
ts: Compaq touchscreen protocol output
pccard: CardBus card inserted into slot 1
PCI: Enabling device 0000:07:00.0 (0000 -> 0002)
ACPI: PCI Interrupt 0000:07:00.0[A] -> Link [LNKG] -> GSI 10 (level, low) -> IRQ 10
PCI: Setting latency timer of device 0000:07:00.0 to 64
cs: IO port probe 0x100-0x3af: clean.
cs: IO port probe 0x3e0-0x4ff: excluding 0x4d0-0x4d7
cs: IO port probe 0x820-0x8ff: clean.
cs: IO port probe 0xc00-0xcf7: clean.
cs: IO port probe 0xa00-0xaff: clean.
cs: IO port probe 0x100-0x3af: clean.
cs: IO port probe 0x3e0-0x4ff: excluding 0x4d0-0x4d7
cs: IO port probe 0x820-0x8ff: clean.
cs: IO port probe 0xc00-0xcf7: clean.
cs: IO port probe 0xa00-0xaff: clean.
Adding 1349420k swap on /dev/hda8. Priority:-1 extents:1 across:1349420k
EXT3 FS on hda2, internal journal
ACPI: AC Adapter [AC] (on-line)
ACPI: CPU0 (power states: C1[C1] C2[C2])
ACPI: Video Device [VGA] (multi-head: yes rom: no post: no)
ACPI: Thermal Zone [THRS] (44 C)
ACPI: Thermal Zone [THRC] (42 C)
ACPI: Battery Slot [BAT0] (battery present)
input: PC Speaker as /class/input/input2
p4-clockmod: P4/Xeon(TM) CPU On-Demand Clock Modulation available
[drm] Initialized drm 1.0.1 20051102
input: Acer hotkey driver as /class/input/input3
Acer Travelmate hotkey driver v0.5.33
Automatic switching of wireless hardware needs polling, enabling it
usbcore: registered new driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
usbcore: registered new driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for PocketPC PDA
drivers/usb/serial/ipaq.c: USB PocketPC PDA driver v0.5
usbcore: registered new driver ipaq
fuse init (API version 7.6)
device-mapper: 4.5.0-ioctl (2005-10-04) initialised: dm-devel@redhat.com
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda3, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
EXT3 FS on hda5, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda6, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
IA-32 Microcode Update Driver: v1.14 <tigran@veritas.com>
microcode: CPU0 updated from revision 0x17 to 0x2e, date = 08112004
IA-32 Microcode Update Driver v1.14 unregistered
ACPI: Power Button (FF) [PWRF]
ACPI: Lid Switch [LID]
ACPI: Sleep Button (CM) [SLP2]
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
IPv6 over IPv4 tunneling driver
ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
[drm] Initialized i915 1.4.0 20060119 on minor 0
[drm] Initialized i915 1.4.0 20060119 on minor 1
eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
eth0: no IPv6 routers present - Sound:
modprobe snd-intel8x0
- X:
# XF86Config-4 (XFree86 X Window System server configuration file)
#
# This file was 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.)
#
# This file is automatically updated on xserver-xfree86 package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xfree86
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands as root:
#
# cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
# md5sum /etc/X11/XF86Config-4 >/var/lib/xfree86/XF86Config-4.md5sum
# dpkg-reconfigure xserver-xfree86Section "Files"
FontPath "unix/:7100" # local font server
# if the local font server has problems, we can fall back on these
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/lib/X11/fonts/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/lib/X11/fonts/cyrillic"
FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/share/fonts/X11/CID"
FontPath "/usr/lib/X11/fonts/CID"
FontPath "/usr/lib/X11/fonts/Speedo"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/usr/lib/X11/fonts/75dpi"
FontPath "/usr/share/fonts/truetype/msttcorefonts"
EndSectionSection "Module"
Load "bitmap"
Load "dbe"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "record"
Load "type1"
Load "vbe"
Load "synaptics"
EndSectionSection "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us,ar"
EndSectionSection "InputDevice"
Identifier "Configured Mouse"
# Driver "mouse"
Option "CorePointer"
# Option "Device" "/dev/input/mice"
# Option "Protocol" "ImPS/2"
# Option "ZAxisMapping" "4 5"
Driver "synaptics"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "TopEdge" "1700"
Option "BottomEdge" "4200"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "100" # was 220
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.06"
Option "MaxSpeed" "0.12"
Option "AccelFactor" "0.0010"
Option "SHMConfig" "on"
EndSection# The USB Mouse
Section "InputDevice"
Identifier "USB Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "IMPS/2"
Option "Emulate3Buttons" "false"
Option "ZAxisMapping" "4 5"
Option "SendCoreEvents" "true"
EndSectionSection "Device"
Identifier "Generic Video Card"
Driver "i810"
# Option "BusID" "0000:00:02.1"
#Option "Clone" "true"
##Option "MonitorLayout" "CRT,LFP"
#Option "FlipPrimary" "true"
##Option "DevicePresence" "true"
#Option "Display" "BIOS"
EndSectionSection "Monitor"
Identifier "Generic Monitor"
HorizSync 30-60
VertRefresh 50-75
Option "DPMS"
EndSectionSection "Screen"
Identifier "Default Screen"
Device "Generic Video Card"
Monitor "Generic Monitor"
DefaultDepth 16
SubSection "Display"
Depth 1
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSectionSection "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "USB Mouse"
EndSectionSection "DRI"
Mode 0666
EndSectionSection "Extensions"
# Option "Composite" "Enable"
# Option "RENDER" "Enable"
# Option "DAMAGE" "true"
EndSection - NIC:
modprobe 8139cp
modprobe 8139tooOne of them works. I'm not sure.
- Modem:
Works fine with Smartlink slmoden. I noticed that keeping the power supply plugged in while dialing might lead to a freeze. I'm yet to verify this. - 3D:
Works fine. - Acpi/Suspend/Resume/Battery:
Battery status works fine. Suspend seems working but it won't power on the monitor when you resume. - IRDA:
Works fine. I can't remember the details as I used it once! - Wireless:
You need acerhkmodprobe acerhk poll=0 autowlan=1
The wireless chip is a prism chip. Load hostap.
modprobe hostap_pci
- Touchpad:
The synaptics touch pad works. You need evdev loadedmodprobe evdev
And you need t install the synaptics driver
apt-get install xserver-xorg-input-synaptics
I always had problems with that touchpad. It's jumpy and sometimes you find it selecting text randomely while you are moving the mouse cursor. Even worse, It can even click random clicks. Sticky keyboard was a pain. The keyboard eating letters is also a pain especially when you are coding ;-)
I noticed a lot of similar lines in /var/log/messages:
kernel: psmouse.c: TouchPad at isa0060/serio4/input0 lost sync atUp to 2.6.15, You can pass ec_intr=0 to the kernel and it'll be a bit better it won't resolve it completely. This option doesn't work as expected in 2.6.16 and the situation became worse. Random mouse freeze and you have to switch to a virtual console and then back to X and sometimes the touchpad speed increases and the solution is the same. Switch to a virtual console and then back. I discovered that passing "i8042.nomux" at boot time fixes everything. I'm not sure about the touchpad speed increase issue but I don't care as long as it's working fine.
- Kernel parameters:
lapic ec_intr=0 i8042.nomux
Mutt + Broken HTML emails.
I always had a problem with Arabic HTML emails. They don't specify the encoding.
I'm using mutt (Yes!) as my mail reader. HTML emails can be handled using lynx and a mailcap entry like this:
text/html; /usr/bin/lynx -dump '%s'; copiousoutput; description=HTML Text; nametemplate=%s.html
The problem is that the HTML fragment in the email doesnt specify the encoding (or whatever the reason is). lynx always assumed an incorrect encoding (iso/cp1252 or whatever). I have no problem reading such emails by viewing the plain text part but It breaks when I reply to people.
The solution is to simply force lynx to use utf8
text/html; /usr/bin/lynx -assume_charset=utf8 -dump '%s'; copiousoutput; description=HTML Text; nametemplate=%s.html
Happy mutting!
How to bypass a blocked pop3 port using SSH.
So, You are behind a firewall blocking the pop3 port ? No worries
Here's part of my fetchmailrc:
poll foolab.org with proto POP3
user 'XXX' there with password 'YYY' is 'ZZZ' here options ssl fetchall no rewrite
I'll simply change it to poll from localhost:
poll localhost with proto POP3 port 1500
user 'XXX' there with password 'YYY' is 'ZZZ' here options ssl fetchall no rewrite
Now we need SSH to forward between my laptop port 1500 and foolab.org 110
Here's the magic!
ssh -L 1500:localhost:110 foolab.org
localhost is being resolved ON THE SERVER SIDE.
Now the only problem is that SSL will not like it and you'll get something like:
4230:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:567:
fetchmail: SSL connection failed.
I've just removed the ssl option and it's working fine now (Probably it's not needed anyway since fetchmail will negotiate TLS using the "STARTTLS" command) but anyway, we are tunneling over SSH so it's not needed.
Arabic status revisited.
Arabic is somehow a complex language when it comes to computer processing, It requires certain capabilities from the rendering and processing engines.
I'd consider 2 things to be the most important things, BiDi and Shaping, While Shaping deals with the different forms of a letter according to its position in the word, BiDi deals with the arrangement of embedded Arabic and English words.
Most of the Arabic letters change their shape according to their position in the word, Thus we have Initial, Medial, Final and Isolated.
Take the Letter "LAM" for example "0x644", It has 4 shapes: 0xFEDD, 0xFEDF, 0xFEE0 and 0xFEDE. Some letters can have 3 or even less.
Theoretically speaking, We have 28 letters although the unicode standard defines more shapes in the Arabic range, Not sure whether they are used for Farsi also or not as we have some letters there for Farsi and I guess Other languages too.
It also defines presentation forms, Those presentation forms describe how the letter will look like depending on the position in the word.
The BiDi standard is described in the Unicode Standard Annex #9, It handles embedding Arabic and other right to left languages with the left to write languages "English for example".The rendering backend must also be able to resolve this situation and reorder the test sigments to obtain a visually correct order.
The rendering backend should be aware of these to be able to display Arabic correctly.
Arabic letters are stored in text files in the Isolated form, The rendering backend must then "interpret" the letters and join them correctly otherwise we'll have non-joined letters.
Now there is another thing which does require the rendering system to take care, Diacritics or what we call in arabic "tashkeel", Or the accents ;-)
I'll be basing all my points on Gtk/Pango because I'm familiar with them, Pango is a text layout and rendering engine Thanks to pango, We wouldn't have had any Arabic in Gnome ;-)
Now I'd like to say a few words regarding diacritics since I won't be talking about them again "although this is more of a cultural issue":
I was talking a few month ago with a cool British guy, He was trying t teach himself Arabic by the means of flash cards. But he discovered that the letters - even in the arabeyes wordlist - are NOT accented so he'll have problems pronouncing it. I don't write the accents myself so I can't blame anyone.
So I can say that we have the input, The output and some tools for the Arabic user, The input would be mainly the keyboard although it can be an OCR application or a speech recognition application, The output would mainly be the monitor, a text to speech application or A printer. The tools are mainly The applications we use daily.
A GNU/Linux system is composed of several components working well with each others.
The desktop is composed of the X server or the X window system, Which the layer responsible for interfacing with the hardware, It gives you a plain desktop, On which the Desktop Environments start to put the background, The icons, A panel, ..........
You open applications "windows" the position of these windows is controlled by the "window manager".
With an open system like GNU/Linux you'll find yourself having multiple window managers and multiple desktop environments, Though you can assemble your own desktop from several components.
The most popular desktop environments are KDE and GNOME.
KDE is written in C++ using the Qt toolkit, While GNOME is written in C using the GTK+ toolkit.
A few years ago we the situation of Arabic was really bad, We had only Arabic on the console, A single closed source text editor called axmedit "It was blue colored :-)", It was written in Motif "An older GUI toolkit", Mozilla Arabic support was a yet to happen, Konqueror had a not so good support.
Sometime later GTK+ hit version 2.0 and QT hit 3.0, Both brought good Arabic support. Some small problems remained but they are almost solved by now. One of them was GTK+ not supporting the letter accents, This remained a problem for a long time but it has been solved.
I'll be talking mainly about GTK+ since I'm more familiar with it.
As we said before we must have a rendering backend, The rendering backend'll be drawing strings on the toolkit widget, It might be incorporated in the toolkit like Qt, Or separated in another library like Gtk+, Which is using "pango" as the rendering backend. Since there is the X layer below the GUI toolkits, Then X provides functions to draw strings too, Actually I'll be addressing this later.
now GTK+ is using UTF-8 internally to represent the strings, UTF-8 is one of the Unicode Transformation Formats, UTF-8 is a multi-byte encoding.
Now let's try to explain this.
How do you map a certain character stored in a file to the corresponding character in the font ? The characters are stored in files, Since a character is a byte, And a byte is 8 bits, So we can't have more than 2^8 = 256 characters which might be enough to represent a language or two at the same time but are not enough to represent all the languages at the same time, Thus we had something called the encoding. We'll have a font with the Arabic letters, Another one with the Hebrew letters, A third one with Greek letters and so on. We can only use 1 font at a time to represent the character, This is simply, the encoding.
With the unicode standard we now have more space to represent all the languages with one encoding.
UTF-8 is one of the unicode representations, A character might be 1 byte, 2, 3 or 4 bytes. Arabic falls into the 2 bytes segment "0x06XX".
So now we have toolkits capable of rendering Arabic and apply bidi and shaping, Not all the toolkits can do this, But I'm talking about the major two.
The bidi might be very complex when we have an arabic string in which we embed an english string and embed an arabic string into the english string, Here comes the Unicode control characters, They are used to aid the rendering backend to resolve the bidi correctly, Though we have no keys on the keyboard to input them, But GTK+ text widgets has a right click context menu to allow the input of them, AFAIK This is not present in Qt ATM.
I think this is a fast overview abut the current state regarding the desktop, Let's try to talk about the problems.
1) No standard on how to normalize Arabic text, Stripping the diacritics or the kashida "Arabic tatweel" (0x640) is possible, But what do you do when you are searching some fully accented text for a partially accented text ? How do you normalize letters like 0x622 and 0x623 ? Do you convert them to 0x627 ? Or what ? It becomes more complicated when you consider the huge amount of text throughout the web, If the search engine doesn't take normalization into account, You'll miss a lot of results unless you search with each form of the letter. It's even problematic when it comes to text processing and even more when you think about database servers like MySQL, It can be done using a fuzzy search but a fuzzy search can not really be optimized, Think about wikis creating wiki links, How would a wiki engine know that 2 words starting with 2 forms of the letter alef are the same ?
2) Letter accents, They are not used thus making non-arabic native speakers unable to pronounce the words correctly but this is not really a problem with the software ;-)
3) The lam-alef problem, http://www.foolab.org/node/91
Lam 0x644 and alef 0x627/0x623/0x625 are combined to form a third glyph, It does not have a shape in the standard unicode Arabic range "You can obtain these glyphs via Shift+T, Shift+G, Shift+B". They are defined as presentation forms which is not bad by itself, The problem is that a few years ago, The XFree guys refused to bind the 1 keyboard key to 2 letters. As a workaround, Someone used the presentation forms in the keyboard layout, This is not bad by itself but iconv complains about those characters producing an error "iconv: illegal input sequence at position XX" whenever you try to convert them to say the windows 1256 encoding, No one tried talking to the xorg guys yet.
4) Lately, We discovered that some keys produce different characters than what they are supposed to "the key with the 2 curly braves for example", Some sweet guy created a patch but no one bother to submit it yet.
5) Automatic translation, I have really no idea about that, I know that google has a beta Arabic <-> English beta translation service but never had enough time to try it.
6) OCR and voice recognition, Same as above, But with an additional point that is no Arabic website is following the accessibility guides, So I'm not really sure. A member of the Arabeyes community is working on an application called "Siragi" which is supposed to be an Arabic OCR but It's still in the early stages "He said that gocr won't work for Arabic", I have no experience with such things so I can't tell whether he's correct or not.
7) We have no good free "as in free speech" font till now, the KACST fonts are fine as well as the Arabeyes "khotot" project but the English glyphs in those fonts are bad and sometimes the english to arabic glyph sizes are non proportional, We might get a good font by merging them with the bitstream vera font for example but I don't know anyone out there with good knowledge on how to do this.
8) No central library implementing shaping thus each application has to implement its own shaping algorithm, The CVS version of fribidi has the shaping code but it's not released yet, I personally tried having a look and see what's missing but I failed, I felt that the code is a bit over engineered, The API itself is not really a friendly API. Behdad sent a call for API proposal but I didn't know about that until it was implemented ;-)
The absence of a fribidi release means that any application not using gtk or qt must be manually patched to support Arabic and we'll end up having a separate shaping code embedded in each application making it hard to fix whenever we find a bug unlike the case when we have a library implementing it. Beside, Patching each application is tedious.
Pango has its own shaping algorithm as well as Qt, Open Office, Mozilla.
9) Even when fribidi is released, We must patch the applications manually, I had to do this for 2 applications in 1 week, I then thought: What if the shaping code is in the X library itself ? Or in the Xft library ? The problem is that I'm not sure this is the best approach and that pango/qt/open office/mozilla and any application implementing its bidi will break. This is really bad to do, It's like cutting your hand to get rid of the pain in your finger.
10) Printing plain text files from the command line is broken, A guy from Arabeyes tried to fix it, He wrote a patch already but he hit a problem where he was having problems with postscript fonts, No one was able to help him as we don't have postscript knowledge, The project is dead.
11) Copy and paste is generally working fine between all the gtk applications including firefox, It needs farther testing.
It's also broken between KDE applications and Gtk applications "especially konqueror and Open Office".
12) The spell checker: At this moment, We have 3 aspell dictionaries, The first 2 are produced using the Tim Buckwalter http://www.qamus.org/
One of them is being developed by google but not yet released, The other one is by Dan of hspell "The Hebrew spell checker", Both of them didn't know about the existence of the other and probably they'll merge.
The third one is being developed by me but not based on the Buckwalter data and it's yet small.
I'm not really going to state why I feel they are going in the wrong direction.
Another problem is that when Dan loaded the spell checker data in Open Office, It took 200 MBs of RAM which is really huge. I didn't test it myself and probably the guys from google didn't. Probably my list won't take much RAM as it's still huge, I don't know yet whether they used myspell or hunspell as I've just knew this today, I also have no idea about the diacritics.
13) Some applications like gedit "The standard GNOME editor" hardcode the supported language in the application, Now we have an arabic aspell dictionary but we can't use it with gedit, I wrote a patch to add Arabic (Egypt), It's now in the CVS but we need to wait for the new stable GNOME release to use it.
I don't know yet about other applications behaving like this, I didn't test much.
14) Some applications like gaim don't have a way to switch the spell checker language, I'm not really sure how it's detecting the language, Maybe from the locale. But I didn't have a look at the code yet. I have an en_US locale but sometimes I like to type in Arabic, It won't be spell checked. Most of the GUI applications are using aspell as the backend. AFAICT, Aspell can't handle more than one language at a time "not really sure".
15) Software don't get a lot of testing when it comes to Arabic support and those testing or patching from the Arabic community don't really use Arabic extensively.
16) Translation, I think that the process has been stalled. I don't really know why although I have a theory.
17) Gtk had an API to enforce tha direction of the text in the text editing widget, They removed this call and are auto-aligning the text now, Sometimes editing HTML pages for example becomes annoying when the direction is set to LTR because the tags are strong characters when the content itself is Arabic.
18) mozilla problems with bidi, I'm not a mozilla user myself. So, The best thing I can do
is to point you to this page which lists some mozilla bugs "among other bugs" http://wiki.arabeyes.org/OpenBugs
19) mozilla problems with joining text: Mozilla has been working fine with accented letters since the introduction of pango support, However sometimes it fails with some websites.
20) arabic in the terminal
We have 2 options:
* mlterm "Multilingual terminal". It can render Arabic "among other languages" fine.
* BiCon from Arabeyes, It should offer Arabic support on any terminal emulator, Didn't try it.
21) Quran + Unicode: I'm no expert in this subject but it looks like the Quran can't be fully encoded using Unicode, A few discussions on Arabeyes took place but I don't know what's the status.
22) A cultural issue, Not much Arabic content is available, And the available content is mainly Islamic or old books. They are either locked somehow like: alwarraq.com or available as scanned PDF files which is not indexable or search-able.
In my opinion this is a quick overview about the Arabic language in general based on my poor experience!
Don't fear the socket: 1, The socket.
This is the first of a network programming tutorials.
I hate such theoretical boring things, So I'll just copy and paste whatever I think'd be useful.
What is a socket ? A socket is an end point for communications, A socket is the corner stone of networking. You can consider it as a method of communication between two processes, Those two processes can be either running on the same computer on two different computers.
A socket is also an identifier that the application can use to identify that end point.
Each socket must have a type, The type defines the communication semantics, IT can be:
- SOCK_STREAM: full duplex reliable connection, It insures that data is not lost or duplicated, TCP connections are SOCK_STREAM type.
- SOCK_DGRAM: Used to send datagrams, Unreliable messages and it's connection-less, UDP is of SOCK_DGRAM type.
We have more types but you can RTFM to know more, I don't really care about them now.
Each socket must also have a protocol, It can be:
- PF_LOCAL: Local interprocess communication, Also called PF_UNIX. It's used as a method of communication between processes on the same machine. The connection is represented by a file that exists in your file system.
- PF_INET: Used to communicate between processes running on different computers.\ using the Internet Protocol "IP protocol", It can also be used with processes on the same machines, Especially for crappy operating systems like the Microsoft DOS extension called windows because they don't have PF_LOCAL.
Also probably more but that's what I'm going to list.
You can use the sockets to mainly create 2 things:
- A server, Creates a socket, Binds it to a local address, Listens for incoming connections and accepts or rejects them.
- A client, Creates a socket, Connects to a server.
Easily deploy firefox with bundled extensions.
Ok, Here's another one.
I had to bundle firefox as part of a solution we are providing.
We have a bootable CD I've buit myself.
The CD'll install all the software we want to bundle so no need for the firefox installer.
We wanted to add the Arabic translation XPI with the locale switcher extension.
I thought about adding the .mozilla directory to the /etc/skel. Unfortunately, This didn't work for me as firefox is hardcoding the path for the chromes. So if I copy it to another home directory it doesn't work.
1st get the firefox tarball from mozilla.org "The tarball not the installer" and unpack it.
2nd cd to the directory where you unpacked it, install the extensions and customize the default profile.
3rd re-pack the tarball again and you have it!
OK. How to achieve the 2nd step ? Firefox offers a command line switch "--install-global-extension" and another one "--install-global-theme"
So, for every extension you want to bundle, Just do:
./firefox --install-global-extension /full/path/of/the/XPI
And that's it.
Now let's customize the default profile:
You need to run firefox, Adjust what you need. then copy
~/.mozilla/firefox/XXXXXXXX.default/prefs.js
where "XXXXXXXX" is a random string generated by firefox.
to
firefox/defaults/profile/
before re-packing the tarball.
And that's it!
Timidity, 1.2.3!
So you need to listen to midi, eh ?
I've done this under Debian testing "sarge" at thet time
apt-get install timidity
Now get the timidity.cfg from Here. That's my home server, So it might be slow, down, Or anything. Check later if you can't get it now.
Under debian this file is placed in /etc/timidity/
Next, You'll need GUS patches, Get timidity.tar.gz from here.
After downloading:
cd /where/you/downloaded/the/file/
tar -zxvf timidity.tar.gz -C /usr/local/
now fire timidity:
timidity -in foo.mid
Enjoy ;-)
postfix + spamassassin the simplest way.
So, I had to do it today, Why was I afraid ? Don't ask, No answer, I don't know.
Now for the dirty work.
As usual: I'm using Debian woody.
# apt-get install spamassassin
# emacs /etc/default/spamassassin
# /etc/default/spamd.conf
# Duncan Findlay
# November 2001
# WARNING read README.spamd before using. THERE ARE SECURITY RISKS!
# Change to one to enable spamd
ENABLED=1
# Options
# See man spamd for possible options. The -d option is automatically added.
OPTIONS="-x"
# was -c only
# emacs /etc/spamassassin/local.cf
# Add your own customisations to this file. See 'man Mail::SpamAssassin::Conf'
# for details of what can be tweaked.
#
rewrite_subject 1
report_safe 0
# emacs /etc/procmailrc
#LOGFILE=/tmp/procmail.log
#VERBOSE=on # Debugging
:0fw
* < 256000
| spamc
# /etc/init.d/spamasassin restart
run rcconf and ensure that spamassassin is checked.
Done.
Installing Debian on A Toshiba Satellite A10-S503
When I installed Debian, I choose testing due to the hardware support, I Installed using the new Debian installer "Beta 4" at that time. Booting and installation went fine with no problems.
Below you'll find more details.
[b]Hardware configuration:[/b]
[list]
[*] Mobile Intel Celeron 2.2
[*] 256 MB RAM
[*] 30 GB HDD
[*] External 3.5" 1.44 MB floppy
[*] CD-ROM/DVD-ROM
[/list]
[b][i]lspci[/i] output:[/b]
[code]
0000:00:00.0 Host bridge: Intel Corp. 82852/855GM Host Bridge (rev 01)
0000:00:00.1 System peripheral: Intel Corp. 855GM/GME GMCH Memory I/O Control Registers (rev 01)
0000:00:00.3 System peripheral: Intel Corp. 855GM/GME GMCH Configuration Process Registers (rev 01)
0000:00:02.0 VGA compatible controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 01)
0000:00:02.1 Display controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 01)
0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 03)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 83)
0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 03)
0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
0000:01:08.0 Ethernet controller: Intel Corp. 82801BD PRO/100 VE (MOB) Ethernet Controller (rev 83)
0000:01:0b.0 CardBus bridge: Toshiba America Info Systems ToPIC95 PCI to Cardbus Bridge with ZV Support (rev 33)
[/code]
[b][i]dmesg[/i] output:[/b]
[code]
Linux version 2.6.7-1-686 (dilinger@toaster.hq.voxel.net) (gcc version 3.3.4 (Debian 1:3.3.4-2)) #1 Thu Jul 8 05:36:53 EDT 2004
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 - 00000000000eee00 (reserved)
BIOS-e820: 00000000000eee00 - 00000000000ef000 (ACPI NVS)
BIOS-e820: 00000000000ef000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000000ef40000 (usable)
BIOS-e820: 000000000ef40000 - 000000000ef50000 (ACPI data)
BIOS-e820: 000000000ef50000 - 000000000f000000 (reserved)
BIOS-e820: 00000000fec10000 - 00000000fec20000 (reserved)
BIOS-e820: 00000000feda0000 - 00000000fedc0000 (reserved)
BIOS-e820: 00000000ffb80000 - 00000000ffc00000 (reserved)
BIOS-e820: 00000000fff00000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
239MB LOWMEM available.
On node 0 totalpages: 61248
DMA zone: 4096 pages, LIFO batch:1
Normal zone: 57152 pages, LIFO batch:13
HighMem zone: 0 pages, LIFO batch:1
DMI 2.3 present.
ACPI: RSDP (v000 TOSHIB ) @ 0x000f0180
ACPI: RSDT (v001 TOSHIB 750 0x00970814 TASM 0x04010000) @ 0x0ef40000
ACPI: FADT (v002 TOSHIB 750 0x00970814 TASM 0x04010000) @ 0x0ef40058
ACPI: DBGP (v001 TOSHIB 750 0x00970814 TASM 0x04010000) @ 0x0ef400dc
ACPI: BOOT (v001 TOSHIB 750 0x00970814 TASM 0x04010000) @ 0x0ef40030
ACPI: DSDT (v001 TOSHIB AFCF7 0x20030326 MSFT 0x0100000e) @ 0x00000000
ACPI: PM-Timer IO Port: 0xd808
Built 1 zonelists
Kernel command line: BOOT_IMAGE=Linux ro root=302
No local APIC present or hardware disabled
Initializing CPU#0
PID hash table entries: 1024 (order 10: 8192 bytes)
Detected 2194.820 MHz processor.
Using pmtmr for high-res timesource
Console: colour VGA+ 80x25
Memory: 235112k/244992k available (1515k kernel code, 9188k reserved, 659k data, 148k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay loop... 4292.60 BogoMIPS
Security Scaffold v1.0.0 initialized
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: After generic identify, caps: bfebf9ff 00000000 00000000 00000000
CPU: After vendor identify, caps: bfebf9ff 00000000 00000000 00000000
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 256K
CPU: After all inits, caps: bfebf9ff 00000000 00000000 00000080
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU0: Intel P4/Xeon Extended MCE MSRs (12) available
CPU0: Thermal monitoring enabled
CPU: Intel Mobile Intel(R) Celeron(R) CPU 2.20GHz stepping 09
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
checking if image is initramfs...it isn't (ungzip failed); looks like an initrd
Freeing initrd memory: 4676k freed
NET: Registered protocol family 16
PCI: PCI BIOS revision 2.10 entry at 0xfd317, last bus=3
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
ACPI: Subsystem revision 20040326
ACPI: IRQ9 SCI: Level Trigger.
ACPI: Interpreter enabled
ACPI: Using PIC for interrupt routing
ACPI: PCI Interrupt Link [LNKA] (IRQs *10)
ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *11)
ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 *11)
ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 *11)
ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 *11)
ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 *11)
ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 *11)
ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 *11)
ACPI: PCI Root Bridge [PCI0] (00:00)
PCI: Probing PCI hardware (bus 00)
PCI: Ignoring BAR0-3 of IDE controller 0000:00:1f.1
PCI: Transparent bridge - 0000:00:1e.0
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCIB._PRT]
ACPI: Power Resource [PFAN] (off)
Linux Plug and Play Support v0.97 (c) Adam Belay
PnPBIOS: Scanning system for PnP BIOS support...
PnPBIOS: Found PnP BIOS installation structure at 0xc00f0410
PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0x9138, dseg 0x0
PnPBIOS: 12 nodes reported by PnP BIOS; 12 recorded by driver
ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 10
ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 11
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 11
ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 11
ACPI: PCI Interrupt Link [LNKE] enabled at IRQ 11
ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11
PCI: Using ACPI for IRQ routing
Simple Boot Flag at 0x7c set to 0x1
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x0
Initializing Cryptographic API
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Serial: 8250/16550 driver $Revision: 1.90 $ 48 ports, IRQ sharing enabled
PCI: Enabling device 0000:00:1f.6 (0000 -> 0001)
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
input: AT Translated Set 2 keyboard on isa0060/serio0
NET: Registered protocol family 2
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
NET: Registered protocol family 8
NET: Registered protocol family 20
ACPI: (supports S0 S3 S4 S5)
RAMDISK: cramfs filesystem found at block 0
RAMDISK: Loading 4676 blocks [1 disk] into ram disk... done.
VFS: Mounted root (cramfs filesystem) readonly.
Freeing unused kernel memory: 148k freed
vesafb: probe of vesafb0 failed with error -6
NET: Registered protocol family 1
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
ICH4: IDE controller at PCI slot 0000:00:1f.1
ICH4: chipset revision 3
ICH4: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xbfa0-0xbfa7, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xbfa8-0xbfaf, BIOS settings: hdc:DMA, hdd:pio
hda: TOSHIBA MK3021GAS, ATA DISK drive
Using anticipatory io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hdc: TOSHIBA DVD-ROM SD-C2612, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: 58605120 sectors (30005 MB), CHS=58140/16/63, UDMA(100)
/dev/ide/host0/bus0/target0/lun0: p1 p2 p3 p4 < p5 p6 p7 >
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Adding 554200k swap on /dev/hda7. Priority:-1 extents:1
EXT3 FS on hda2, internal journal
Real Time Clock Driver v1.12
SCSI subsystem initialized
hdc: ATAPI 24X DVD-ROM drive, 192kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.20
PCI: Enabling device 0000:00:1f.5 (0000 -> 0003)
PCI: Setting latency timer of device 0000:00:1f.5 to 64
intel8x0_measure_ac97_clock: measured 48931 usecs
intel8x0: clocking to 48000
apm: BIOS version 1.2 Flags 0x02 (Driver version 1.16ac)
apm: overridden by ACPI.
input: PC Speaker
mice: PS/2 mouse device common for all mice
input: PS/2 Generic Mouse on isa0060/serio1
toshiba_acpi: Toshiba Laptop ACPI Extras version 0.18
toshiba_acpi: HCI method: \_SB_.VALD.GHCI
eepro100.c:v1.09j-t 9/29/99 Donald Becker http://www.scyld.com/network/eepro100.html
eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin and others
ts: Compaq touchscreen protocol output
eth0: OEM i82557/i82558 10/100 Ethernet, 00:08:0D:EE:2D:66, IRQ 11.
Board assembly 000000-000, Physical connectors present: RJ45
Primary interface chip i82555 PHY #1.
General self-test: passed.
Serial sub-system self-test: passed.
Internal registers self-test: passed.
ROM checksum self-test: passed (0x04f4518b).
Linux agpgart interface v0.100 (c) Dave Jones
agpgart: Detected an Intel 855 Chipset.
agpgart: Maximum main memory to use for agp memory: 189M
agpgart: Detected 16252K stolen memory.
agpgart: AGP aperture is 128M @ 0xd8000000
[drm] Initialized i830 1.3.2 20021108 on minor 0: Intel Corp. 82852/855GM Integrated Graphics Device
[drm] Initialized i830 1.3.2 20021108 on minor 1: Intel Corp. 82852/855GM Integrated Graphics Device (#2)
Capability LSM initialized
device-mapper: 4.1.0-ioctl (2003-12-10) initialised: dm@uk.sistina.com
FAT: bogus number of reserved sectors
VFS: Can't find a valid FAT filesystem on dev hda1.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda3, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS on hda5, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
usbcore: registered new driver usbfs
usbcore: registered new driver hub
USB Universal Host Controller Interface driver v2.2
uhci_hcd 0000:00:1d.0: Intel Corp. 82801DB (ICH4) USB UHCI #1
PCI: Setting latency timer of device 0000:00:1d.0 to 64
uhci_hcd 0000:00:1d.0: irq 10, io base 0000cfe0
uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
PCI: Enabling device 0000:00:1d.7 (0000 -> 0002)
ehci_hcd 0000:00:1d.7: Intel Corp. 82801DB (ICH4) USB2 EHCI Controller
PCI: Setting latency timer of device 0000:00:1d.7 to 64
ehci_hcd 0000:00:1d.7: irq 11, pci mem cf98c000
ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 2
PCI: cache line size of 128 is not supported by device 0000:00:1d.7
ehci_hcd 0000:00:1d.7: USB 2.0 enabled, EHCI 1.00, driver 2004-May-10
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 6 ports detected
cpci_hotplug: CompactPCI Hot Plug Core version: 0.2
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
pciehp: acpi_pciehprm:\_SB_.PCI0 evaluate _BBN fail=0x5
pciehp: acpi_pciehprm:get_device PCI ROOT HID fail=0x5
shpchp: acpi_shpchprm:\_SB_.PCI0 evaluate _BBN fail=0x5
shpchp: acpi_shpchprm:get_device PCI ROOT HID fail=0x5
hw_random: RNG not detected
PCI: Setting latency timer of device 0000:00:1f.6 to 64
e100: Intel(R) PRO/100 Network Driver, 3.0.18
e100: Copyright(c) 1999-2004 Intel Corporation
Linux Kernel Card Services
options: [pci] [cardbus] [pm]
PCI: Enabling device 0000:01:0b.0 (0000 -> 0002)
Yenta: CardBus bridge found at 0000:01:0b.0 [1179:0001]
Yenta: ISA IRQ mask 0x00b8, PCI irq 11
Socket status: 30000007
[/code]
[b]Sound:[/b]
[code]
modprobe snd-intel8x0
[/code]
[b]X:[/b]
[code]
# XF86Config-4 (XFree86 X Window System server configuration file)
#
# This file was 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.)
#
# This file is automatically updated on xserver-xfree86 package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xfree86
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands as root:
#
# cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
# md5sum /etc/X11/XF86Config-4 > /var/lib/xfree86/XF86Config-4.md5sum
# dpkg-reconfigure xserver-xfree86
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/75dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/lib/X11/fonts/Type1"
FontPath "/usr/lib/X11/fonts/CID"
FontPath "/usr/lib/X11/fonts/Speedo"
FontPath "/usr/lib/X11/fonts/100dpi"
FontPath "/usr/lib/X11/fonts/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/TrueType"
FontPath "/usr/share/fonts/arabeyes"
FontPath "/usr/share/fonts/truetype/commercial/"
EndSection
Section "Module"
# Load "xtt"
Load "GLcore"
Load "bitmap"
# Load "dbe"
# Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
# Load "int10"
# Load "record"
# Load "speedo"
Load "type1"
# Load "vbe"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc104"
Option "XkbLayout" "us,ar"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/psaux"
Option "Protocol" "PS/2"
Option "Emulate3Buttons" "true"
EndSection
Section "Device"
Identifier "Generic Video Card"
Driver "i810"
## Option "SWCursor" "true"
# BusID "PCI:0:0:0"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
HorizSync 28-48
VertRefresh 43-72
Option "DPMS"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Generic Video Card"
Monitor "Generic Monitor"
DefaultDepth 16
SubSection "Display"
Depth 1
Modes "800x600"
EndSubSection
SubSection "Display"
Depth 4
Modes "800x600"
EndSubSection
SubSection "Display"
Depth 8
Modes "800x600"
EndSubSection
SubSection "Display"
Depth 15
Modes "800x600"
EndSubSection
SubSection "Display"
Depth 16
Modes "800x600"
EndSubSection
SubSection "Display"
Depth 24
Modes "800x600"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection
Section "DRI"
Mode 0666
EndSection
[/code]
[b]NIC:[/b]
[code]
modprobe e100
[/code]
[b]Modem:[/b]
install slmodem from: http://www.smlink.com/main/index1.php?ln=en&main_id=40
You'll have to install the kernel-source package corresponding to your running kernel.
I have kernel-image-2.6.7-1-686, so:
[code]
apt-get install kernel-source-2.6.7
cd /usr/src/
tar -jxvf kernel-source-2.6.7.tar.bz2
cd kernel-source-2.6.7
cp /boot/config-2.6.7-1-686 .config
cat Makefile | sed -e 's/EXTRAVERSION =/EXTRAVERSION = -1-686/' > Makefile- && mv Makefile- Makefile
ln -sf /lib/modules/2.6.7-1-686/build /usr/src/kernel-source-2.6.7
make modules_prepare
[/code]
Then install the slmodem driver:
[code]
tar -zxvf slmodem-x.x.x.tar.gz
cd slmodem slmodem-x.x.x
make
make install
cp scripts/debian/slmodemd /etc/init.d
modprobe slamr
update-rc.d slmodemd defaults
/etc/init.d/slmodemd start
ln -sf /dev/ttySL0 /dev/modem
[/code]
[b]3D[/b]
3D works fine, However I loose the acceleration when I resume, You'll have to kill the X and restart it.
[code]
echo 3 > /proc/acpi/sleep
[/code]
Using toshiba_acpi
[code]
modprobe toshiba_acpi
echo "brightness: [0-7] > /proc/acpi/toshiba/lcd
echo "running:[0-1]" > /proc/acpi/toshiba/fan
[/code]
[b]Suspend/Resume:[/b]
Using [i]acpi[/i] It works fine, However I have to stop the hotplug otherwise it won't resume. Something between the USB/Hotplug/Resume.