December, 2007 的文章

十二星座撰(转摘)

31/12/2007 20:32

白羊座
妈妈经常叮嘱羊羊:“穿裙子时不可以荡秋千;不然,会被小男生看到里面的小内裤哦!”
有一天,羊羊高兴地对妈妈说:“今天我和小明比赛荡秋千,我赢了!”
妈妈生气地说:“不是告诉过你吗?穿裙子时不要荡秋千!”
羊羊骄傲地说:“可是我好聪明哦!我把里面的小内裤脱掉了,这样他就看不到我的小内裤了!”
(勇敢直率、敢做敢为的白羊)

金牛座
卖瓜小贩:“快来吃西瓜,不甜不要钱!”
饥渴的牛牛:“哇!太好了,老板,来个不甜的!”
(持家、想出轨又顾全自己的金牛)

双子座
妈妈叫双双起床:“快点起来!公鸡都叫好几遍了!”
双双说:“公鸡叫和我有什么关系?我又不是母鸡!”
(自我意识强烈、自行思维的双子)

巨蟹座
公车上,蟹蟹说:“今晚我要和妈妈睡!”
妈妈问道:“你将来娶了媳妇也和妈妈睡阿?”
蟹蟹不假思索:“嗯!”
妈妈又问:“那你媳妇怎么办?”
蟹蟹想了半天,说:“好办,让她跟爸爸睡!”
妈妈:“!@#$%^&*(……—”
再看爸爸,已经热泪盈眶啦!
(恋母情结、依恋的巨蟹)

狮子座
狮狮去参加奶奶的寿宴。到了吃寿包的时候,狮狮问:“我们为什么要吃这种像屁股的寿包?”
众人听了脸色大变。
接著狮狮拨开寿包,看看里面的豆沙,说:“奶奶,快看!里面还有大便!”
众人晕的晕,吐的吐。
(以自我感受、不怕旁人眼光的骄傲的狮子)

处女座
处处对肚脐很好奇,就问爸爸。
爸爸把脐带连著胎儿与母体的道理简单地讲了一下,说:
“婴儿离开母体之后,医生把脐带减断,并打了一结,後来就成了肚脐。”
处处:“那医生为什么不打个蝴蝶结?”
好奇心强又追求完美的处女)

天秤座
父亲对天天说:“今天不要上学了,昨晚...你妈给你生了两个弟弟。你给老师说一下就行了。”
天天却回答:“爸爸,我只说生了一个;另一个,我想留著下星期不想上时再说!”
(聪明、权衡利弊的天平)

天蝎座
蝎蝎刚睡著,就叫蚊子叮了一口。
他起来赶蚊子,却怎么也赶不出去。
没法,便指著蚊子说:“好吧,你不出去我出去!”边说边出了房间
把门使劲关严得意地说:“哼!我今晚不进屋,非把你饿死不可!”
(搞不懂、不按常理出牌的天蝎)

射手座
射射:“爸爸,为什么你有那么多白头发?”
爸爸:“因为你不乖,所以爸爸有好多白头发阿。”
射射:……(疑惑中)
射射:“那为什么爷爷全部都是白头发?”
爸爸:!@#$%^&*(……
(喜欢思考的射手)

摩羯座
一天,羯羯跟妈妈上街;走在路上,突然下起雨来。
妈妈拉过羯羯的小手,说:“下雨了,快往前跑阿!”
羯羯慢条斯理地问:“那前面就不下雨喽!?”
(明白现实懒得改变的摩羯)

水瓶座
瓶瓶问妈妈:“问什么称蒋先生为『先人』?”
妈妈说:“因为‘先人’是对死去的人的称呼。”
瓶瓶说:“那去世的奶奶是不是要叫『鲜奶』?”
(天生的另类、脑筋思考永远和常人不一样的水瓶))

双鱼座
爸爸给鱼鱼讲小时候经常挨饿的事。
听完後,鱼鱼两眼含泪,十分同情地问:
“哦,爸爸,你是因为没饭吃才来我们家的吗?”
(富含丰富同情心、不分情况对象的双鱼)

无题 - Amy的格言

23/12/2007 17:45

永远也不要尝试去改变身边的人或事,因为你会发现能改变你自己的人也只有你自己。所以以后在想改变别人之前最好先改变一下自己。如果你自己也不愿意改变自己的话,那你又凭什么要求别人为ni

TAO’s Kernel

15:59

# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.474.2.2 2007/12/15 02:57:30 scottl Exp $

cpu        I486_CPU
cpu        I586_CPU
cpu        I686_CPU
ident        TAO

# To statically compile in device wiring instead of /boot/device.hints
#hints        “GENERIC.hints”        # Default places to look for devices.

makeoptions    DEBUG=-g        # Build kernel with gdb(1) debug symbols

#options     SCHED_4BSD        # 4BSD scheduler
options        SCHED_ULE
options     PREEMPTION        # Enable kernel thread preemption
options     INET            # InterNETworking
options     INET6            # IPv6 communications protocols
options     SCTP            # Stream Control Transmission Protocol
options     FFS            # Berkeley Fast Filesystem
options     SOFTUPDATES        # Enable FFS soft updates support
options     UFS_ACL            # Support for access control lists
options     UFS_DIRHASH        # Improve performance on big directories
options     UFS_GJOURNAL        # Enable gjournal-based UFS journaling
options     MD_ROOT            # MD is a potential root device
options     NFSCLIENT        # Network Filesystem Client
options     NFSSERVER        # Network Filesystem Server
options     NFS_ROOT        # NFS usable as /, requires NFSCLIENT
options     MSDOSFS            # MSDOS Filesystem
options     CD9660            # ISO 9660 Filesystem
options     PROCFS            # Process filesystem (requires PSEUDOFS)
options     PSEUDOFS        # Pseudo-filesystem framework
options     GEOM_PART_GPT        # GUID Partition Tables.
options     GEOM_LABEL        # Provides labelization
options     COMPAT_43TTY        # BSD 4.3 TTY compat [KEEP THIS!]
options     COMPAT_FREEBSD4        # Compatible with FreeBSD4
options     COMPAT_FREEBSD5        # Compatible with FreeBSD5
options     COMPAT_FREEBSD6        # Compatible with FreeBSD6
options     SCSI_DELAY=5000        # Delay (in ms) before probing SCSI
options     KTRACE            # ktrace(1) support
options     SYSVSHM            # SYSV-style shared memory
options     SYSVMSG            # SYSV-style message queues
options     SYSVSEM            # SYSV-style semaphores
options     _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options     KBD_INSTALL_CDEV    # install a CDEV entry in /dev
options     ADAPTIVE_GIANT        # Giant mutex is adaptive.
options     STOP_NMI        # Stop CPUS using NMI instead of IPI
options     AUDIT            # Security event auditing

# To make an SMP kernel, the next two lines are needed
options     SMP            # Symmetric MultiProcessor Kernel
device        apic            # I/O APIC

# CPU frequency control
device        cpufreq

# Bus support.
device        eisa
device        pci

# Floppy drives
device        fdc

# ATA and ATAPI devices
device        ata
device        atadisk        # ATA disk drives
device        ataraid        # ATA RAID drives
device        atapicd        # ATAPI CDROM drives
device        atapifd        # ATAPI floppy drives
device        atapist        # ATAPI tape drives
options     ATA_STATIC_ID    # Static device numbering

# SCSI Controllers
#device        ahb        # EISA AHA1742 family
#device        ahc        # AHA2940 and onboard AIC7xxx devices
#options     AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
# output.  Adds ~128k to driver.
#device        ahd        # AHA39320/29320 and onboard AIC79xx devices
#options     AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
# output.  Adds ~215k to driver.
#device        amd        # AMD 53C974 (Tekram DC-390(T))
#device        hptiop        # Highpoint RocketRaid 3xxx series
#device        isp        # Qlogic family
#device     ispfw        # Firmware for QLogic HBAs- normally a module
#device        mpt        # LSI-Logic MPT-Fusion
#device        ncr        # NCR/Symbios Logic
#device        sym        # NCR/Symbios Logic (newer chipsets + those of `ncr’)
#device        trm        # Tekram DC395U/UW/F DC315U adapters

#device        adv        # Advansys SCSI adapters
#device        adw        # Advansys wide SCSI adapters
#device        aha        # Adaptec 154x SCSI adapters
#device        aic        # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
#device        bt        # Buslogic/Mylex MultiMaster SCSI adapters

#device        ncv        # NCR 53C500
#device        nsp        # Workbit Ninja SCSI-3
#device        stg        # TMC 18C30/18C50

# SCSI peripherals
device        scbus        # SCSI bus (required for SCSI)
#device        ch        # SCSI media changers
#device        da        # Direct Access (disks)
device        sa        # Sequential Access (tape etc)
#device        cd        # CD
#device        pass        # Passthrough device (direct SCSI access)
#device        ses        # SCSI Environmental Services (and SAF-TE)

# RAID controllers interfaced to the SCSI subsystem
#device        amr        # AMI MegaRAID
#device        arcmsr        # Areca SATA II RAID
#device        asr        # DPT SmartRAID V, VI and Adaptec SCSI RAID
#device        ciss        # Compaq Smart RAID 5*
#device        dpt        # DPT Smartcache III, IV - See NOTES for options
#device        hptmv        # Highpoint RocketRAID 182x
#device        hptrr        # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
#device        rr232x        # Highpoint RocketRAID 232x
#device        iir        # Intel Integrated RAID
#device        ips        # IBM (Adaptec) ServeRAID
#device        mly        # Mylex AcceleRAID/eXtremeRAID
#device        twa        # 3ware 9000 series PATA/SATA RAID

# RAID controllers
#device        aac        # Adaptec FSA RAID
#device        aacp        # SCSI passthrough for aac (requires CAM)
#device        ida        # Compaq Smart RAID
#device        mfi        # LSI MegaRAID SAS
#device        mlx        # Mylex DAC960 family
#device        pst        # Promise Supertrak SX6000
#device        twe        # 3ware ATA RAID

# atkbdc0 controls both the keyboard and the PS/2 mouse
device        atkbdc        # AT keyboard controller
device        atkbd        # AT keyboard
device        psm        # PS/2 mouse

device        kbdmux        # keyboard multiplexer

device        vga        # VGA video card driver

device        splash        # Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device        sc

device        agp        # support several AGP chipsets

# Power management support (see NOTES for more options)
#device        apm
# Add suspend/resume support for the i8254.
device        pmtimer

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
#device        cbb        # cardbus (yenta) bridge
#device        pccard        # PC Card (16-bit) bus
#device        cardbus        # CardBus (32-bit) bus

# Serial (COM) ports
device        sio        # 8250, 16[45]50 based serial ports
device        uart        # Generic UART driver

# Parallel port
device        ppc
device        ppbus        # Parallel port bus (required)
device        lpt        # Printer
device        plip        # TCP/IP over parallel
device        ppi        # Parallel port interface device
#device        vpo        # Requires scbus and da

# If you’ve got a “dumb” serial or parallel PCI card that is
# supported by the puc(4) glue driver, uncomment the following
# line to enable it (connects to sio, uart and/or ppc drivers):
#device        puc

# PCI Ethernet NICs.
device        de        # DEC/Intel DC21×4x (“Tulip”)
device        em        # Intel PRO/1000 adapter Gigabit Ethernet Card
device        ixgb        # Intel PRO/10GbE Ethernet Card
device        le        # AMD Am7900 LANCE and Am79C9xx PCnet
device        txp        # 3Com 3cR990 (“Typhoon”)
device        vx        # 3Com 3c590, 3c595 (“Vortex”)

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the ‘device miibus’ line in order to use these NICs!
device        miibus        # MII bus support
device        bce        # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device        bfe        # Broadcom BCM440x 10/100 Ethernet
device        bge        # Broadcom BCM570xx Gigabit Ethernet
device        dc        # DEC/Intel 21143 and various workalikes
device        fxp        # Intel EtherExpress PRO/100B (82557, 82558)
device        lge        # Level 1 LXT1001 gigabit Ethernet
device        msk        # Marvell/SysKonnect Yukon II Gigabit Ethernet
device        nfe        # nVidia nForce MCP on-board Ethernet
device        nge        # NatSemi DP83820 gigabit Ethernet
#device        nve        # nVidia nForce MCP on-board Ethernet Networking
device        pcn        # AMD Am79C97x PCI 10/100 (precedence over ‘le’)
device        re        # RealTek 8139C+/8169/8169S/8110S
device        rl        # RealTek 8129/8139
device        sf        # Adaptec AIC-6915 (“Starfire”)
device        sis        # Silicon Integrated Systems SiS 900/SiS 7016
device        sk        # SysKonnect SK-984x & SK-982x gigabit Ethernet
device        ste        # Sundance ST201 (D-Link DFE-550TX)
device        stge        # Sundance/Tamarack TC9021 gigabit Ethernet
device        ti        # Alteon Networks Tigon I/II gigabit Ethernet
device        tl        # Texas Instruments ThunderLAN
device        tx        # SMC EtherPower II (83c170 “EPIC”)
device        vge        # VIA VT612x gigabit Ethernet
device        vr        # VIA Rhine, Rhine II
device        wb        # Winbond W89C840F
device        xl        # 3Com 3c90x (“Boomerang”, “Cyclone”)

# ISA Ethernet NICs.  pccard NICs included.
device        cs        # Crystal Semiconductor CS89×0 NIC
# ‘device ed’ requires ‘device miibus’
device        ed        # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device        ex        # Intel EtherExpress Pro/10 and Pro/10+
device        ep        # Etherlink III based cards
device        fe        # Fujitsu MB8696x based cards
device        ie        # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device        sn        # SMC’s 9000 series of Ethernet chips
device        xe        # Xircom pccard Ethernet

# Wireless NIC cards
#device        wlan        # 802.11 support
#device        wlan_wep    # 802.11 WEP support
#device        wlan_ccmp    # 802.11 CCMP support
#device        wlan_tkip    # 802.11 TKIP support
#device        wlan_amrr    # AMRR transmit rate control algorithm
#device        wlan_scan_ap    # 802.11 AP mode scanning
#device        wlan_scan_sta    # 802.11 STA mode scanning
#device        an        # Aironet 4500/4800 802.11 wireless NICs.
#device        ath        # Atheros pci/cardbus NIC’s
#device        ath_hal        # Atheros HAL (Hardware Access Layer)
#device        ath_rate_sample    # SampleRate tx rate control for ath
#device        awi        # BayStack 660 and others
#device        ral        # Ralink Technology RT2500 wireless NICs.
#device        wi        # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device        wl        # Older non 802.11 Wavelan wireless NIC.

# Pseudo devices.
device        loop        # Network loopback
device        random        # Entropy device
device        ether        # Ethernet support
device        sl        # Kernel SLIP
device        ppp        # Kernel PPP
device        tun        # Packet tunnel.
device        pty        # Pseudo-ttys (telnet etc)
device        md        # Memory “disks”
device        gif        # IPv6 and IPv4 tunneling
device        faith        # IPv6-to-IPv4 relaying (translation)
#device        firmware    # firmware assist module

# The `bpf’ device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that ‘bpf’ is required for DHCP.
device        bpf        # Berkeley packet filter

# USB support
device        uhci        # UHCI PCI->USB interface
device        ohci        # OHCI PCI->USB interface
device        ehci        # EHCI PCI->USB interface (USB 2.0)
device        usb        # USB Bus (required)
#device        udbp        # USB Double Bulk Pipe devices
device        ugen        # Generic
device        uhid        # “Human Interface Devices”
device        ukbd        # Keyboard
device        ulpt        # Printer
device        umass        # Disks/Mass storage - Requires scbus and da
device        ums        # Mouse
#device        ural        # Ralink Technology RT2500USB wireless NICs
#device        rum        # Ralink Technology RT2501USB wireless NICs
#device        urio        # Diamond Rio 500 MP3 player
#device        uscanner    # Scanners
# USB Ethernet, requires miibus
#device        aue        # ADMtek USB Ethernet
#device        axe        # ASIX Electronics USB Ethernet
#device        cdce        # Generic USB over Ethernet
#device        cue        # CATC USB Ethernet
#device        kue        # Kawasaki LSI USB Ethernet
#device        rue        # RealTek RTL8150 USB Ethernet

# FireWire support
#device        firewire    # FireWire bus code
#device        sbp        # SCSI over FireWire (Requires scbus and da)
#device        fwe        # Ethernet over FireWire (non-standard!)
#device        fwip        # IP over FireWire (RFC 2734,3146)
#device        dcons        # Dumb console driver
#device        dcons_crom    # Configuration ROM for dcons

Compile FreeBSD Kernel

14:11

First of all, you need to have full FreeBSD source tree to build the kernel. If you dont, download them now.

* COPY /usr/src/sys/i386/conf/GENERIC /root/sys/TAO and ln -s /root/sys/TAO /usr/src/sys/i386/conf/TAO

* vi /root/sys/TAO, comment all the device you dont need

* Change scheduler to ULE if you are using FreeBSD 7 (experimental), as mention by Kris, new ULE scheduler has better performance than tranditional 4BSD
http://www.elian.co.uk/2007/12/22/does-freebsd-7-solve-its-mysql-problem/

* Change /etc/make.conf. As V7 support core2 CPUTYPE, so

CPUTYPE?=core2
CFLAGS=-O2 -fno-strict-aliasing -pipe
For pre 7 users, see
http://gentoo-wiki.com/Safe_Cflags#Intel_Core_2_Duo.2FQuad_.2F_Xeon_51xx.2F53xx

*Go to /usr/src/sys/i386/conf directory, and run config TAO to create a compile directory. It is very helpful if you want to keep serveral version of kernel

* Go to ../compile/Tao and run make cleandepend && make depend

* and “make”, it will take very long time and depending on the speed of your machine and your configure file

* make install and reboot your machine. If the new kernel cannot be load correctly or some devices do not function, you can use load kernel.old or kernel.GENERIC to go back to old kernel or generic kernel

N.B. here is my kernel configure file
http://www.elian.co.uk/2007/12/23/taos-kernel/

* After installing new kernel, you have to rebuild your world, otherwise, many program cannot run correctly(To me, sockstat -cl cannot should TCP ports listening)
cd /usr/src
make buildworld (took about two hours)
reboot into single user mode
mergemaster -p
make installworld
mergemaster
reboot

My FreeBSD installation

13:03

* Minimal installation(very simply, google it or follow the manual book on FreeBSD website). enable softupdate for non-root slice

* Install man package

* Install cvsup by pkg_add -r cvsup-without-gui (run rehash or re-login)

* Install vim “pkg_add -r vim-lite”

* Using vim instead of vi(may have security issue, careful!). ln -s /usr/local/bin/vim /bin/vi

* Copy /usr/local/share/vim71/vimrc_example.vim to /usr/local/share/vim71/vimrc (gramma hightlight)

* I prefer to use stable-supfile, so copy it to /root and change host address

* Copy /var/share/examples/cvsup/refuse to /var/db/sup. Dont download source code other language, english only.

* Update source code tree now, by cvsup stable-supfile.

* It will take some time, so sit back and have a cup of coffe ^_^

* I personally like to use portsnap to update port tree, so “portsnap fetch extract”

* Copy and edit /etc/make.conf. Change CFLAG and disable GUI by
NO_X= true
NO_GUI= true
WITHOUT_X11= yes
WITHOUT_XPM= yes

* Edit /etc/rc.conf

* To compile kernel, you can follow my another post on
http://www.elian.co.uk/2007/12/23/compile-freebsd-kernel/

* Email system:
I prefer postfix, and you can find many webpage in google on how to replace sendmail with postfix. and it is easy to do so

cd /usr/src/mail/postfix
make install
select SASL2 and TLS, if you need MySQL support, simply add MySQL
add sendmail_enable=”NONE” to /etc/rc.conf
cp /etc/default/periodic.conf /etc/periodic.conf and change following directive (Disable sendmail dail)

daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"

* Config postfix by editing /usr/local/etc/postfix/main.cf

* Install other services

Does FreeBSD 7 solve its MySQL problem?

22/12/2007 19:19

A very famous article by Jeremy pointed out the reason mysql database had lower performance on BSD system which is my most preferred OS (http://jeremy.zawodny.com/blog/archives/000203.html). Although, there is a work-around by using LinuxThread (http://pauillac.inria.fr/~xleroy/linuxthreads/), it cannot satisfy all the pure BSDers.

Since the annoucement of V7, many people are exciting for its new features. Especially, the improvement of scheduler, both 4BSD and ULE. But the question is does V7 really solve the MySQL problem? what is the performance of MySQL on FreeBSD 7. I read Kris’ “7.0 Preview” today, it really makes believe so.

http://people.freebsd.org/~kris/scaling/7.0%20Preview.pdf

bsd7.jpg

FreeBSD V7 release date

25/10/2007 18:26