Friday, February 16, 2007

Linutop

linutop
Linutop is a Linux-based diskless computer. It offers a completely silent, low-power operation in an extremely small packagen.

Lintop is ideal for Internet usage and office work.





Specifications:
- AMD Geode
- 512 MB ROM
- 256 MB RAM
- 4x USB 2.0 ports
- audio in & out
- 100baseT Ethernetlinutop linux
- VGA output
- Size: 9.3 x 2.7 x 15 cm
- Weight: 280 gr
Expandability:
- USB2 Wifi connection, Flat panel

Software:
- Firefox Web browser
- Gaim instant messenger
- Totem media player
- AbiWord Word Processor
- Evince PDF reader

Wednesday, February 14, 2007

Linux 2.6.20 changelog

Linux 2 6 20

Contents

1. Short overview (for news sites, etc)
2. Important things (AKA: ''the cool stuff'')
1. Sony Playstation 3 support
2. Virtualization support through KVM
3. Paravirtualization support for i386
4. Relocatable kernel support for x86
5. Fault injection
6. IO Accounting
7. Relative atime support
8. UDP-Lite support
9. Generic HID layer
10. Sleazy FPU optimization
11. Use 'regparm' in x86-32
12. round_jiffies() infrastructure
13. New drivers
3. Various core changes
4. Architecture-specific changes
5. Filesystems
6. Networking
7. Various subsystems
1. Software suspend
2. Crypto
3. CPUFREQ
4. DM
5. SELinux
8. Drivers
1. Graphics
2. Sound
3. V4L/DVB
4. libata
5. SCSI
6. Input drivers
7. Networking devices
8. USB
9. Hwmon
10. Watchdog
11. I2C
12. PCMCIA
13. MMC
14. IPMI
15. RTC
16. Firewire
17. Various

Short overview (for news sites, etc)

With 2.6.20, Linux joins the virtualization trend. This release adds two virtualization implementations: A full-virtualization implementation that uses Intel/AMD hardware virtualization capabilities called KVM (http://kvm.sourceforge.net) and a paravirtualization implementation (http://lwn.net/Articles/194543) that can be used by different hypervisors (Rusty's lguest; Xen and VMWare in the future, etc). This release also adds initial Sony Playstation 3 support, a fault injection debugging feature (http://lwn.net/Articles/209257), UDP-lite support, better per-process IO accounting, relative atime, support for using swap files for suspend users, relocatable x86 kernel support for kdump users, small microoptimizations in x86 (sleazy FPU, regparm, support for the Processor Data Area, optimizations for the Core 2 platform), a generic HID layer, DEEPNAP power savings for PPC970, lockless radix-tree readside, shared pagetables for hugetbl, ARM support for the AT91 and iop13xx processors, full NAT for nf_conntrack and many other things.

Important things (AKA: ''the cool stuff'')

Sony Playstation 3 support

You may like the Wii or the 360 more, but only the PS3 is gaining official Linux support, written by Sony engineers. Note that the support at this time is incomplete (apparently enabling it will not boot on a stock PS3) and it doesn't support the devices included like the graphics card, etc.

Virtualization support through KVM

KVM (project page) adds a driver for Intel's and AMD's hardware virtualization extensions to the x86 architecture (KVM will not work in CPUs without virtualization capabilities). See the Virtualization wiki for more information about virtualization in Linux

The driver adds a character device (/dev/kvm) that exposes the virtualization capabilities to userspace. Using this driver, a process can run a virtual machine (a "guest") in a fully virtualized PC containing its own virtual hard disks, network adapters, and display. Each virtual machine is a process on the host; a virtual CPU is a thread in that process. kill(1), nice(1), top(1) work as expected. In effect, the driver adds a third execution mode to the existing two: we now have kernel mode, user mode, and guest mode. Guest mode has its own address space mapping guest physical memory (which is accessible to user mode by mmap()ing /dev/kvm). Guest mode has no access to any I/O devices; any such access is intercepted and directed to user mode for emulation.

32 and 64 bits guests are supported (but not x86-64 guests on x86-32 hosts!). For i386 guests and hosts, both pae and non-pae paging modes are supported. SMP hosts and UP guests are supported, SMP guests aren't (support will be added in the future). You also can start multiple virtual machines in a host. Performance currently is non-stellar, it will be improved by a lot with the future inclusion of KVM paravirtualization KVM support.

The Windows install currently bluescreens due to a problem with the virtual APIC, a fix is being worked on and will be added in future releases. A temporary workaround is to use an existing image or install through qemu - Windows 64-bit does not work either

Paravirtualization support for i386

Paravirtualization is the act of running a guest operating system, under control of a host system, where the guest has been ported to a virtual architecture which is almost like the hardware it is actually running on. This technique allows full guest systems to be run in a relatively efficient manner (continue reading this LWN article for more information). This allows to link different hypervisors (lguest/lhype/rustyvisor implements a hypervisor in 6.000 lines; Xen and Vmware will be probably ported to this framework some day). There are limitations like no SMP support yet; this feature will evolve a lot with the time

Relocatable kernel support for x86

This feature (enabled with CONFIG_RELOCATABLE) isn't very noticeable for end-users but it's quite interesting from a kernel POV. Until now, it was a requirement that a i386 kernel was loaded at a fixed memory address in order to work, loading it in a different place wouldn't work. This feature allows to compile a kernel that can be loaded at different 4K-aligned addresses, but always below 1 GB, with no runtime overhead. Kdump users (a feature introduced in 2.6.13 that it triggers kexec in a kernel crash in order to boot a kernel that has been previously loaded at a 'empty' address, then runs that kernel, saves the memory where the crashed kernel was placed, dumps it in a file and continues booting the system) will benefit from this because until now the "rescue kernel" need to be compiled with different configuration options in order to make it bootable at a different address. With a relocatable kernel, the same kernel can be boot at different addresses.

Fault injection

This is a debugging feature that 'injects' failures in several layers in the kernel (kmalloc() failures, alloc_pages() failures, disk IO errors). By 'injecting' them on purpose, a developer can test how their code reacts to errors that are very difficult to find in the real world, where things does not fail so often. For example, a filesystem could not be handling correctly an error triggered by a broken hard disk. Because those error code paths are exercised very rarely the code may contain bugs that could be hit by an user some day. This feature 'injects' those errors on purpose so testing can find bugs much faster. Enabled by the following configuration options: CONFIG_FAILSLAB, CONFIG_PAGE_ALLOC and CONFIG_MAKE_REQUEST. If you also want to configure them via debugfs you must enable CONFIG_FAULT_INJECTION_DEBUG_FS. Here is a LWN article about it; and the documentation is here.

IO Accounting

The present per-task IO accounting isn't very useful. It simply counts the number of bytes passed into read() and write(). So if a process reads 1MB from an already-cached file, it is accused of having performed 1MB of I/O, which is 'wrong'. So this IO accounting implements per-process statistics of "storage I/O" (i.e.: I/O that _really_ does I/O on the storage device - Linux already had I/O storage statistics but it's not per-task). The data is reported through taskstats and procfs (/proc/$PID/io)
Relative atime support

'Atime' is the 'Access time' field of a file: When a process reads a file, its atime is updated. Disabling atime updates, with the 'noatime' mount flag, is probably the most used performance tweak that Linux administrators use: An active server is continually reading files, generating lots of atime updates, which translate to metadata updates that the filesystem must write to disk. And writing those updates can seriously damage your performance. Believe it or not, a busy server like kernel.org (vsftpd + apache workload) cut their load average in half just by mounting their filesystems with 'noatime'.

Relative atime ('relatime') only updates the atime if the previous atime is older than the mtime or ctime. It avoids a lot of metadata atime updates (but not all of them, obviously, there's 'noatime' for that). It's like noatime, but useful for applications like mutt that need to know when a file has been read since it was last modified. Currently only OCFS2 supports it. A corresponding patch against mount(8) is available here. , ocfs2 support

UDP-Lite support

Support for UDP-Lite (RFC 3828) for IPv4 and a extension for UDP-Lite over IPv6 is added in 2.6.20. Documentation and programming guide. UDP-Lite is a Standards-Track IETF transport protocol whose characteristic is a variable-length checksum. This has advantages for transport of multimedia (video, VoIP) over wireless networks, as partly damaged packets can still be fed into the codec instead of being discarded due to a failed checksum test

Generic HID layer

Currently the HID layer (Human Interface Device) does only work with USB devices. 2.6.20 turns the USB-oriented HID layer into a generic HID layer that can be used for any subsystem that needs it, like Bluetooth.

Sleazy FPU optimization

This is an x86-32 port of the x86-64 feature implemented in 2.6.19. It gives only a small improvement in FPU-intensive programs, but it's also a interesting optimization. Right now the kernel has a 100% lazy FPU behavior: after *every* context switch a trap is taken for the first FPU use to restore the FPU context lazily. This is great for applications that have very sporadic or no FPU use (since then you avoid doing the expensive save/restore all the time).

However, for very frequent FPU users every context switch takes an extra trap. This feature adds a simple heuristic to this code: After 5 consecutive context switches of FPU use, the lazy behavior is disabled and the context gets restored every context switch. If the application indeed uses the FPU, the trap is avoided (the chance of the 6th time slice using FPU after the previous 5 having done so are quite high obviously). After 256 switches, this is reset and lazy behavior is returned (until there are 5 consecutive switches again). The reason for this is to give the lazy behavior back to applications that use the FPU in bursts.

Use 'regparm' in x86-32

This is another not-relevant-to-users-yet-interesting-for-geeks feature, that has been available as an option for a while but it's default now. Since forever the x86 architecture has stored the function parameters in the stack. Modern architectures (PPC, SPARC, etc) use registers: It's much faster, since you don't need to do anything to bring the parameters back: The parameters are just there, in the register. The x86 world (including Linux) continued using stacks for parameter passing, for compatibility reasons with software, compilers, etc; they only added extensions to compilers to optionally tell the compiler to use parameters for parameter passing in a given function (usually involving the 'fastcall' keyword) for performance-critical paths.

Thanks to a GCC extension, the Linux kernel uses the '-mregparm=3' compile option, which means that as long as a function uses 3 or less arguments, GCC will automatically use registers to pass its parameters. And if you're wondering about x86-64, in that platforms using the registers has always been the default

round_jiffies() infrastructure

This is a example of the power savy trend ongoing in the Linux kernel. This feature Introduce the round_jiffies()/round_jiffies_relative() functions. These functions round a jiffies value to the next whole second. The target of this rounding is all the "we don't care exactly when" timers. By rounding these timers to whole seconds, all such timers will fire at the same time, rather than at various times spread out; with dynamic ticks these extra timers cause wakeups from deep sleep CPU sleep states and thus waste power

New drivers

Here are some important new drivers that have been added to the Linux tree:

* Networking:
o

Driver for the Atmel MACB on-chip Ethernet module
o

Tsi108/9 On Chip Ethernet device driver
o

Netxen 1G/10G Ethernet driver
* Hwmon
o

New Winbond W83793 hardware monitoring driver
o

New PC87427 hardware monitoring driver
o

New AMS hardware monitoring driver
* I2C
o

New ARM Versatile/Realview bus driver
o

New Atmel AT91 bus driver
o

New Philips PNX bus driver
* Watchdog:
o

NS pc87413-wdt Watchdog driver
o

MIPS RM9000 on-chip watchdog device driver
* Input
o

Add Philips UCB1400 touchscreen driver
o

Add driver for keyboard on AAED-2000 development board (ARM)
*

Graphics: Fbdev driver for IBM GXT4500P videocards
*

RTC: rtc-omap driver

Various core changes

* Memory management, block layer, etc
o

Make the readside of the radix-tree (used in the page-cache) RCU lockless
o

Shared page tables for hugetlb
o

New swap token algorithm. The old algorithm had a crude timeout parameter that was used to handover the token from one task to another. The new algorithm transfers the token to the tasks that are in need of the token. The urgency for the token is based on the number of times a task is required to swap-in pages. Accordingly, the priority of a task is incremented if it has been badly affected due to swap-outs. To ensure that the token doesn't bounce around rapidly, the token holders are given a priority boost. The priority of tasks is also decremented, if their rate of swap-in's keeps reducing
o

Memory page_alloc zonelist caching speedup: Optimize the critical zonelist scanning for free pages in the kernel memory allocator by caching the zones that were found to be full recently (in the last second), and skipping them. Benchmarks on a 56-CPU/96GB-RAM systems can be found in the commit link

fdtable: Implement new pagesize-based fdtable allocator
o

Optimize o_direct on block devices
o

Support larger block pc requests. Modify blk_rq_map/unmap_user() so that it supports requests larger than bio by chaining them together
o

Add numa node information to struct device
o

Add 'noaliencache' boot option to disable numa alien caches. When using numa=fake on non-NUMA hardware there is no benefit to having the alien caches, and they consume much memory
*

Workqueue revamp. The struct work_struct was a bit bloated, so efforts have been done to fix it, resulting in a division between delayable and non-delayable events, and some API changes. See this LWN article for complete details and this link for details on how to adapt broken code for the new workqueue API
*

TTY: termios revamp, adds proper speed control
*

Generic BUG implementation
*

Driver core: add API for internal notification of bus events ; show the initialization state(live, coming, going) of the module (cat /sys/module/usbcore/initstate) ; show drivers in /sys/module/ ,
*

Sysrq: Add new sysrq feature: Sysrq + X: show blocked (TASK_UNINTERRUPTIBLE) tasks.;useful for debugging IO stalls ; add sysrq_always_enabled boot option
*

Create CONFIG_SYSFS_DEPRECATED
*

Add child reaper to pid_namespace
*

Allow user processes to raise their oom_adj value
*

Use softirq for load balancing
*

LOG2: Implement a general integer log2 facility in the kernel
*

bit reverse library
*

Implement prof=sleep profiling. TASK_UNINTERRUPTIBLE sleeps will be taken as a profile hit, and every millisecond spent sleeping causes a profile-hit for the call site that initiated the sleep
*

kprobes: enable booster on the preemptible kernel
*

Switch pci_{enable,disable}_device() to be nestable, so that eg, three calls to enable_device() require three calls to disable_device(). The reason for this is to simplify PCI drivers for multi-interface/capability devices. These are devices that cram more than one interface in a single function. A relevant example of that is the Wireless [USB] Host Controller Interface ,

Architecture-specific changes

* i386
o

Support for Processor Data Area (PDA). From now, the kernel will use the %gs register as the PDA base-segment (the old value of %gs is saved away). This will make possible to do some optimizations in the future (in this release, 2.6.20 will use the PDA to get the 'current' task in a single instruction, as an example)
o

300Hz support. It is useful to have 300Hz support when doing multimedia work: 250 is fine for us in Europe but the US frame rate is 30fps (29.99 blah for pedants). 300 gives us a tick divisible by both 25 and 30, and for interlace work 50 and 60. It's also giving similar performance to 250Hz
o

Add sysctl for kstack_depth_to_print
o

Add support for compilation optimizations for Core2 ,
o

x86-64: Don't keep interrupts disabled while spinning in spinlocks, like i386
o

x86-64: Speed and clean up cache flushing in change_page_attr
o

Acpi: add support for the generic backlight device in asus_acpi , ibm_acpi and toshiba_acpi
* PPC
o

Enable DEEPNAP power savings mode on 970MP Without this patch, a idle 4-way system gets 103.8W. With this patch: 65.0W. LoweringHZ to 100 can get it as low as 60.2W. Another (older) Quad G5 went from 54W to 39W at HZ=250. Coming back out of Deep Nap takes 40-70 cycles longer than coming back from just Nap (which already takes quite a while).
o

Add Efika platform support
o

Add MPC5200 Interrupt Controller support
o

Cell: Add support for adding/removing spu sysfs attributes , remove /spu_tag_mask file , cell iommu support , add oprofile support for cell , add isolated-mode SPE recycling support , native cell support for MPIC in southbridge , add a sd command (spu dump) to xmon to dump spu local store , add cpufreq driver for Cell BE processor , prepare for spu disassembly in xmon , add support for nonschedulable contexts , implement /mbox_info, /ibox_info, and /wbox_info. , add support for dumping spu info from xmon , import spu disassembly code into xmon , add spu disassembly to xmon , add temperature to SPU and CPU sysfs entries , add /lslr, /dma_info and /proxydma files , add SPU elf notes to coredump. , add shadow registers for pmd_reg , add low-level performance monitoring code , add support for registering sysfs attributes to spus , add support for stopping spus from xmon ,
o

Add non-OF serial console support , add Kurobox(HG)/Linkstation-I NAS systems by Buffalo Technology support , support ibm,dynamic-reconfiguration-memory nodes , add xserve cpu-meter driver , add lite5200 board support to arch/powerpc , , , allow CONFIG_BOOTX_TEXT on iSeries , import updated version of ppc disassembly code for xmon , allow xmon to build on legacy iSeries , make 970MP detectable by oprofile , lazy interrupt disabling for 64-bit machines , support for DCR based MPIC
* ARM
o

Add iop13xx support. The iop348 processor integrates an Xscale (XSC3 512KB L2 Cache) core with a Serial Attached SCSI (SAS) controller, multi-ported DDR2 memory controller, 3 Application Direct Memory Access (DMA) controllers, a 133Mhz PCI-X interface, a x8 PCI-Express interface, and other peripherals to form a system-on-a-chip RAID subsystem engine. The iop342 processor replaces the SAS controller with a second Xscale core for dual core embedded applications. The developer's manual is available here: ftp://download.intel.com/design/iio/docs/31503701.pdf
o

AT91: Initial support for AT91SAM9261 and AT91SAM9260 , SAM9 platform devices , Update drivers for new headers , split up system header file , rename user peripheral header files , support for Atmel AT91SAM9260-EK board , hardware headers for SAM9 peripherals , support for Atmel AT91SAM9261-EK board , final SAM9 integration patches. , SAM9 timer driver , AT91RM9200 RTC
o

clocksource driver for netx and pxa2xx , suspend to RAM support in H1940 and RX3715 , MX/MX1 CPU Frequency scaling support , add cirrus logic edb9302a board support to ep93xx , add ads sphere support , add sys_*at syscalls support
* SH:
o

Dyntick infrastructure and stacktrace/lockdep/irqflags tracing support
o

Add initial support for the SH7206 (SH-2A) and SH7619 (SH-2) MMU-less CPUs , Solution Engine 7206 and 7619 boards. , preliminary support for SH-X2 MMU. , and SH-MobileR SH7722 CPU support.
*

S390: Add runtime switch for qdio performance statistics , add virtual memmap for s390. , add dynamic subchannel mapping
*

MIPS: Add support for kexec , add STB810 support (Philips PNX8550-based) , oprofile kernel support for the R10000.
*

SPARC: Add irqtrace/stacktrace/lockdep support.
*

IA64: Kexec and kdump support ; add initial ACPI IO support to Altix , SN ACPI hotplug support for Altix and ROM shadowing for Altix
*

M32R: bootloader support for OPSPUT platform
*

m68knommu: add SHM support

Filesystems

* OCFS2:
o

Add atime update , splice and configurable timeouts via configfs
o

Add support for 'local' OCFS2 filesystems: This allows users to format an ocfs2 file system with a special flag, OCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT. When the filesystem sees that flag, it won't use any cluster services nor it will require cluster configuration, thus acting as a 'local' filesystem, like ext3 & co
*

FUSE: Add support for block device based filesystems. Useful for ntfs-3g, zfs, etc
*

DebugFS: inotify create/mkdir support
*

DLM: Add support for tcp communications

Networking

* Add sparse annotations to the networking code (lots of patches)
*

IPV6: Per-interface statistics support; for IP MIB (RFC4293)
*

Node-aware skb allocation
*

Turn nfmark into generic mark
*

The scheduled removal of the frame diverter.
*

TCP: Restrict congestion control choices for users via a sysctl: the list of allowed congestion control choices is set in /proc/sys/net/ipv4/tcp_allowed_congestion_control (the list of available congestion control algorithms is at /proc/sys/net/ipv4/tcp_available_congestion_control) ,
*

ieee80211: allow mtu bigger than 1500 (up to 2304)
*

TCP: MD5 Signature Option (RFC2385) support.
*

DCCP: Support for partial checksums (RFC 4340, sec. 9.2) , use higher RTO default for CCID3 , set TX Queue Length Bounds via Sysctl , , add sysctls to control retransmission behaviour
*

SCTP: Add support for SCTP_CONTEXT socket option.
* Netfilter
o

Add full NAT support for nf_conntrack
o

Add IRC helper port , FTP NAT helper port , SIP helper port , TFTP helper port , PPTP helper port , H.323 helper port . NetBIOS name service helper port , SNMP NAT helper port
o

sysctl and /proc compatibility with old connection tracking , tatistics.
o

x_tables: add port of hashlimit match for IPv4 and IPv6 and add NFLOG target
o

ebtables: add --snap-arp option
* IPSEC
o

Add auditing to ipsec. An audit message occurs when an ipsec SA or ipsec policy is created/deleted
o

Add netlink interface for the encapsulation family.
o

Add AF_KEY interface for encapsulation family.
o

Add encapsulation family. * Add support for AES-XCBC-MAC

Various subsystems

Software suspend

*

Support swap files
*

Improve handling of highmem
*

Support i386 systems with PAE or without PSE
*

Measure memory shrinking time

Crypto

*

Add support for the Geode LX AES hardware
*

Liskov Rivest Wagner, a new tweakable narrow block cipher mode
*

New XCBC algorithm
*

Table driven multiplications in GF(2^128)

CPUFREQ

*

Grand unification of ACPI based speedstep-centrino and acpi-cpufreq drivers. It combines functionality of these two driver into acpi-cpufreq driver. ACPI based functionality in speedstep-centrino is marked deprecated and will be removed in future. speedstep-centrino will continue to work on systems that depend on older non-ACPI table based P-state changes
*

p4-clockmod: fix support for Core and add support for more Intel CPUs
*

Longhaul: add support for CN400

DM

Noflush suspending
SELinux

Add support for DCCP

Drivers

Graphics

Add support for secondary vertical blank interrupt to DRM core and add support to i915; add ioctl in i915 for scheduling buffer swaps at vertical blanks.

sstfb: add sysfs interface , support command line options , support flat panel timings , fixups for the AMD Geode GX framebuffer driver , add support for STN displays in s3c2410fb , add YUV video overlay support in mbxfb

Sound

The scheduled removal of the OSS drivers depending on OSS_OBSOLETE_DRIVER: miroSOUND PCM20 radio, Creative SBLive! (EMU10K1), Crystal Soundfusion (CS4280/461x), AD1816(A) based cards, AD1889 based cards (AD1819 codec), ACI mixer (miroSOUND PCM1-pro/PCM12/PCM20), NM256AV/NM256ZX audio support, Yamaha OPL3-SA2 and SA3 based PnP cards
V4L/DVB

Add support for remote control of Hauppauge HVR1110 , add support for both DVB frontends of the Lifeview Trio , add support ptv-305 , add support for Avermedia AverTV Studio 507 , add support for the Terratec Cinergy HT PCMCIA module , add support for Pinnacle 310i , add working dib7000m-module , dynamic cx88 mpeg port management for HVR1300 MPEG2/DVB-T support , add usbvision driver, add support for a ASUSTEK P7131 Dual DVB-T variant , add support for Leadtek Winfast DTV Dongle (STK7700P based) , add initial DiB7000M-demod driver , add support for Dibcom DiB7000PC , remove the broken VIDEO_ZR36120 driver , add Omnivision OV7670 driver , adds support for Pinnacle PCTV 400e DVB-S , add support for Hauppauge WinTV-HVR1110 DVB-T/Hybrid , add support for the Compro Videomate DVB-T200A , Implement IR reception for 24xxx devices , add Marvell 88ALP01 "cafe" driver , add support for new revision of Nova-T Stick

libata

*

Add power management (suspend/resume) support for libata drivers: pata_ali , pata_serverworks , pata_via suspend/resume support , pata_sis and pata_pdc202xx , pata_marvell , pata_cmd64x , pata_cs5520 , pata_sil680 , pata_hpt3x3 , pata_amd , pata_jmicron , pata_it821x , pata_cs5530 , pata_hpt366 , pata_atiixp, pata_cs5535, pata_cypress, pata_efar, pata_marvell, pata_mpiix, pata_netcell, pata_ns87410, pata_oldpiix, pata_opti, pata_optidma, pata_radisys, pata_sc1200, pata_triflex
*

Generic platform_device libata driver , add 40pin "short" cable support, honour drive side speed detection
*

Winbond 83759A support
*

sata_nv ADMA/NCQ + 64 bit DMA support for nForce4
*

Add ixp4xx PATA driver for ARM platforms

SCSI

*

Add ability to scan scsi busses asynchronously. Since it often takes around 20-30 seconds to scan a scsi bus, it's highly advantageous to do this in parallel with other things , ; add asynchronous scsi scanning support for qla2xxx
*

SCSI target support
*

lpfc : Add MSI support
*

ipr: Add PCI IDs for some new SAS adapters , add support for logging SAS fabric errors
*

qla4xxx: add support for qla4032

Input drivers

*

lifebook: Add Hitachi Flora-IE 55mi tablet DMI signature
*

appletouch: Add Geyser IV support ables.

Networking devices

* e1000
o

Add a new dynamic itr algorithm, with 2 modes, and make it the default operation mode. This greatly reduces latency and increases small packet performance, at the "cost" of some CPU utilization. Bulk traffic throughput is unaffected
o

Enable hw TSO for IPV6, reduces CPU utilizations by 50% when transmitting IPv6 frames
o

Add support for a Low Profile quad-port PCI-E adapter and 2 variants of the ICH8 systems' onboard NIC's
* Chelsio
o

Working NAPI
o

Add support for other 10G boards
o

Add MSI support
o

add 1G swcixw support
* forcedeth:
o

Add support for new mcp67 device
o

Add recoverable error support
o

Power management support
* zd1211rw
o

Add ID for Belkin F5d7050 v4000 , for ZyXEL G-220 and for Planex GW-US54Mini
o

Support for multicast addresses
*

BNX2: 5709 copper and Serdes chips support
*

bcm43xx: add PCI-E code
*

sk98lin: MII ioctl support
*

AT91RM9200 Ethernet: Add netpoll / netconsole support
*

Gianfar: add netpoll support

USB

*

usbtouchscreen: add support for DMC TSC-10/25 devices
*

Allow hubs up to 31 children
*

Added dynamic major number for USB endpoints
*

Add driver for the USB debug devices
*

Add support for Novatel S720/U720 CDMA/EV-DO modems
*

Add autosuspend support to the hub driver

Hwmon

*

f71805f driver: Add support for "speed mode" fan speed control , add manual fan speed control , let the user adjust the PWM base frequency , support DC fan speed control mode
*

Add support for the Fintek F71872F/FG chip
*

Remove the SMBus interface support for it87

Watchdog

*

Add iTCO vendor specific support

I2C

*

Delete the broken i2c-ite bus driver

PCMCIA

*

IDs for Elan serial PCMCIA device
*

Allow for four multifunction subdevices
*

ide-cs: Add ID for "transcend TS1GCF80" and "Weida TWTTI"

MMC

*

Support for high speed (50 Hz clock speed) SD cards
*

Add support for mmc v4 high speed mode
*

Add support for mmc v4 wide-bus modes
*

SDHCI high speed support

IPMI

*

Add maintenance mode , allow hot system interface remove , add system interface hotplug

RTC

*

ds1743 support
*

This adds alarm support for the RTC_ALM_SET, RTC_ALM_READ, RTC_WKALM_SET and RTC_WKALM_RD operations to rtc-sh

Firewire

*

ohci1394: Implement suspend/resume

Various

*

Add support for Korenix 16C950-based PCI cards
*

Driver for the PCEngines WRAP boards (http://www.pcengines.ch)
*

Remove long-unmaintained ftape driver subsystem.
*

pktcdvd: add sysfs and debugfs interface
*

Add a driver for the Xilinx uartlite serial controller
*

Exar quad port serial
*

cciss set sector_size to 2048 for performance, add support for 1024 logical volumes, increase number of commands on controller

Sunday, February 11, 2007

Unix Based Distribution

Some Unix Linux Based distributin and their home pages's


DEBIAN



AbulÉduAdamantixAGNULA GNU/Linux Audio DistributionAmber LinuxANTEMIUM LinuxArabbixARMA aka Omoikane GNU/LinuxASLinuxAuditor Security LinuxAugustuxB2D LinuxBeatrIX LinuxBEERnixBiadixBIG LINUXBioknoppixBlackRhinoBluewall GNU/LinuxBonzai LinuxBrlSpeakCàtixCensorNetClusterixClusterKNOPPIXCondoruxDamn Small LinuxDanixDeadCDDebXPdeDizinha LinuxeduKnoppixERPOSSESwareEvinuxEuronodeFAMELIXFeather LinuxFlonixVital Data Forensic or Rescue Kit (FoRK)Freeduc-cdFreeduc-SupGEOLivre LinuxGibraltar FirewallGNIX-VivoGnoppix LinuxgnuLinExGNU/Linux KinneretGNUstep Live CDgrmlGuadalinexHelixHikarunixHiweed LinuxImpi LinuxIndLinuxJulexK-DEMarKaella-Knoppix Linux AzurKalango LinuxKANOTIXKlusTriXknopILS KnoppelKnoppixKnoppix 64Knoppix STDKnoppiXMAMEKnoppMythKnoSciencesKurumin LinuxLAMPPIXLibranet GNU/LinuxLIIS LinuxLinEspaLinspireLinux Live Game ProjectLinux LocoLinuxDefender Live! CDLinuxinLiVuxLocal Area Security Linux (L.A.S.)LuinuxLuit LinuxMAX: Madrid_LinuxMediainlinuxMEPIS LinuxMetadistro-PequelinMIKO GNYO/LinuxMoLinuxMorphixMunjoy LinuxNature's LinuxNordisKnoppixOGo KnoppixOraluxOverclockixQuantianPaiPixParallelKnoppixParsix GNU/LinuxPenguin SleuthPHLAKPilotLinuxProgeny DebianRays LinuxROSLIMS Live CDSalvareSanta Fe LinuxSkolelinuxSlavixSlixSlo-Tech LinuxSoyombo Mongolian LinuxSphinxOSTablix on MorphixTilix LinuxTupiServer LinuxUbuntu LinuxUserLinuxWHoppiXX-evianXfldXandros Desktop OSXarnoppixZen LinuxZoneCDZopix


FEDORA

ADIOS Linux Boot CDAsianuxAurora SPARC LinuxAurox LinuxASP LinuxBasilisk Live CDBerry LinuxBioBrewBLAG Linux And GNUChinese 2000 LinuxChinese Linux ExtensionClarkConnect Broadband GatewayCobind DesktopCool LinuxCosix LinuxCPUBuilders LinuxELX LinuxEnGarde Secure LinuxFoX LinuxFreedowsFTOSX DesktopGelecek LinuxHaansoft LinuxHakin9 LiveHancom LinuxHaydar LinuxHispaFuentes LinuxHolon LinuxIDMS LinuxIgnalum LinuxK12 Linux Terminal Server ProjectKoreLinuxKRUDLBA-LinuxLinare LinuxLinpus LinuxLinux Media Lab DistributionLinux XPLinuxTLELorma LinuxMagic LinuxMIZI LinuxMSC.LinuxOpenDesktopOpenNA LinuxOpenwall GNU/*/LinuxPHP Solutions Live CDPlan-BRed Flag LinuxredWall FirewallResala LinuxRocks Cluster DistributionSME ServerTFM LinuxThiz Linuxtinysofa enterprise linuxTrustix Secure LinuxTurbolinuxVine LinuxWOW LinuxXteam LinuxYellow Dog Linux


KNOPIX

AbulÉduAuditor Security LinuxArabbixBEERnixBIG LINUXBioknoppixClusterKNOPPIXCondoruxDamn Small LinuxDanixLinuxDefender Live! CDeduKnoppixEvinuxFeather LinuxVital Data Forensic or Rescue Kit (FoRK)Freeduc-cdJulexHelixK-DEMarKaella-Knoppix Linux AzurGNU/Linux KinneretKlusTriXknopILSKnoppelKnoppix 64Knoppix STDKnoppMythKnoSciencesKurumin LinuxLocal Area Security Linux (L.A.S.)MAX: Madrid_LinuxMediainlinuxMEPIS LinuxMunjoy LinuxNordisKnoppixOpenGroupware.org Knoppix CDOraluxOverclockixPaiPixParallelKnoppixPardus Live CDParsix GNU/LinuxPenguin SleuthMetadistro-PequelinQuantianROSLIMS Live CDSlixTilix LinuxWHoppiXXarnoppixX-evianZopix


SLACKWARE

AUSTRUMIBearOps Desktop Linux OSBlin LinuxBurapha LinuxBuffalo LinuxCollegeLinuxDARKSTAR LinuxDefinity LinuxDeLi LinuxDNALinuxeLearnixFrugalware LinuxgNOXGoblinXJoLinuxLinux LiveCD RouterMinislackMoviXNetwosixOpenLab Community EditionPlamo LinuxRecovery Is PossibleROOT GNU/LinuxRUNT: The ResNet USB Network TesterSLAX Linux LiveSTUX GNU/LinuxVector Linux

MANDRIVA

AnnvixAPODIOAyrsoft iconblackPanther OSEduLinuxHKLPG LinuxLinuxConsoleLINUXO Live!MandowsMCNLive CDPCLinuxOSSAM Mini-Live-CDvnlinuxCDTurkix

RED HAT

CentOSEadem Enterprise ASFermi LinuxLineox Enterprise LinuxMiracle LinuxNuxOne LinuxPie Box Enterprise LinuxScientific LinuxStartCom LinuxTao LinuxWhite Box Enterprise LinuxX/OS Linux

GENTOO

Flash LinuxGentooxiBoxJollixKnopperdiskNavyn OSPardus Live CDShark LinuxSystemRescueCdUtutoVidalinux Desktop OSZerahStar Zesktop

DAMN SMALL

FlonixHikarunixINSERT - Inside Security Rescue ToolkitJUSIXLAMPPIXLuit Linux

Free BSD

DragonFly BSDFreeSBIEGuLIC-BSDm0n0wallTrianceOS


SUSE

Linux Caixa MágicakmLinuxNovell Linux DesktopstresslinuxSun Java Desktop System

Friday, February 9, 2007

GNOME

gnome logo
The GNOME project was started in August 1997 by Miguel de Icaza and Federico Mena in response to licensing concerns over software used by KDE, a free software desktop environment that relies on the Qt widget toolkit. At the time, Qt did not use a free software license and members of the GNU project became concerned about the use of such a toolkit for building a free software desktop and applications. Two projects were started: the Harmony toolkit, to create a free replacement for the Qt libraries, and GNOME to create a new desktop without Qt and built entirely on top of free software.[2]

In place of the Qt toolkit, GTK+ was chosen as the base of the GNOME desktop. GTK+ uses the GNU Lesser Public License (LGPL), a free software license that allows software linking to it, such as applications written for GNOME, to use a much wider set of licenses, including proprietary software licenses.[3] The GNOME desktop itself is licensed under the LGPL for its libraries, and the GPL for applications that are part of the GNOME project itself. While Qt is dual-licensed under both the QPL and the GPL, the freedom to link proprietary software with GTK+ at no charge makes it differ from Qt.

GNOME is designed around the traditional computing desktop metaphor. Its handling of windows, applications and files is similar to that of contemporary desktop operating systems. In its default configuration, the desktop has a launcher menu for quick access to installed programs and file locations; open windows may be accessed by a taskbar along the bottom of the screen and the top-right corner features a notification area for programs to display notices while running in the background. However these features can be moved to almost anywhere the user desires, replaced with other functions or removed altogether.

The appearance of GNOME can be changed by the use of themes, which are sets consisting of an icon set, window manager border and GTK+ theme engine and parameters. Popular GTK+ themes include Bluecurve and Clearlooks (the current default theme).

GNOME puts emphasis on being easy for everyone to use. The HIG helps guide developers in producing applications which look and behave similarly, in order to provide a cohesive GNOME interface.

Since GNOME v2.0, a key focus of the project has been usability. As a part of this, a large effort was put into creating the GNOME Human Interface Guidelines (HIG). The HIG is an extensive guide for creating high quality, consistent, usable GUI programs, covering everything from GUI design to recommended pixel-based layout of widgets.

GNOME HIG introduction:[12]
“ This document tells you how to create applications that look right, behave properly, and fit into the GNOME user interface as a whole. It is written for interface designers, graphic artists and software developers who will be creating software for the GNOME environment. Both specific advice on making effective use of interface elements, and the philosophy and general design principles behind the GNOME interface are covered. ”

During the v2.0 rewrite, many settings were deemed to be “crack” settings (of little or no value to the majority of users) and were removed. For instance, the preferences section of the Panel were reduced from a sprawling dialog of six large tabs to a much simpler one with two small tabs.

Tuesday, February 6, 2007

KDE Desktop


KDE or (K Desktop Environment is desktop environment) for Unix like OS, KDE have many application.

KDE was founded in 1996 by Matthias Ettrich. At the time, he was troubled by certain aspects of the UNIX desktop. Among his qualms were that none of the applications looked, felt, or worked alike. He proposed the formation of not only a set of applications, but rather a desktop environment, in which users could expect things to look, feel, and work consistently. He also wanted to make this desktop easy to use; one of his complaints with desktop applications of the time was that his girlfriend could not use them. His initial Usenet post spurred a lot of interest, and the KDE project was born.[1] The name KDE was intended as a word play on the existing Common Desktop Environment available for Unix systems. The K was originally suggested to stand for "Kool", but it was quickly decided that the K should stand for nothing in particular.

Matthias chose to use the Qt toolkit for the KDE project. Other programmers quickly started developing KDE/Qt applications, and by early 1997, large and complex applications were being released. At the time, Qt did not use a free software license and members of the GNU project became concerned about the use of such a toolkit for building a free software desktop and applications. Two projects were started: "Harmony", to create a Free replacement for the Qt libraries, and the GNOME project to create a new desktop without Qt and built entirely on top of free software.

In November 1998, the Qt toolkit was licensed under the open source Q Public License (QPL). This same year the KDE Free Qt foundation [3] was created which guarantees that Qt would fall under a variant of the very liberal BSD license should Trolltech cease to exist or no open source version of Qt be released during 12 months. But debate continued about compatibility with the GNU General Public License (GPL). In September 2000, Trolltech made the Unix version of the Qt libraries available under the GPL, in addition to the QPL, which has eliminated the concerns of the Free Software Foundation. Starting with the release of Qt 4.0, it is available as free software for the Unix, Mac and Windows platforms, indicating that the next major version of KDE applications and libraries will have native support on these platforms.

Both KDE and GNOME now participate in Freedesktop.org, an effort to standardize Unix desktop interoperability, although there is still some friendly competition between them.

Like many open source/free software projects, KDE is primarily a volunteer effort, although various companies, such as Novell (in the form of SuSE), Trolltech, and Mandriva employ developers to work on the project. Since a large number of individuals contribute to KDE in various ways (e.g. code, translation, artwork), organization of such a project is complex. Most problems are discussed on a number of different mailing lists.

Important decisions, such as release dates and inclusion of new applications, are made on the kde-core-devel list by the so-called core developers. These are developers who have made significant contributions to KDE over a long period of time. Decisions are not made by a formal voting process, but by discussion on the mailing lists. In most cases this seems to work well, and major discussions (such as the question of whether the KDE 2 API should be broken in favour of KDE 3) are rare.

While developers and users are now located all over the world, the project retains a strong base in Germany. The web servers are located at the universities of Tübingen and Kaiserslautern, a German non-profit organization (KDE e.V.) owns the trademark on "KDE", and KDE conferences often take place in Germany.

Most KDE applications have a K in the name, mostly as an initial letter and capitalized. However, there are notable exceptions like kynaptic, whose K is not capitalized, Gwenview, which doesn't have a K in the name at all, and Amarok which formerly had its final k capitalized. Many KDE application's K is obtained by spelling a word which originally begins with C or Q differently, for example Konsole and Kuickshow. Also, some just prefix a commonly used word with a K, an instance being KOffice.

Monday, February 5, 2007

New Kernel 2.6.20

List of change
  • [PATCH] fix rtl8150
  • [PATCH] EFI x86: pass firmware call parameters on the stack
  • [PATCH] x86-64: define dma noncoherent API functions
  • [PATCH] revert blockdev direct io back to 2.6.19 version
  • [PATCH] net/smc911x: match up spin lock/unlock
  • [PATCH] kexec: Avoid migration of already disabled irqs (ia64)
  • [SCSI] sd: udev accessing an uninitialized scsi_disk field results in a crash
  • libata: Initialize nbytes for internal sg commands
    • Fix ata_busy_wait() kernel docs
  • [PATCH] via82cxxx: fix typo ("cx7000" should be corrected to "cx700")
  • [PATCH] KVM: fix lockup on 32-bit intel hosts with nx disabled in the bios

Full Changelog

Sunday, February 4, 2007

Boot Speed

Distribution_____________________Seconds

1. Mandriva Linux 2007_______________40 sec.
2. PCLinuxOS 0.93a _________________ 46 sec.
3. Debian GNU/Linux 4.0 _____________ 47 sec.
4. Pardus Linux 2007 ________________ 48 sec.
5. Ubuntu 6.10 _____________________49 sec.
6. SimpleyMEPIS 6.0-4 (BETA 1) ________51 sec.
7. OpenSUSE 10.2 ___________________61 sec.
8. Fedora Core 6 ____________________ 72 sec.
9. Xandros Desktop 4.1 ________________89 sec.

Boot times for some distribution.

Saturday, February 3, 2007

8.)Damm Small

It is pass all relief linux disribution with only 50 mb,they have Graphical installer.they can boot from CD as a live linux distribution (LiveCD),even from a USB pen drive Damn Small also has the ability to act as an SSH/FTP/HTTPD server right off of a live CD.DSL use DEB Package Management.

CD-s 1

Installation--------------Graphical

Package Management---deb

Processor Architecture--i386

Current version:----3.2 (download .iso)

Damn Small Based on Damn Small Linux: 6 Distributions

Flonix

Hikarunix

Luit Linux

LAMPPIX

JUSIX

INSERT - Inside Security Rescue Toolkit

Friday, February 2, 2007

Why you should to use Linux ?

Because Linux have many good offices

Forget about viruses

Linux protects your computer

Don't pay $300 for your operating system.

When the system has installed, why would you still need to install stuff?

Update all your software with a single click.

Why copy software illegally if you can get it for free?

Why does your Windows get slower day after day?

Get a great music player

Enjoy free and unlimited support.

Choose what your desktop looks like.

Use MSN, AIM, ICQ, Jabber, with a single program.

Let your old computer have a second life.

Thursday, February 1, 2007