|
|
LFS、BLFS心得
装LFS有好几个版本了,也有一些心得,说出来大家听听,一来为它人作鉴,二来也请别人指正。
一,概览,
- 主系统,
我用的是fc2。我也试过fc3,但它不能通过ssh运行X程序,而当时我也不知道要如何设置才能让它运行X程序,就弃用了。
但fc2有点不好之处就是跟windows有点冲突,装fc2之后不能引导windows。我发现在它将磁盘访问模式改成了CHS,只要将它改成LBA就行,这在CMOS中设置。 - 最好把主系统tar升级,
升级后的tar在解包时能自动识别gzip、bzip2格式,这在解包时有很大方便。 - LFS版本选择,
我装过5.1.1,6.0,多个SVN版本,
5.1.1装成功后,没有装blfs,因为没有找到相应的软件包,一个一个地点鼠标下载软件是很烦的事,就没进行下去。
6.0装成功后,忘了什么原因,没再继续使用。
我现在主要用SVN-20050820版。我装过SVN-20050910,它已用gcc4了,但却不能编译xfsprogs-2.6.25,就没有再用。我查了SVN-20050910日志,估计是在SVN-20050830升级gcc的。而我手上只有SVN-20050820了,就再回到此版本。
LFS网站上提示说,除了工具链软件包,其它软件包可以单独升级。而工具链是至为关键的部分,选择LFS版本就主要考虑它了。当然,想尝鲜就用SVN版本,要稳定就用稳定版本吧。又听说,要做服务器,最好是用5.0系列版本,个人使用还是6.0系列的版本好。
用了几个SVN版本后,我又想念稳定版本了。 - 软件包,
到现在,自己一个一个软件包去下载实在是费力不讨好的事。可以到LFS网站寻找线索,找打好包的软件包下载。只是这种包对应相应的LFS版本。 - 文件系统,
日志文件系统有很多优点,而LFS却以ext2为例,可以用ext3。我在网上查了一下,XFS更好,我现在就用它。当然,你的主系统得有XFS工具,好在fc2系统是有的。
在走到二章三节时按你所需执行命令即可,
要建立ext3文件系统可以加上-j参数,
要建立XFS文件系统就用mkfs.xfs命令。 - 软件安装,
安装每一个软件都要执行多条命令,没必要一条一条命令挨个敲入,你就用鼠标复制粘贴就好了。
这也不好,在安装过程中你得守着它,得等每一条命令都执行完了再执行下一条命令。可以把命令提取出来,命令之间用&&连接,这就保证一定是前条命令正常执行了才能执行下一条命令。就可以每粘贴一次就安装一个软件包。为了看是否完全执行完毕,可以在安装命令之前及之后放一些提示信息,看到提示信息就知道安装成功。否则,就还是执行单条命令看是哪一条命令出错了。
提示信息有必要包括:LFS章节名称,软件包名,安装时间,执行路径……为了便于事后查看,这些信息还是重定向到一个日志文件中吧。有了这些信息,也就算是一个简单的软件包管理器了。
为提取命令,我写了一个perl文件。执行它,第一个参数是LFS的index页面文件名,第二个参数是你放软件包的目录,将运行结果重定向到一个文件。当然,你得检查修改这个文件。有些事情还是没法偷懒,比如前面所说的,你得自己动手修改。
- #! /usr/bin/perl -w
- # use File::Basename;
- sub extract {
- $line = join "", (<>);
- # push @cmds, $line;
-
- $line =~ /<title>\s+(.*)\s+<\/title>/is;
- $_ = $1;
- # s@<title>\s+@@gis;
- # s@\s+</title>@@gis;
- s@ @ @gi;
- s@\s*$@@gi;
- # push @cmds, "\n## "."="x62;
- push @cmds, "# # * * = = $_ = = * * # #\n";
- push @cmds, "echo "" >> ~/installed.log\necho '$_' >> ~/installed.log\n";
- s@^[0-9.]+@@;
- s@^\s*@@g;
- s@\s+@.*@g;
- s@-@.*@g;
- s@pass.*@.*@gi;
- $p = $_;
- # push @cmds, $p;
- @pkg = ();
- foreach (@pkgs) {
- push @pkg, $_ if (/$p/i);
- }
- # push @cmds, "\n" if (@pkg);
- foreach (@pkg) {
- $workdir = "tar jtf $_ | head -n 2";
- $workdir = `$workdir`;
- $workdir =~ s@.*\n@@;
- chomp $workdir;
- $workdir =~ s@\./@@g;
- $workdir =~ s@/.*@@g;
- s@.*/@../packages/@;
- push @cmds, "\ndate >> ~/installed.log &&\n";
- push @cmds, "tar jxvf $_ &&\n";
- push @cmds, "cd $workdir &&\n";
- push @cmds, "pwd >> ~/installed.log &&\n";
- push @cmds, "date >> ~/installed.log &&\n";
- }
-
- while ($line =~ /<kbd[^>]*>/is) {
- $tail = $&.$';
- $tail =~ /<\/kbd>/is;
- $_ = $`.$&;
- $line = $';
- s/<[^>]*>//gi;
- s/>/>/g;
- s/</</g;
- s/&/\&/g;
- push @cmds, "\n$_\n";
- }
- if (@pkg) {
- push @cmds, "\npwd >> ~/installed.log &&\n";
- push @cmds, "date >> ~/installed.log &&\n";
- push @cmds, "cd .. &&\n";
- push @cmds, "rm -rf $workdir\n";
- }
- }
- $pkgs = `ls $ARGV[1]/*.bz2`;
- @pkgs = split /\n/s, $pkgs;
- # push @cmds, @pkgs;
- $path = `dirname $ARGV[0]`;
- chomp $path;
- push @cmds, "# # * * = = $path = = * * # #\n\n";
- $head = join "", (<>);
- # push @cmds, $head;
- while ($head =~ /<li[^>]*class="sect1"[^>]*>/is) {
- # push @cmds, $&;
- $tail = $&.$';
- $tail =~ /<\/li>/is;
- $_ = $`.$&;
- $head = $';
- s@.*(<a href=[^>]*>)@$1@s;
- s@</a>.*@@s;
- s@\s+@ @gs;
- /.*"(.*)".*>(.*)/;
- $href = $1;
- $item = $2;
- $href =~ s@#.*@@;
- push @cmds, "\n";
- push @cmds, "# # * * = = $item = = * * # #\n";
- push @cmds, "# # * * = = $href = = * * # #\n";
- @ARGV = ("$path/$href");
- extract ();
- push @cmds, "\n";
- }
- print @cmds;
复制代码
- 工作目录,
LFS推荐$LFS/sources(在第五章),第六章进入chroot后就是/sources了。我则是在第六章最后调整工具链之后转到/usr/src/lfs下工作了,在第八章三节就将内核解至/usr/src下。
LFS假设你所有的软件包都放在$LFS/sources中,这不是一个好的地方,我是另建$LFS/packages目录放软件包。你看着办吧。 - 本地化,
咋中国人嘛,用汉字是避免不了的事情,但也要有开放的心态,其它的语言说不定哪个时候就会遇上呢。所以嘛,
在五章六节及六章十一节,locales还是全装为好,不过就花一个平常软件包的时间与空间,很值得,免得以后出问题还不知道是啥原因。 - 测试,
对于第五章的测试,我是全部略过去,第六章的测试,只做了LFS要求做的。对于测试结果,也最好是重定向到其它的文件中,以备以后查看。
需要测试的软件有:coreutils,glibc,gcc,binutils,perl。 - 重定向,
在安装过程中,有些重要信息有必要重定向到文件,以备日后查看。
在bash中,重定向或管道只对标准输出起作用,为取得错误输出,得先将错误输出重定向到标准输出,用"2>&1"可以实现。
对cat << EOF >> file格式,要在cat所在行尾加&&才能使&&起作用。
二,安装LFS,
- 2.3,
可以在mke2fs之后加上-j参数,就可以建立ext3文件系统。
也可以用mkfs.xfs命令建立XFS文件系统,这也是我所用的。 - 3.1,
将LFS环境变量的设置直接加到~/.bash_profile及~/.bashrc里吧,这样就在下次启机、登录时自动存在了,免得你每次都要手动去设置,怪烦的,也容易忘。 - 4.4,
在.bashrc中,加上"cd $LFS/sources",这样就可以每次登录lfs用户时自动进入工作目录。
最好是还加上一句"alias ls='ls --color'"。 - 5.1,5.2,6.1,
请仔细阅读,特别注意,很多提示都在这里。 - 6.2,
每次进入chroot前都要执行!
这主要是挂载一些内核文件系统。当然,退出后也有必要卸载这些文件系统。 - 6.3,
要进入chroot环境就要执行它。
可以把它与前一节的命令放在都放在一个命令文件里,每次执行此文件就行了。这是我的命令文件,
- #!/bin/sh
- # Only for chroot environment.
- mount -t proc proc $LFS/proc
- mount -t sysfs sysfs $LFS/sys
- mount -f -t tmpfs tmpfs $LFS/dev
- mount -f -t tmpfs tmpfs $LFS/dev/shm
- mount -f -t devpts -o gid=4,mode=620 devpts $LFS/dev/pts
- chroot "$LFS" /usr/bin/env -i \
- HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
- PATH=/bin:/usr/bin:/sbin:/usr/sbin \
- /bin/bash --login
- umount $LFS/dev/pts
- umount $LFS/dev/shm
- umount $LFS/dev
- umount $LFS/sys
- umount $LFS/proc
复制代码
- 6.8,
挂载设备文件系统,这是每次进入chroot环境后都必须执行的!可以将其放在~/.bash_profile中,下面是列出我的文件内容,
- # Only for chroot environment
- alias ls='ls --color'
- cat << "EOF"
- mount -n -t tmpfs none /dev
- mknod -m 622 /dev/console c 5 1
- mknod -m 666 /dev/null c 1 3
- mknod -m 666 /dev/zero c 1 5
- mknod -m 666 /dev/ptmx c 5 2
- mknod -m 666 /dev/tty c 5 0
- mknod -m 444 /dev/random c 1 8
- mknod -m 444 /dev/urandom c 1 9
- chown root:tty /dev/{console,ptmx,tty}
- ln -s /proc/self/fd /dev/fd
- ln -s /proc/self/fd/0 /dev/stdin
- ln -s /proc/self/fd/1 /dev/stdout
- ln -s /proc/self/fd/2 /dev/stderr
- ln -s /proc/kcore /dev/core
- mkdir /dev/pts
- mkdir /dev/shm
- mount -t devpts -o gid=4,mode=620 none /dev/pts
- mount -t tmpfs none /dev/shm
- /sbin/udevstart
- exec /bin/bash --login +h
- cd /usr/src/lfs
- EOF
复制代码
里面多了几句话,
- /sbin/udevstart
建立设备文件系统。虽然现在还没有,但在58节之后就有了。对后面的部分操作,必须有它才行。 - exec /bin/bash --login +h
用于替换掉/tools/bin/bash。虽然现的/bin/bash其实是指向/tools/bin/bash,但在第37节之后就会存在真正的/bin/bash了。现在执行它也没有坏处。由于它与~/.bash_profile存在循环,这些命令只是显示出来了,要手动执行它。用鼠标复制粘贴很方便的。
- 7.9,
设置locale,我选用的是en_US.utf8。 - 7.11,7.12,
用linux没上网可就很不方便,就是你没有网络,也设上吧,说不定哪天上帝慈悲,就让咱也去冲冲呢。 - 8.2,
按指示修改吧, - 8.3,
我是把它解到/usr/src下,把配置与编译命令存到一个文件中,放在/boot下。
配置时,按提示来。
再有,根设备、根文件系统不能编译成模块,切切!
其它的自己调整。下面是我的配置文件,
- #
- # Automatically generated make config: don't edit
- # Linux kernel version: 2.6.12.5
- # Fri Sep 23 16:15:14 2005
- #
- CONFIG_X86=y
- CONFIG_MMU=y
- CONFIG_UID16=y
- CONFIG_GENERIC_ISA_DMA=y
- CONFIG_GENERIC_IOMAP=y
- #
- # Code maturity level options
- #
- # CONFIG_EXPERIMENTAL is not set
- CONFIG_CLEAN_COMPILE=y
- CONFIG_LOCK_KERNEL=y
- CONFIG_INIT_ENV_ARG_LIMIT=32
- #
- # General setup
- #
- CONFIG_LOCALVERSION=""
- CONFIG_SWAP=y
- CONFIG_SYSVIPC=y
- CONFIG_BSD_PROCESS_ACCT=y
- # CONFIG_BSD_PROCESS_ACCT_V3 is not set
- CONFIG_SYSCTL=y
- CONFIG_AUDIT=y
- CONFIG_AUDITSYSCALL=y
- CONFIG_HOTPLUG=y
- CONFIG_KOBJECT_UEVENT=y
- CONFIG_IKCONFIG=y
- # CONFIG_IKCONFIG_PROC is not set
- CONFIG_CPUSETS=y
- # CONFIG_EMBEDDED is not set
- CONFIG_KALLSYMS=y
- # CONFIG_KALLSYMS_EXTRA_PASS is not set
- CONFIG_PRINTK=y
- CONFIG_BUG=y
- CONFIG_BASE_FULL=y
- CONFIG_FUTEX=y
- CONFIG_EPOLL=y
- CONFIG_SHMEM=y
- CONFIG_CC_ALIGN_FUNCTIONS=0
- CONFIG_CC_ALIGN_LABELS=0
- CONFIG_CC_ALIGN_LOOPS=0
- CONFIG_CC_ALIGN_JUMPS=0
- # CONFIG_TINY_SHMEM is not set
- CONFIG_BASE_SMALL=0
- #
- # Loadable module support
- #
- CONFIG_MODULES=y
- CONFIG_MODULE_UNLOAD=y
- CONFIG_OBSOLETE_MODPARM=y
- CONFIG_MODULE_SRCVERSION_ALL=y
- CONFIG_KMOD=y
- CONFIG_STOP_MACHINE=y
- #
- # Processor type and features
- #
- CONFIG_X86_PC=y
- # CONFIG_X86_ELAN is not set
- # CONFIG_X86_VOYAGER is not set
- # CONFIG_X86_NUMAQ is not set
- # CONFIG_X86_SUMMIT is not set
- # CONFIG_X86_BIGSMP is not set
- # CONFIG_X86_VISWS is not set
- # CONFIG_X86_GENERICARCH is not set
- # CONFIG_X86_ES7000 is not set
- # CONFIG_M386 is not set
- # CONFIG_M486 is not set
- # CONFIG_M586 is not set
- # CONFIG_M586TSC is not set
- # CONFIG_M586MMX is not set
- # CONFIG_M686 is not set
- # CONFIG_MPENTIUMII is not set
- # CONFIG_MPENTIUMIII is not set
- # CONFIG_MPENTIUMM is not set
- CONFIG_MPENTIUM4=y
- # CONFIG_MK6 is not set
- # CONFIG_MK7 is not set
- # CONFIG_MK8 is not set
- # CONFIG_MCRUSOE is not set
- # CONFIG_MEFFICEON is not set
- # CONFIG_MWINCHIPC6 is not set
- # CONFIG_MWINCHIP2 is not set
- # CONFIG_MWINCHIP3D is not set
- # CONFIG_MGEODEGX1 is not set
- # CONFIG_MCYRIXIII is not set
- # CONFIG_MVIAC3_2 is not set
- CONFIG_X86_GENERIC=y
- CONFIG_X86_CMPXCHG=y
- CONFIG_X86_XADD=y
- CONFIG_X86_L1_CACHE_SHIFT=7
- CONFIG_RWSEM_XCHGADD_ALGORITHM=y
- CONFIG_GENERIC_CALIBRATE_DELAY=y
- CONFIG_X86_WP_WORKS_OK=y
- CONFIG_X86_INVLPG=y
- CONFIG_X86_BSWAP=y
- CONFIG_X86_POPAD_OK=y
- CONFIG_X86_GOOD_APIC=y
- CONFIG_X86_INTEL_USERCOPY=y
- CONFIG_X86_USE_PPRO_CHECKSUM=y
- # CONFIG_HPET_TIMER is not set
- CONFIG_SMP=y
- CONFIG_NR_CPUS=8
- CONFIG_SCHED_SMT=y
- CONFIG_PREEMPT=y
- CONFIG_PREEMPT_BKL=y
- CONFIG_X86_LOCAL_APIC=y
- CONFIG_X86_IO_APIC=y
- CONFIG_X86_TSC=y
- CONFIG_X86_MCE=y
- # CONFIG_X86_MCE_NONFATAL is not set
- CONFIG_X86_MCE_P4THERMAL=y
- # CONFIG_TOSHIBA is not set
- # CONFIG_I8K is not set
- # CONFIG_X86_REBOOTFIXUPS is not set
- CONFIG_MICROCODE=m
- CONFIG_X86_MSR=m
- CONFIG_X86_CPUID=m
- #
- # Firmware Drivers
- #
- CONFIG_NOHIGHMEM=y
- # CONFIG_HIGHMEM4G is not set
- # CONFIG_HIGHMEM64G is not set
- # CONFIG_MATH_EMULATION is not set
- CONFIG_MTRR=y
- # CONFIG_EFI is not set
- CONFIG_IRQBALANCE=y
- CONFIG_HAVE_DEC_LOCK=y
- CONFIG_SECCOMP=y
- #
- # Power management options (ACPI, APM)
- #
- CONFIG_PM=y
- # CONFIG_PM_DEBUG is not set
- #
- # ACPI (Advanced Configuration and Power Interface) Support
- #
- CONFIG_ACPI=y
- CONFIG_ACPI_BOOT=y
- CONFIG_ACPI_INTERPRETER=y
- CONFIG_ACPI_AC=y
- CONFIG_ACPI_BATTERY=y
- CONFIG_ACPI_BUTTON=y
- CONFIG_ACPI_FAN=y
- CONFIG_ACPI_PROCESSOR=y
- CONFIG_ACPI_THERMAL=y
- # CONFIG_ACPI_ASUS is not set
- CONFIG_ACPI_IBM=m
- # CONFIG_ACPI_TOSHIBA is not set
- CONFIG_ACPI_BLACKLIST_YEAR=0
- # CONFIG_ACPI_DEBUG is not set
- CONFIG_ACPI_BUS=y
- CONFIG_ACPI_EC=y
- CONFIG_ACPI_POWER=y
- CONFIG_ACPI_PCI=y
- CONFIG_ACPI_SYSTEM=y
- #
- # APM (Advanced Power Management) BIOS Support
- #
- # CONFIG_APM is not set
- #
- # CPU Frequency scaling
- #
- # CONFIG_CPU_FREQ is not set
- #
- # Bus options (PCI, PCMCIA, EISA, MCA, ISA)
- #
- CONFIG_PCI=y
- # CONFIG_PCI_GOBIOS is not set
- # CONFIG_PCI_GOMMCONFIG is not set
- # CONFIG_PCI_GODIRECT is not set
- CONFIG_PCI_GOANY=y
- CONFIG_PCI_BIOS=y
- CONFIG_PCI_DIRECT=y
- CONFIG_PCI_MMCONFIG=y
- # CONFIG_PCIEPORTBUS is not set
- # CONFIG_PCI_MSI is not set
- CONFIG_PCI_LEGACY_PROC=y
- CONFIG_PCI_NAMES=y
- CONFIG_ISA_DMA_API=y
- CONFIG_ISA=y
- # CONFIG_EISA is not set
- # CONFIG_MCA is not set
- # CONFIG_SCx200 is not set
- #
- # PCCARD (PCMCIA/CardBus) support
- #
- # CONFIG_PCCARD is not set
- #
- # PCI Hotplug Support
- #
- #
- # Executable file formats
- #
- CONFIG_BINFMT_ELF=y
- CONFIG_BINFMT_AOUT=m
- CONFIG_BINFMT_MISC=m
- #
- # Device Drivers
- #
- #
- # Generic Driver Options
- #
- CONFIG_STANDALONE=y
- CONFIG_PREVENT_FIRMWARE_BUILD=y
- CONFIG_FW_LOADER=m
- #
- # Memory Technology Devices (MTD)
- #
- # CONFIG_MTD is not set
- #
- # Parallel port support
- #
- CONFIG_PARPORT=m
- CONFIG_PARPORT_PC=m
- # CONFIG_PARPORT_SERIAL is not set
- # CONFIG_PARPORT_GSC is not set
- # CONFIG_PARPORT_1284 is not set
- #
- # Plug and Play support
- #
- CONFIG_PNP=y
- # CONFIG_PNP_DEBUG is not set
- #
- # Protocols
- #
- # CONFIG_ISAPNP is not set
- #
- # Block devices
- #
- # CONFIG_BLK_DEV_FD is not set
- # CONFIG_BLK_DEV_XD is not set
- CONFIG_PARIDE=m
- CONFIG_PARIDE_PARPORT=m
- #
- # Parallel IDE high-level drivers
- #
- CONFIG_PARIDE_PD=m
- CONFIG_PARIDE_PCD=m
- CONFIG_PARIDE_PF=m
- # CONFIG_PARIDE_PT is not set
- CONFIG_PARIDE_PG=m
- #
- # Parallel IDE protocol modules
- #
- # CONFIG_PARIDE_ATEN is not set
- # CONFIG_PARIDE_BPCK is not set
- # CONFIG_PARIDE_BPCK6 is not set
- # CONFIG_PARIDE_COMM is not set
- # CONFIG_PARIDE_DSTR is not set
- # CONFIG_PARIDE_FIT2 is not set
- # CONFIG_PARIDE_FIT3 is not set
- # CONFIG_PARIDE_EPAT is not set
- # CONFIG_PARIDE_EPIA is not set
- # CONFIG_PARIDE_FRIQ is not set
- # CONFIG_PARIDE_FRPW is not set
- # CONFIG_PARIDE_KBIC is not set
- # CONFIG_PARIDE_KTTI is not set
- # CONFIG_PARIDE_ON20 is not set
- # CONFIG_PARIDE_ON26 is not set
- # CONFIG_BLK_CPQ_DA is not set
- # CONFIG_BLK_CPQ_CISS_DA is not set
- # CONFIG_BLK_DEV_DAC960 is not set
- # CONFIG_BLK_DEV_COW_COMMON is not set
- CONFIG_BLK_DEV_LOOP=m
- # CONFIG_BLK_DEV_CRYPTOLOOP is not set
- CONFIG_BLK_DEV_NBD=m
- # CONFIG_BLK_DEV_SX8 is not set
- CONFIG_BLK_DEV_UB=m
- CONFIG_BLK_DEV_RAM=m
- CONFIG_BLK_DEV_RAM_COUNT=16
- CONFIG_BLK_DEV_RAM_SIZE=4096
- CONFIG_INITRAMFS_SOURCE=""
- CONFIG_LBD=y
- # CONFIG_CDROM_PKTCDVD is not set
- #
- # IO Schedulers
- #
- CONFIG_IOSCHED_NOOP=y
- CONFIG_IOSCHED_AS=y
- CONFIG_IOSCHED_DEADLINE=y
- CONFIG_IOSCHED_CFQ=y
- # CONFIG_ATA_OVER_ETH is not set
- #
- # ATA/ATAPI/MFM/RLL support
- #
- CONFIG_IDE=y
- CONFIG_BLK_DEV_IDE=y
- #
- # Please see Documentation/ide.txt for help/info on IDE drives
- #
- # CONFIG_BLK_DEV_IDE_SATA is not set
- # CONFIG_BLK_DEV_HD_IDE is not set
- CONFIG_BLK_DEV_IDEDISK=y
- CONFIG_IDEDISK_MULTI_MODE=y
- CONFIG_BLK_DEV_IDECD=y
- # CONFIG_BLK_DEV_IDEFLOPPY is not set
- CONFIG_BLK_DEV_IDESCSI=m
- CONFIG_IDE_TASK_IOCTL=y
- #
- # IDE chipset support/bugfixes
- #
- CONFIG_IDE_GENERIC=y
- # CONFIG_BLK_DEV_CMD640 is not set
- # CONFIG_BLK_DEV_IDEPNP is not set
- CONFIG_BLK_DEV_IDEPCI=y
- CONFIG_IDEPCI_SHARE_IRQ=y
- # CONFIG_BLK_DEV_OFFBOARD is not set
- CONFIG_BLK_DEV_GENERIC=y
- CONFIG_BLK_DEV_RZ1000=y
- CONFIG_BLK_DEV_IDEDMA_PCI=y
- # CONFIG_BLK_DEV_IDEDMA_FORCED is not set
- CONFIG_IDEDMA_PCI_AUTO=y
- # CONFIG_IDEDMA_ONLYDISK is not set
- # CONFIG_BLK_DEV_AEC62XX is not set
- # CONFIG_BLK_DEV_ALI15X3 is not set
- # CONFIG_BLK_DEV_AMD74XX is not set
- # CONFIG_BLK_DEV_ATIIXP is not set
- # CONFIG_BLK_DEV_CMD64X is not set
- # CONFIG_BLK_DEV_TRIFLEX is not set
- # CONFIG_BLK_DEV_CY82C693 is not set
- # CONFIG_BLK_DEV_CS5530 is not set
- # CONFIG_BLK_DEV_HPT34X is not set
- # CONFIG_BLK_DEV_HPT366 is not set
- # CONFIG_BLK_DEV_SC1200 is not set
- CONFIG_BLK_DEV_PIIX=y
- # CONFIG_BLK_DEV_NS87415 is not set
- # CONFIG_BLK_DEV_PDC202XX_OLD is not set
- # CONFIG_BLK_DEV_PDC202XX_NEW is not set
- # CONFIG_BLK_DEV_SVWKS is not set
- # CONFIG_BLK_DEV_SIIMAGE is not set
- # CONFIG_BLK_DEV_SIS5513 is not set
- # CONFIG_BLK_DEV_SLC90E66 is not set
- # CONFIG_BLK_DEV_TRM290 is not set
- # CONFIG_BLK_DEV_VIA82CXXX is not set
- # CONFIG_IDE_ARM is not set
- # CONFIG_IDE_CHIPSETS is not set
- CONFIG_BLK_DEV_IDEDMA=y
- # CONFIG_IDEDMA_IVB is not set
- CONFIG_IDEDMA_AUTO=y
- # CONFIG_BLK_DEV_HD is not set
- #
- # SCSI device support
- #
- CONFIG_SCSI=y
- CONFIG_SCSI_PROC_FS=y
- #
- # SCSI support type (disk, tape, CD-ROM)
- #
- CONFIG_BLK_DEV_SD=y
- # CONFIG_CHR_DEV_ST is not set
- # CONFIG_CHR_DEV_OSST is not set
- # CONFIG_BLK_DEV_SR is not set
- CONFIG_CHR_DEV_SG=y
- #
- # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
- #
- # CONFIG_SCSI_MULTI_LUN is not set
- # CONFIG_SCSI_CONSTANTS is not set
- # CONFIG_SCSI_LOGGING is not set
- #
- # SCSI Transport Attributes
- #
- # CONFIG_SCSI_SPI_ATTRS is not set
- # CONFIG_SCSI_FC_ATTRS is not set
- # CONFIG_SCSI_ISCSI_ATTRS is not set
- #
- # SCSI low-level drivers
- #
- # CONFIG_BLK_DEV_3W_XXXX_RAID is not set
- # CONFIG_SCSI_3W_9XXX is not set
- # CONFIG_SCSI_7000FASST is not set
- # CONFIG_SCSI_ACARD is not set
- # CONFIG_SCSI_AHA152X is not set
- # CONFIG_SCSI_AHA1542 is not set
- # CONFIG_SCSI_AACRAID is not set
- # CONFIG_SCSI_AIC7XXX is not set
- # CONFIG_SCSI_AIC7XXX_OLD is not set
- # CONFIG_SCSI_AIC79XX is not set
- CONFIG_SCSI_DPT_I2O=m
- # CONFIG_SCSI_IN2000 is not set
- # CONFIG_MEGARAID_NEWGEN is not set
- # CONFIG_MEGARAID_LEGACY is not set
- CONFIG_SCSI_SATA=y
- # CONFIG_SCSI_SATA_AHCI is not set
- # CONFIG_SCSI_SATA_SVW is not set
- CONFIG_SCSI_ATA_PIIX=y
- # CONFIG_SCSI_SATA_PROMISE is not set
- # CONFIG_SCSI_SATA_QSTOR is not set
- # CONFIG_SCSI_SATA_VIA is not set
- # CONFIG_SCSI_SATA_VITESSE is not set
- # CONFIG_SCSI_BUSLOGIC is not set
- # CONFIG_SCSI_DMX3191D is not set
- # CONFIG_SCSI_DTC3280 is not set
- # CONFIG_SCSI_EATA is not set
- # CONFIG_SCSI_FUTURE_DOMAIN is not set
- # CONFIG_SCSI_GDTH is not set
- # CONFIG_SCSI_GENERIC_NCR5380 is not set
- # CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
- # CONFIG_SCSI_IPS is not set
- # CONFIG_SCSI_INITIO is not set
- # CONFIG_SCSI_INIA100 is not set
- # CONFIG_SCSI_PPA is not set
- # CONFIG_SCSI_IMM is not set
- # CONFIG_SCSI_NCR53C406A is not set
- # CONFIG_SCSI_SYM53C8XX_2 is not set
- CONFIG_SCSI_IPR=m
- # CONFIG_SCSI_IPR_TRACE is not set
- # CONFIG_SCSI_IPR_DUMP is not set
- # CONFIG_SCSI_PAS16 is not set
- # CONFIG_SCSI_PSI240I is not set
- # CONFIG_SCSI_QLOGIC_FAS is not set
- # CONFIG_SCSI_QLOGIC_FC is not set
- # CONFIG_SCSI_QLOGIC_1280 is not set
- CONFIG_SCSI_QLA2XXX=y
- # CONFIG_SCSI_QLA21XX is not set
- # CONFIG_SCSI_QLA22XX is not set
- # CONFIG_SCSI_QLA2300 is not set
- # CONFIG_SCSI_QLA2322 is not set
- # CONFIG_SCSI_QLA6312 is not set
- # CONFIG_SCSI_LPFC is not set
- # CONFIG_SCSI_SYM53C416 is not set
- # CONFIG_SCSI_DC390T is not set
- # CONFIG_SCSI_T128 is not set
- # CONFIG_SCSI_U14_34F is not set
- # CONFIG_SCSI_ULTRASTOR is not set
- # CONFIG_SCSI_NSP32 is not set
- # CONFIG_SCSI_DEBUG is not set
- #
- # Old CD-ROM drivers (not SCSI, not IDE)
- #
- # CONFIG_CD_NO_IDESCSI is not set
- #
- # Multi-device support (RAID and LVM)
- #
- # CONFIG_MD is not set
- #
- # Fusion MPT device support
- #
- # CONFIG_FUSION is not set
- #
- # IEEE 1394 (FireWire) support
- #
- CONFIG_IEEE1394=m
- #
- # Subsystem Options
- #
- # CONFIG_IEEE1394_VERBOSEDEBUG is not set
- # CONFIG_IEEE1394_OUI_DB is not set
- # CONFIG_IEEE1394_EXTRA_CONFIG_ROMS is not set
- #
- # Device Drivers
- #
- #
- # Texas Instruments PCILynx requires I2C
- #
- CONFIG_IEEE1394_OHCI1394=m
- #
- # Protocol Drivers
- #
- # CONFIG_IEEE1394_VIDEO1394 is not set
- # CONFIG_IEEE1394_SBP2 is not set
- # CONFIG_IEEE1394_DV1394 is not set
- CONFIG_IEEE1394_RAWIO=m
- # CONFIG_IEEE1394_CMP is not set
- #
- # I2O device support
- #
- # CONFIG_I2O is not set
- #
- # Networking support
- #
- CONFIG_NET=y
- #
- # Networking options
- #
- CONFIG_PACKET=y
- # CONFIG_PACKET_MMAP is not set
- CONFIG_UNIX=y
- # CONFIG_NET_KEY is not set
- CONFIG_INET=y
- CONFIG_IP_MULTICAST=y
- # CONFIG_IP_ADVANCED_ROUTER is not set
- # CONFIG_IP_PNP is not set
- # CONFIG_NET_IPIP is not set
- # CONFIG_NET_IPGRE is not set
- # CONFIG_IP_MROUTE is not set
- # CONFIG_SYN_COOKIES is not set
- # CONFIG_INET_AH is not set
- # CONFIG_INET_ESP is not set
- # CONFIG_INET_IPCOMP is not set
- # CONFIG_INET_TUNNEL is not set
- CONFIG_IP_TCPDIAG=y
- # CONFIG_IP_TCPDIAG_IPV6 is not set
- #
- # IP: Virtual Server Configuration
- #
- # CONFIG_IP_VS is not set
- # CONFIG_IPV6 is not set
- CONFIG_NETFILTER=y
- # CONFIG_NETFILTER_DEBUG is not set
- #
- # IP: Netfilter Configuration
- #
- CONFIG_IP_NF_CONNTRACK=y
- # CONFIG_IP_NF_CT_ACCT is not set
- # CONFIG_IP_NF_CONNTRACK_MARK is not set
- # CONFIG_IP_NF_FTP is not set
- # CONFIG_IP_NF_IRC is not set
- # CONFIG_IP_NF_TFTP is not set
- # CONFIG_IP_NF_AMANDA is not set
- CONFIG_IP_NF_QUEUE=y
- CONFIG_IP_NF_IPTABLES=y
- CONFIG_IP_NF_MATCH_LIMIT=y
- CONFIG_IP_NF_MATCH_IPRANGE=y
- CONFIG_IP_NF_MATCH_MAC=y
- CONFIG_IP_NF_MATCH_PKTTYPE=y
- CONFIG_IP_NF_MATCH_MARK=y
- CONFIG_IP_NF_MATCH_MULTIPORT=y
- CONFIG_IP_NF_MATCH_TOS=y
- CONFIG_IP_NF_MATCH_RECENT=y
- CONFIG_IP_NF_MATCH_ECN=y
- CONFIG_IP_NF_MATCH_DSCP=y
- CONFIG_IP_NF_MATCH_AH_ESP=y
- CONFIG_IP_NF_MATCH_LENGTH=y
- CONFIG_IP_NF_MATCH_TTL=y
- CONFIG_IP_NF_MATCH_TCPMSS=y
- CONFIG_IP_NF_MATCH_HELPER=y
- CONFIG_IP_NF_MATCH_STATE=y
- CONFIG_IP_NF_MATCH_CONNTRACK=y
- CONFIG_IP_NF_MATCH_OWNER=y
- # CONFIG_IP_NF_MATCH_ADDRTYPE is not set
- # CONFIG_IP_NF_MATCH_REALM is not set
- # CONFIG_IP_NF_MATCH_SCTP is not set
- # CONFIG_IP_NF_MATCH_COMMENT is not set
- # CONFIG_IP_NF_MATCH_HASHLIMIT is not set
- CONFIG_IP_NF_FILTER=y
- CONFIG_IP_NF_TARGET_REJECT=y
- CONFIG_IP_NF_TARGET_LOG=y
- CONFIG_IP_NF_TARGET_ULOG=y
- CONFIG_IP_NF_TARGET_TCPMSS=y
- CONFIG_IP_NF_NAT=y
- CONFIG_IP_NF_NAT_NEEDED=y
- CONFIG_IP_NF_TARGET_MASQUERADE=y
- CONFIG_IP_NF_TARGET_REDIRECT=y
- CONFIG_IP_NF_TARGET_NETMAP=y
- CONFIG_IP_NF_TARGET_SAME=y
- CONFIG_IP_NF_MANGLE=y
- CONFIG_IP_NF_TARGET_TOS=y
- CONFIG_IP_NF_TARGET_ECN=y
- CONFIG_IP_NF_TARGET_DSCP=y
- CONFIG_IP_NF_TARGET_MARK=y
- CONFIG_IP_NF_TARGET_CLASSIFY=y
- CONFIG_IP_NF_RAW=m
- CONFIG_IP_NF_TARGET_NOTRACK=m
- CONFIG_IP_NF_ARPTABLES=y
- CONFIG_IP_NF_ARPFILTER=y
- CONFIG_IP_NF_ARP_MANGLE=y
- # CONFIG_BRIDGE is not set
- # CONFIG_VLAN_8021Q is not set
- # CONFIG_DECNET is not set
- # CONFIG_LLC2 is not set
- # CONFIG_IPX is not set
- # CONFIG_ATALK is not set
- #
- # QoS and/or fair queueing
- #
- # CONFIG_NET_SCHED is not set
- # CONFIG_NET_CLS_ROUTE is not set
- #
- # Network testing
- #
- # CONFIG_NET_PKTGEN is not set
- # CONFIG_NETPOLL is not set
- # CONFIG_NET_POLL_CONTROLLER is not set
- # CONFIG_HAMRADIO is not set
- # CONFIG_IRDA is not set
- # CONFIG_BT is not set
- CONFIG_NETDEVICES=y
- CONFIG_DUMMY=m
- # CONFIG_BONDING is not set
- # CONFIG_EQUALIZER is not set
- # CONFIG_TUN is not set
- # CONFIG_NET_SB1000 is not set
- #
- # ARCnet devices
- #
- # CONFIG_ARCNET is not set
- #
- # Ethernet (10 or 100Mbit)
- #
- CONFIG_NET_ETHERNET=y
- CONFIG_MII=y
- # CONFIG_HAPPYMEAL is not set
- # CONFIG_SUNGEM is not set
- # CONFIG_NET_VENDOR_3COM is not set
- # CONFIG_LANCE is not set
- # CONFIG_NET_VENDOR_SMC is not set
- # CONFIG_NET_VENDOR_RACAL is not set
- #
- # Tulip family network device support
- #
- # CONFIG_NET_TULIP is not set
- # CONFIG_DEPCA is not set
- # CONFIG_HP100 is not set
- # CONFIG_NET_ISA is not set
- CONFIG_NET_PCI=y
- # CONFIG_PCNET32 is not set
- # CONFIG_AMD8111_ETH is not set
- # CONFIG_ADAPTEC_STARFIRE is not set
- # CONFIG_APRICOT is not set
- # CONFIG_CS89x0 is not set
- # CONFIG_DGRS is not set
- # CONFIG_EEPRO100 is not set
- # CONFIG_E100 is not set
- # CONFIG_FEALNX is not set
- # CONFIG_NATSEMI is not set
- # CONFIG_NE2K_PCI is not set
- CONFIG_8139TOO=y
- CONFIG_8139TOO_PIO=y
- # CONFIG_8139TOO_TUNE_TWISTER is not set
- # CONFIG_8139TOO_8129 is not set
- # CONFIG_8139_OLD_RX_RESET is not set
- # CONFIG_SIS900 is not set
- # CONFIG_EPIC100 is not set
- # CONFIG_SUNDANCE is not set
- # CONFIG_TLAN is not set
- # CONFIG_VIA_RHINE is not set
- # CONFIG_NET_POCKET is not set
- #
- # Ethernet (1000 Mbit)
- #
- # CONFIG_ACENIC is not set
- # CONFIG_DL2K is not set
- # CONFIG_E1000 is not set
- # CONFIG_NS83820 is not set
- # CONFIG_HAMACHI is not set
- # CONFIG_R8169 is not set
- # CONFIG_SK98LIN is not set
- # CONFIG_VIA_VELOCITY is not set
- # CONFIG_TIGON3 is not set
- # CONFIG_BNX2 is not set
- #
- # Ethernet (10000 Mbit)
- #
- # CONFIG_IXGB is not set
- # CONFIG_S2IO is not set
- #
- # Token Ring devices
- #
- # CONFIG_TR is not set
- #
- # Wireless LAN (non-hamradio)
- #
- # CONFIG_NET_RADIO is not set
- #
- # Wan interfaces
- #
- # CONFIG_WAN is not set
- # CONFIG_FDDI is not set
- # CONFIG_PLIP is not set
- # CONFIG_PPP is not set
- # CONFIG_SLIP is not set
- # CONFIG_NET_FC is not set
- #
- # ISDN subsystem
- #
- # CONFIG_ISDN is not set
- #
- # Telephony Support
- #
- # CONFIG_PHONE is not set
- #
- # Input device support
- #
- CONFIG_INPUT=y
- #
- # Userland interfaces
- #
- CONFIG_INPUT_MOUSEDEV=y
- CONFIG_INPUT_MOUSEDEV_PSAUX=y
- CONFIG_INPUT_MOUSEDEV_SCREEN_X=1600
- CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1200
- # CONFIG_INPUT_JOYDEV is not set
- # CONFIG_INPUT_TSDEV is not set
- # CONFIG_INPUT_EVDEV is not set
- # CONFIG_INPUT_EVBUG is not set
- #
- # Input Device Drivers
- #
- CONFIG_INPUT_KEYBOARD=y
- CONFIG_KEYBOARD_ATKBD=y
- # CONFIG_KEYBOARD_SUNKBD is not set
- # CONFIG_KEYBOARD_LKKBD is not set
- # CONFIG_KEYBOARD_XTKBD is not set
- # CONFIG_KEYBOARD_NEWTON is not set
- CONFIG_INPUT_MOUSE=y
- CONFIG_MOUSE_PS2=y
- # CONFIG_MOUSE_SERIAL is not set
- # CONFIG_MOUSE_INPORT is not set
- # CONFIG_MOUSE_LOGIBM is not set
- # CONFIG_MOUSE_PC110PAD is not set
- # CONFIG_MOUSE_VSXXXAA is not set
- # CONFIG_INPUT_JOYSTICK is not set
- # CONFIG_INPUT_TOUCHSCREEN is not set
- # CONFIG_INPUT_MISC is not set
- #
- # Hardware I/O ports
- #
- CONFIG_SERIO=y
- CONFIG_SERIO_I8042=y
- # CONFIG_SERIO_SERPORT is not set
- # CONFIG_SERIO_CT82C710 is not set
- # CONFIG_SERIO_PARKBD is not set
- # CONFIG_SERIO_PCIPS2 is not set
- CONFIG_SERIO_LIBPS2=y
- # CONFIG_SERIO_RAW is not set
- # CONFIG_GAMEPORT is not set
- #
- # Character devices
- #
- CONFIG_VT=y
- CONFIG_VT_CONSOLE=y
- CONFIG_HW_CONSOLE=y
- # CONFIG_SERIAL_NONSTANDARD is not set
- #
- # Serial drivers
- #
- CONFIG_SERIAL_8250=y
- # CONFIG_SERIAL_8250_CONSOLE is not set
- # CONFIG_SERIAL_8250_ACPI is not set
- CONFIG_SERIAL_8250_NR_UARTS=4
- # CONFIG_SERIAL_8250_EXTENDED is not set
- #
- # Non-8250 serial port support
- #
- CONFIG_SERIAL_CORE=y
- # CONFIG_SERIAL_JSM is not set
- CONFIG_UNIX98_PTYS=y
- CONFIG_LEGACY_PTYS=y
- CONFIG_LEGACY_PTY_COUNT=64
- CONFIG_PRINTER=m
- # CONFIG_LP_CONSOLE is not set
- # CONFIG_PPDEV is not set
- # CONFIG_TIPAR is not set
- #
- # IPMI
- #
- # CONFIG_IPMI_HANDLER is not set
- #
- # Watchdog Cards
- #
- # CONFIG_WATCHDOG is not set
- # CONFIG_HW_RANDOM is not set
- # CONFIG_NVRAM is not set
- # CONFIG_RTC is not set
- # CONFIG_GEN_RTC is not set
- # CONFIG_DTLK is not set
- # CONFIG_R3964 is not set
- # CONFIG_APPLICOM is not set
- #
- # Ftape, the floppy tape device driver
- #
- CONFIG_AGP=m
- # CONFIG_AGP_ALI is not set
- # CONFIG_AGP_ATI is not set
- # CONFIG_AGP_AMD is not set
- # CONFIG_AGP_AMD64 is not set
- CONFIG_AGP_INTEL=m
- CONFIG_AGP_NVIDIA=m
- # CONFIG_AGP_SIS is not set
- # CONFIG_AGP_SWORKS is not set
- # CONFIG_AGP_VIA is not set
- # CONFIG_AGP_EFFICEON is not set
- CONFIG_DRM=m
- # CONFIG_DRM_TDFX is not set
- # CONFIG_DRM_R128 is not set
- # CONFIG_DRM_RADEON is not set
- # CONFIG_DRM_I810 is not set
- # CONFIG_DRM_I830 is not set
- # CONFIG_DRM_I915 is not set
- # CONFIG_DRM_MGA is not set
- # CONFIG_DRM_SIS is not set
- # CONFIG_MWAVE is not set
- # CONFIG_RAW_DRIVER is not set
- # CONFIG_HPET is not set
- # CONFIG_HANGCHECK_TIMER is not set
- #
- # TPM devices
- #
- #
- # I2C support
- #
- # CONFIG_I2C is not set
- #
- # Dallas's 1-wire bus
- #
- # CONFIG_W1 is not set
- #
- # Misc devices
- #
- #
- # Multimedia devices
- #
- # CONFIG_VIDEO_DEV is not set
- #
- # Digital Video Broadcasting Devices
- #
- # CONFIG_DVB is not set
- #
- # Graphics support
- #
- CONFIG_FB=m
- CONFIG_FB_CFB_FILLRECT=m
- CONFIG_FB_CFB_COPYAREA=m
- CONFIG_FB_CFB_IMAGEBLIT=m
- CONFIG_FB_SOFT_CURSOR=m
- # CONFIG_FB_MACMODES is not set
- CONFIG_FB_MODE_HELPERS=y
- # CONFIG_FB_TILEBLITTING is not set
- # CONFIG_FB_CIRRUS is not set
- # CONFIG_FB_PM2 is not set
- # CONFIG_FB_CYBER2000 is not set
- # CONFIG_FB_VGA16 is not set
- # CONFIG_VIDEO_SELECT is not set
- # CONFIG_FB_HGA is not set
- CONFIG_FB_NVIDIA=m
- # CONFIG_FB_NVIDIA_I2C is not set
- CONFIG_FB_RIVA=m
- # CONFIG_FB_RIVA_I2C is not set
- # CONFIG_FB_RIVA_DEBUG is not set
- # CONFIG_FB_MATROX is not set
- # CONFIG_FB_RADEON_OLD is not set
- # CONFIG_FB_RADEON is not set
- # CONFIG_FB_ATY128 is not set
- # CONFIG_FB_ATY is not set
- # CONFIG_FB_SIS is not set
- # CONFIG_FB_NEOMAGIC is not set
- # CONFIG_FB_KYRO is not set
- # CONFIG_FB_3DFX is not set
- # CONFIG_FB_VOODOO1 is not set
- # CONFIG_FB_TRIDENT is not set
- # CONFIG_FB_S1D13XXX is not set
- # CONFIG_FB_VIRTUAL is not set
- #
- # Console display driver support
- #
- CONFIG_VGA_CONSOLE=y
- # CONFIG_MDA_CONSOLE is not set
- CONFIG_DUMMY_CONSOLE=y
- # CONFIG_FRAMEBUFFER_CONSOLE is not set
- #
- # Logo configuration
- #
- # CONFIG_LOGO is not set
- # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
- #
- # Sound
- #
- CONFIG_SOUND=y
- #
- # Advanced Linux Sound Architecture
- #
- CONFIG_SND=y
- CONFIG_SND_TIMER=y
- CONFIG_SND_PCM=y
- CONFIG_SND_SEQUENCER=y
- # CONFIG_SND_SEQ_DUMMY is not set
- CONFIG_SND_OSSEMUL=y
- CONFIG_SND_MIXER_OSS=y
- CONFIG_SND_PCM_OSS=y
- CONFIG_SND_SEQUENCER_OSS=y
- # CONFIG_SND_VERBOSE_PRINTK is not set
- # CONFIG_SND_DEBUG is not set
- #
- # Generic devices
- #
- # CONFIG_SND_DUMMY is not set
- # CONFIG_SND_VIRMIDI is not set
- # CONFIG_SND_MTPAV is not set
- # CONFIG_SND_SERIAL_U16550 is not set
- # CONFIG_SND_MPU401 is not set
- #
- # ISA devices
- #
- # CONFIG_SND_AD1848 is not set
- # CONFIG_SND_CS4231 is not set
- # CONFIG_SND_CS4232 is not set
- # CONFIG_SND_CS4236 is not set
- # CONFIG_SND_ES1688 is not set
- # CONFIG_SND_ES18XX is not set
- # CONFIG_SND_GUSCLASSIC is not set
- # CONFIG_SND_GUSEXTREME is not set
- # CONFIG_SND_GUSMAX is not set
- # CONFIG_SND_INTERWAVE is not set
- # CONFIG_SND_INTERWAVE_STB is not set
- # CONFIG_SND_OPTI92X_AD1848 is not set
- # CONFIG_SND_OPTI92X_CS4231 is not set
- # CONFIG_SND_OPTI93X is not set
- # CONFIG_SND_SB8 is not set
- # CONFIG_SND_SB16 is not set
- # CONFIG_SND_SBAWE is not set
- # CONFIG_SND_WAVEFRONT is not set
- # CONFIG_SND_CMI8330 is not set
- # CONFIG_SND_OPL3SA2 is not set
- # CONFIG_SND_SGALAXY is not set
- # CONFIG_SND_SSCAPE is not set
- #
- # PCI devices
- #
- CONFIG_SND_AC97_CODEC=y
- # CONFIG_SND_ALI5451 is not set
- # CONFIG_SND_ATIIXP is not set
- # CONFIG_SND_ATIIXP_MODEM is not set
- # CONFIG_SND_AU8810 is not set
- # CONFIG_SND_AU8820 is not set
- # CONFIG_SND_AU8830 is not set
- # CONFIG_SND_BT87X is not set
- # CONFIG_SND_CS46XX is not set
- # CONFIG_SND_CS4281 is not set
- # CONFIG_SND_EMU10K1 is not set
- # CONFIG_SND_EMU10K1X is not set
- # CONFIG_SND_CA0106 is not set
- # CONFIG_SND_KORG1212 is not set
- # CONFIG_SND_MIXART is not set
- # CONFIG_SND_NM256 is not set
- # CONFIG_SND_RME32 is not set
- # CONFIG_SND_RME96 is not set
- # CONFIG_SND_RME9652 is not set
- # CONFIG_SND_HDSP is not set
- # CONFIG_SND_TRIDENT is not set
- # CONFIG_SND_YMFPCI is not set
- # CONFIG_SND_ALS4000 is not set
- # CONFIG_SND_CMIPCI is not set
- # CONFIG_SND_ENS1370 is not set
- # CONFIG_SND_ENS1371 is not set
- # CONFIG_SND_ES1938 is not set
- # CONFIG_SND_ES1968 is not set
- # CONFIG_SND_MAESTRO3 is not set
- # CONFIG_SND_FM801 is not set
- # CONFIG_SND_ICE1712 is not set
- # CONFIG_SND_ICE1724 is not set
- CONFIG_SND_INTEL8X0=y
- # CONFIG_SND_SONICVIBES is not set
- # CONFIG_SND_VIA82XX is not set
- # CONFIG_SND_VIA82XX_MODEM is not set
- # CONFIG_SND_VX222 is not set
- # CONFIG_SND_HDA_INTEL is not set
- #
- # USB devices
- #
- # CONFIG_SND_USB_AUDIO is not set
- # CONFIG_SND_USB_USX2Y is not set
- #
- # Open Sound System
- #
- # CONFIG_SOUND_PRIME is not set
- #
- # USB support
- #
- CONFIG_USB_ARCH_HAS_HCD=y
- CONFIG_USB_ARCH_HAS_OHCI=y
- CONFIG_USB=y
- # CONFIG_USB_DEBUG is not set
- #
- # Miscellaneous USB options
- #
- CONFIG_USB_DEVICEFS=y
- #
- # USB Host Controller Drivers
- #
- CONFIG_USB_EHCI_HCD=y
- # CONFIG_USB_OHCI_HCD is not set
- CONFIG_USB_UHCI_HCD=y
- # CONFIG_USB_SL811_HCD is not set
- #
- # USB Device Class drivers
- #
- # CONFIG_USB_AUDIO is not set
- # CONFIG_USB_BLUETOOTH_TTY is not set
- # CONFIG_USB_MIDI is not set
- # CONFIG_USB_ACM is not set
- CONFIG_USB_PRINTER=m
- #
- # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
- #
- CONFIG_USB_STORAGE=y
- # CONFIG_USB_STORAGE_DEBUG is not set
- # CONFIG_USB_STORAGE_FREECOM is not set
- # CONFIG_USB_STORAGE_ISD200 is not set
- # CONFIG_USB_STORAGE_DPCM is not set
- #
- # USB Input Devices
- #
- CONFIG_USB_HID=y
- CONFIG_USB_HIDINPUT=y
- # CONFIG_USB_HIDDEV is not set
- # CONFIG_USB_AIPTEK is not set
- # CONFIG_USB_WACOM is not set
- # CONFIG_USB_KBTAB is not set
- # CONFIG_USB_POWERMATE is not set
- # CONFIG_USB_MTOUCH is not set
- CONFIG_USB_EGALAX=m
- # CONFIG_USB_XPAD is not set
- # CONFIG_USB_ATI_REMOTE is not set
- #
- # USB Imaging devices
- #
- # CONFIG_USB_MICROTEK is not set
- #
- # USB Multimedia devices
- #
- # CONFIG_USB_DABUSB is not set
- #
- # Video4Linux support is needed for USB Multimedia device support
- #
- #
- # USB Network Adapters
- #
- # CONFIG_USB_KAWETH is not set
- # CONFIG_USB_PEGASUS is not set
- # CONFIG_USB_USBNET is not set
- CONFIG_USB_MON=y
- #
- # USB port drivers
- #
- # CONFIG_USB_USS720 is not set
- #
- # USB Serial Converter support
- #
- # CONFIG_USB_SERIAL is not set
- #
- # USB Miscellaneous drivers
- #
- # CONFIG_USB_EMI62 is not set
- # CONFIG_USB_EMI26 is not set
- # CONFIG_USB_LCD is not set
- # CONFIG_USB_LED is not set
- CONFIG_USB_CYTHERM=m
- # CONFIG_USB_PHIDGETKIT is not set
- CONFIG_USB_PHIDGETSERVO=m
- # CONFIG_USB_IDMOUSE is not set
- # CONFIG_USB_SISUSBVGA is not set
- #
- # USB ATM/DSL drivers
- #
- #
- # USB Gadget Support
- #
- # CONFIG_USB_GADGET is not set
- #
- # MMC/SD Card support
- #
- # CONFIG_MMC is not set
- #
- # InfiniBand support
- #
- # CONFIG_INFINIBAND is not set
- #
- # File systems
- #
- CONFIG_EXT2_FS=y
- # CONFIG_EXT2_FS_XATTR is not set
- CONFIG_EXT3_FS=y
- CONFIG_EXT3_FS_XATTR=y
- CONFIG_EXT3_FS_POSIX_ACL=y
- CONFIG_EXT3_FS_SECURITY=y
- CONFIG_JBD=y
- # CONFIG_JBD_DEBUG is not set
- CONFIG_FS_MBCACHE=y
- CONFIG_REISERFS_FS=m
- # CONFIG_REISERFS_CHECK is not set
- CONFIG_REISERFS_PROC_INFO=y
- CONFIG_REISERFS_FS_XATTR=y
- CONFIG_REISERFS_FS_POSIX_ACL=y
- CONFIG_REISERFS_FS_SECURITY=y
- CONFIG_JFS_FS=m
- CONFIG_JFS_POSIX_ACL=y
- CONFIG_JFS_SECURITY=y
- # CONFIG_JFS_DEBUG is not set
- CONFIG_JFS_STATISTICS=y
- CONFIG_FS_POSIX_ACL=y
- #
- # XFS support
- #
- CONFIG_XFS_FS=y
- CONFIG_XFS_EXPORT=y
- CONFIG_XFS_QUOTA=y
- CONFIG_XFS_SECURITY=y
- CONFIG_XFS_POSIX_ACL=y
- # CONFIG_MINIX_FS is not set
- # CONFIG_ROMFS_FS is not set
- CONFIG_QUOTA=y
- # CONFIG_QFMT_V1 is not set
- # CONFIG_QFMT_V2 is not set
- CONFIG_QUOTACTL=y
- CONFIG_DNOTIFY=y
- CONFIG_AUTOFS_FS=m
- CONFIG_AUTOFS4_FS=m
- #
- # CD-ROM/DVD Filesystems
- #
- CONFIG_ISO9660_FS=m
- CONFIG_JOLIET=y
- # CONFIG_ZISOFS is not set
- CONFIG_UDF_FS=m
- CONFIG_UDF_NLS=y
- #
- # DOS/FAT/NT Filesystems
- #
- CONFIG_FAT_FS=m
- CONFIG_MSDOS_FS=m
- CONFIG_VFAT_FS=m
- CONFIG_FAT_DEFAULT_CODEPAGE=437
- CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
- CONFIG_NTFS_FS=m
- # CONFIG_NTFS_DEBUG is not set
- CONFIG_NTFS_RW=y
- #
- # Pseudo filesystems
- #
- CONFIG_PROC_FS=y
- CONFIG_PROC_KCORE=y
- CONFIG_SYSFS=y
- # CONFIG_DEVPTS_FS_XATTR is not set
- CONFIG_TMPFS=y
- # CONFIG_TMPFS_XATTR is not set
- # CONFIG_HUGETLBFS is not set
- # CONFIG_HUGETLB_PAGE is not set
- CONFIG_RAMFS=y
- #
- # Miscellaneous filesystems
- #
- # CONFIG_HFSPLUS_FS is not set
- # CONFIG_CRAMFS is not set
- # CONFIG_VXFS_FS is not set
- # CONFIG_HPFS_FS is not set
- # CONFIG_QNX4FS_FS is not set
- # CONFIG_SYSV_FS is not set
- # CONFIG_UFS_FS is not set
- #
- # Network File Systems
- #
- CONFIG_NFS_FS=m
- # CONFIG_NFS_V3 is not set
- CONFIG_NFSD=m
- # CONFIG_NFSD_V3 is not set
- CONFIG_NFSD_TCP=y
- CONFIG_LOCKD=m
- CONFIG_EXPORTFS=y
- CONFIG_SUNRPC=m
- CONFIG_SMB_FS=m
- # CONFIG_SMB_NLS_DEFAULT is not set
- CONFIG_CIFS=m
- # CONFIG_CIFS_STATS is not set
- # CONFIG_CIFS_XATTR is not set
- # CONFIG_CIFS_EXPERIMENTAL is not set
- # CONFIG_NCP_FS is not set
- CONFIG_CODA_FS=m
- # CONFIG_CODA_FS_OLD_API is not set
- #
- # Partition Types
- #
- # CONFIG_PARTITION_ADVANCED is not set
- CONFIG_MSDOS_PARTITION=y
- #
- # Native Language Support
- #
- CONFIG_NLS=y
- CONFIG_NLS_DEFAULT="iso8859-1"
- CONFIG_NLS_CODEPAGE_437=y
- # CONFIG_NLS_CODEPAGE_737 is not set
- # CONFIG_NLS_CODEPAGE_775 is not set
- # CONFIG_NLS_CODEPAGE_850 is not set
- # CONFIG_NLS_CODEPAGE_852 is not set
- # CONFIG_NLS_CODEPAGE_855 is not set
- # CONFIG_NLS_CODEPAGE_857 is not set
- # CONFIG_NLS_CODEPAGE_860 is not set
- # CONFIG_NLS_CODEPAGE_861 is not set
- # CONFIG_NLS_CODEPAGE_862 is not set
- # CONFIG_NLS_CODEPAGE_863 is not set
- # CONFIG_NLS_CODEPAGE_864 is not set
- # CONFIG_NLS_CODEPAGE_865 is not set
- # CONFIG_NLS_CODEPAGE_866 is not set
- # CONFIG_NLS_CODEPAGE_869 is not set
- CONFIG_NLS_CODEPAGE_936=m
- CONFIG_NLS_CODEPAGE_950=m
- # CONFIG_NLS_CODEPAGE_932 is not set
- # CONFIG_NLS_CODEPAGE_949 is not set
- # CONFIG_NLS_CODEPAGE_874 is not set
- # CONFIG_NLS_ISO8859_8 is not set
- # CONFIG_NLS_CODEPAGE_1250 is not set
- # CONFIG_NLS_CODEPAGE_1251 is not set
- CONFIG_NLS_ASCII=y
- CONFIG_NLS_ISO8859_1=y
- # CONFIG_NLS_ISO8859_2 is not set
- # CONFIG_NLS_ISO8859_3 is not set
- # CONFIG_NLS_ISO8859_4 is not set
- # CONFIG_NLS_ISO8859_5 is not set
- # CONFIG_NLS_ISO8859_6 is not set
- # CONFIG_NLS_ISO8859_7 is not set
- # CONFIG_NLS_ISO8859_9 is not set
- # CONFIG_NLS_ISO8859_13 is not set
- # CONFIG_NLS_ISO8859_14 is not set
- # CONFIG_NLS_ISO8859_15 is not set
- # CONFIG_NLS_KOI8_R is not set
- # CONFIG_NLS_KOI8_U is not set
- CONFIG_NLS_UTF8=m
- #
- # Kernel hacking
- #
- # CONFIG_PRINTK_TIME is not set
- # CONFIG_DEBUG_KERNEL is not set
- CONFIG_LOG_BUF_SHIFT=15
- CONFIG_DEBUG_BUGVERBOSE=y
- CONFIG_EARLY_PRINTK=y
- CONFIG_X86_FIND_SMP_CONFIG=y
- CONFIG_X86_MPPARSE=y
- #
- # Security options
- #
- # CONFIG_KEYS is not set
- # CONFIG_SECURITY is not set
- #
- # Cryptographic options
- #
- # CONFIG_CRYPTO is not set
- #
- # Hardware crypto devices
- #
- #
- # Library routines
- #
- # CONFIG_CRC_CCITT is not set
- CONFIG_CRC32=y
- CONFIG_LIBCRC32C=m
- CONFIG_GENERIC_HARDIRQS=y
- CONFIG_GENERIC_IRQ_PROBE=y
- CONFIG_X86_SMP=y
- CONFIG_X86_HT=y
- CONFIG_X86_BIOS_REBOOT=y
- CONFIG_X86_TRAMPOLINE=y
- CONFIG_PC=y
复制代码
切记!不要直接用我的配置。你可以先按你自己的配置,将你的配置文件与我的配置文件作比较,看哪些是不同的。没必要和我的一样。我的配置也有问题,还在调整呢。如果哪位看出问题了,也请指正。 - 8.4,
如果你是在真实主机系统上,可以只调整主机系统的启动配置文件,待LFS可用时才写新的grub。
对于虚拟机就不能取巧了。
三,安装BLFS,
我是用于桌面办公系统,得有X Window,要安装其它软件,还得有浏览器,最基本的,逃不掉。其它的,慢慢排。
浏览器,先用简单点的,lynx还比较好用,还得有鼠标,要装gpm。顺序嘛,就lynx,gpm。
这些装好后,就着手把X装起来。有了X,还得有wm(窗口管理器)才能用嘛,先别想de(桌面环境)。我用的是fvwm,简洁、小巧,至于说功能强,那是要到你我都要有很高要求是才会想到的。
对fvwm,源代码包中的sample.fvwmrc/system.fvwm2rc是一个很好的起步点。我也是在此基础上着手,参考其它的设置,逐步修改成自己喜欢的样子。
下一步就是装个图形界面的浏览器,我用的是firefox。
X、firefox有了,你就可以慢条斯理地再装其它软件了。(如果你需要连接到服务器上工作,先装个ssh吧,就可以心安理得的一边工作一边装系统了。)
blfs需要的软件包很多,也大得多。要是你点鼠标下载,那就是一件费时费力的事,我的5.1.1系统没进行下去就是这个原因。后来嘛,我就写了一个perl程序,用于提取软件包的链接,参数就是blfs的各页面,
- #! /usr/bin/perl -w
- # print "$ARGV[0]\n";
- $fc = join "", (<>);
- while ($fc =~ /<[^>]+>/) {
- $fc = $';
- $_ = $&;
- # print "S:\t$_\n\n";
- if (/href/i) {
- # print "$_\n";
- s/^.*href//i;
- /"[^"]+"/;
- $_ = $&;
- s/"//g;
- # print "$_\n";
- if ((/^http/i) || (/^ftp/i)) {
- $temp = $_;
- next if (/\/$/);
- s@^.*/@@;
- next if (/[:?#]/);
- next if (/^[a-z_-]+$/i);
- next if (/^[0-9._-]+$/);
- next if (/^[a-z0-9_-]+$/i);
- next if (/md5sum/i);
- next if (/html?$/i);
- next if (/php3?$/i);
- next if (/log$/i);
- next if (/org$/i);
- next if (/net$/i);
- next if (/com$/i);
- next if (/root$/i);
- next if (/usb$/i);
- next if (/pc$/i);
- next if (/linux$/i);
- next if (/jsp$/i);
- next if (/perldlrc$/i);
- print "$temp\n";
- # print "$temp\n" if (/\.tar/i);
- # print "$temp\n" if (/\.patch/i);
- # print "$temp\n";
- }
- }
- }
- # print "\n";
复制代码
在装blfs时,就没必要像lfs那样,用鼠标粘贴命令。现在要用安装命令稿文件,就是先把命令提取出来,把其它有必要的命令也写进去,到最后执行此命令文件就行了。
这项工作可有点枯燥,可不是人干的。我写了一个perl文件,就干这事。第一个参数是blfs软件包的页面,第二个参数是软件包所在目录。提取出命令之后,再编辑一下,就可以了。注意,命令之间要用&&连接起来,以确保所有的命令都正确执行。
- #! /usr/bin/perl -w
- $pp = $ARGV[1];
- $pp =~ s@/*$@@;
- $ARGV = ($ARGV[0]);
- $fc = join "", (<>);
- # print $fc;
- $fc =~ /<div class="sect1"[^>]*>/is;
- $title = $';
- $title =~ /<h1[^>]*>\s+(.*)\s+<\/h1>/is;
- $_ = $1;
- # s@<title>\s+@@gis;
- # s@\s+</title>@@gis;
- s@ @ @gi;
- s@\s*$@@gi;
- # print "\n## "."="x62;
- print STDERR "==== $_ ====\n";
- print "#!/bin/sh\n";
- print "\necho -e "\\n$_" >> /root/installed.log\n";
- $fc =~ /Download \(HTTP\)[^<]*<[^>]*>/is;
- $ph = $&;
- $fc =~ /Download \(FTP\)[^<]*<[^>]*>/is;
- $pf = $&;
- $ph =~ s@.*"(.*)".*@$1@is;
- $pf =~ s@.*"(.*)".*@$1@is;
- $pn = $ph if ($ph =~ /tp/i);
- $pn = $pf if ($pf =~ /tp/i);
- # print "$pn\n";
- $pn =~ s@.*/@@;
- # print "$pn\n";
- $wd = "tar tf $pp/$pn | head -n 2";
- $wd = `$wd`;
- $wd =~ s@.*\n@@;
- chomp $wd;
- $wd =~ s@\./@@g;
- $wd =~ s@/.*@@g;
- s@^.*/@packages/@;
- print "\ndate >> /root/installed.log &&\n";
- print "tar xvf $pp/$pn &&\n";
- print "cd $wd &&\n";
- print "pwd >> /root/installed.log &&\n";
- print "date >> /root/installed.log &&\n";
- while ($fc =~ /<kbd[^>]*>/is) {
- $tail = $&.$';
- $tail =~ /<\/kbd>/is;
- $_ = $`.$&;
- $fc = $';
- s/<[^>]*>//gi;
- s/>/>/g;
- s/</</g;
- s/&/\&/g;
- print "\n$_\n";
- }
- print "\npwd >> /root/installed.log &&\n";
- print "date >> /root/installed.log &&\n";
- print "cd .. &&\n";
- print "rm -rf $wd\n\n";
复制代码
附加的信息可以作为包管理器之用。
还有部分软件包不在blfs中,但又不得不装,它的信息也得记下来。下面的程序就用于生成附加信息及安装命令,参数就是要安装的软件包,
- #! /usr/bin/perl -w
- $pp = $ARGV[0];
- $_ = $pp;
- s@.*/@@;
- s@\.tar.*$@@;
- $pn = $_;
- $_ = "tar tf $pp | head -n 2";
- $_ = `$_`;
- s@.*\n@@;
- chomp $_;
- s@\./@@g;
- s@/.*@@g;
- $wd = $_;
- print STDERR "==== $pn ====\n";
- print "#!/bin/sh\n";
- print "\necho -e "\\n$pn" >> /root/installed.log\n";
- print "\ndate >> /root/installed.log &&\n";
- print "tar xvf $pp &&\n";
- print "cd $wd &&\n";
- print "pwd >> /root/installed.log &&\n";
- print "date >> /root/installed.log &&\n";
- print "\n./configure --prefix=/usr --sysconfdir=/etc &&\n";
- print "make &&\n";
- print "make install &&\n";
- print "\npwd >> /root/installed.log &&\n";
- print "date >> /root/installed.log &&\n";
- print "cd .. &&\n";
- print "rm -rf $wd\n\n";
复制代码
装blfs时,最麻烦的是依赖关系。按"Required"、"Recommended"、"Optional"顺序排,先拣最重要的,主要是要满足"Required",其它的慢慢考虑。
这依赖关系可是很复杂的,我想写一个程序,自动分析。算法初步想通了,大家先给点掌声……我可是很爱慕虚荣的哦。:thank
- 第一步,先把所有依赖列出来;
- 第二步,分析"Required"、"Recommended"、"Optional",所有依赖,只要沾"Recommended"就是放到"Recommended"中,沾"Optional"就是放到"Optional"中,再把循环依赖放到另一个"Loop Optional"中。
- 第三步,按"Required"、"Recommended"、"Optional"把顺序排出来;
- 第四步,将本软件列出来;并将"Required"、"Recommended"、"Optional"填入"installed"中,
- 第五步,再排"Loop Optional",排好后,再列一次本软件,并将及本软件填入"installed"中。
四,备份,
系统是拿来用的,谁都不想有事没事就装系统。但我们在使用中难免出现一些误操作;构建系统过程中也可能出现误操作(我也就出现一次小错误,把/bin删除了,还要拿来给你们说事。);或者是某个不知道的原因,某个软件就是装不上(我现在公司的机器上就是装不上firefox,下面的操作也没法进行,弄得我不得不在windows下写这篇文章);或者某些设置有问题,又不知道如何解决。诸如此类的问题,致不得不返回到以前的某个状态。
如果我们对系统作了备份,可以减少这一类的问题带来的困扰。勤作备份很好。如下几个状态最好单独保存出来,LFS刚装好并能启动之时,X能用之时,wm能用之时,图形界面浏览器能用之时。其它的嘛,就自己看着办。
备份时,最好不要是在运行LFS时,可以用你的主系统来备份,也可以用LiveCD。以后主系统也没多大用,还是刻一张LiveCD吧。 |
|