LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1293|回复: 1

LFS、BLFS心得

[复制链接]
发表于 2005-10-9 11:47:39 | 显示全部楼层 |阅读模式
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页面文件名,第二个参数是你放软件包的目录,将运行结果重定向到一个文件。当然,你得检查修改这个文件。有些事情还是没法偷懒,比如前面所说的,你得自己动手修改。

    1. #! /usr/bin/perl -w

    2. # use File::Basename;

    3. sub extract {
    4.     $line = join "", (<>);
    5.     # push @cmds, $line;
    6.    
    7.     $line =~ /<title>\s+(.*)\s+<\/title>/is;
    8.     $_ = $1;
    9.     # s@<title>\s+@@gis;
    10.     # s@\s+</title>@@gis;
    11.     s@&nbsp;@ @gi;
    12.     s@\s*$@@gi;
    13.     # push @cmds, "\n## "."="x62;
    14.     push @cmds, "# # * * = = $_ = = * * # #\n";
    15.     push @cmds, "echo "" >> ~/installed.log\necho '$_' >> ~/installed.log\n";
    16.     s@^[0-9.]+@@;
    17.     s@^\s*@@g;
    18.     s@\s+@.*@g;
    19.     s@-@.*@g;
    20.     s@pass.*@.*@gi;
    21.     $p = $_;
    22.     # push @cmds, $p;

    23.     @pkg = ();
    24.     foreach (@pkgs) {
    25.         push @pkg, $_ if (/$p/i);
    26.         }
    27.     # push @cmds, "\n" if (@pkg);
    28.     foreach (@pkg) {
    29.         $workdir = "tar jtf $_ | head -n 2";
    30.         $workdir = `$workdir`;
    31.         $workdir =~ s@.*\n@@;
    32.         chomp $workdir;
    33.         $workdir =~ s@\./@@g;
    34.         $workdir =~ s@/.*@@g;
    35.         s@.*/@../packages/@;
    36.         push @cmds, "\ndate >> ~/installed.log &&\n";
    37.         push @cmds, "tar jxvf $_ &&\n";
    38.         push @cmds, "cd $workdir &&\n";
    39.         push @cmds, "pwd >> ~/installed.log &&\n";
    40.         push @cmds, "date >> ~/installed.log &&\n";
    41.         }
    42.    
    43.     while ($line =~ /<kbd[^>]*>/is) {
    44.         $tail = $&.$';
    45.         $tail =~ /<\/kbd>/is;
    46.         $_ = $`.$&;
    47.         $line = $';
    48.         s/<[^>]*>//gi;
    49.         s/&gt;/>/g;
    50.         s/&lt;/</g;
    51.         s/&amp;/\&/g;
    52.         push @cmds, "\n$_\n";
    53.         }
    54.     if (@pkg) {
    55.         push @cmds, "\npwd >> ~/installed.log &&\n";
    56.         push @cmds, "date >> ~/installed.log &&\n";
    57.         push @cmds, "cd .. &&\n";
    58.         push @cmds, "rm -rf $workdir\n";
    59.         }
    60.     }

    61. $pkgs = `ls $ARGV[1]/*.bz2`;
    62. @pkgs = split /\n/s, $pkgs;
    63. # push @cmds, @pkgs;
    64. $path = `dirname $ARGV[0]`;
    65. chomp $path;
    66. push @cmds, "# # * * = = $path = = * * # #\n\n";

    67. $head = join "", (<>);
    68. # push @cmds, $head;

    69. while ($head =~ /<li[^>]*class="sect1"[^>]*>/is) {
    70.     # push @cmds, $&;
    71.     $tail = $&.$';
    72.     $tail =~ /<\/li>/is;
    73.     $_ = $`.$&;
    74.     $head = $';
    75.     s@.*(<a href=[^>]*>)@$1@s;
    76.     s@</a>.*@@s;
    77.     s@\s+@ @gs;
    78.     /.*"(.*)".*>(.*)/;
    79.     $href = $1;
    80.     $item = $2;
    81.     $href =~ s@#.*@@;
    82.     push @cmds, "\n";
    83.     push @cmds, "# # * * = = $item = = * * # #\n";
    84.     push @cmds, "# # * * = = $href = = * * # #\n";
    85.     @ARGV = ("$path/$href");
    86.     extract ();
    87.     push @cmds, "\n";
    88.     }

    89. 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环境就要执行它。
    可以把它与前一节的命令放在都放在一个命令文件里,每次执行此文件就行了。这是我的命令文件,

    1. #!/bin/sh
    2. # Only for chroot environment.

    3. mount -t proc proc $LFS/proc
    4. mount -t sysfs sysfs $LFS/sys

    5. mount -f -t tmpfs tmpfs $LFS/dev
    6. mount -f -t tmpfs tmpfs $LFS/dev/shm
    7. mount -f -t devpts -o gid=4,mode=620 devpts $LFS/dev/pts

    8. chroot "$LFS" /usr/bin/env -i \
    9.     HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
    10.     PATH=/bin:/usr/bin:/sbin:/usr/sbin \
    11.     /bin/bash --login

    12. umount $LFS/dev/pts
    13. umount $LFS/dev/shm
    14. umount $LFS/dev
    15. umount $LFS/sys
    16. umount $LFS/proc

    复制代码

  • 6.8,
    挂载设备文件系统,这是每次进入chroot环境后都必须执行的!可以将其放在~/.bash_profile中,下面是列出我的文件内容,

    1. # Only for chroot environment

    2. alias ls='ls --color'

    3. cat << "EOF"

    4. mount -n -t tmpfs none /dev
    5. mknod -m 622 /dev/console c 5 1
    6. mknod -m 666 /dev/null c 1 3
    7. mknod -m 666 /dev/zero c 1 5
    8. mknod -m 666 /dev/ptmx c 5 2
    9. mknod -m 666 /dev/tty c 5 0
    10. mknod -m 444 /dev/random c 1 8
    11. mknod -m 444 /dev/urandom c 1 9
    12. chown root:tty /dev/{console,ptmx,tty}
    13. ln -s /proc/self/fd /dev/fd
    14. ln -s /proc/self/fd/0 /dev/stdin
    15. ln -s /proc/self/fd/1 /dev/stdout
    16. ln -s /proc/self/fd/2 /dev/stderr
    17. ln -s /proc/kcore /dev/core
    18. mkdir /dev/pts
    19. mkdir /dev/shm
    20. mount -t devpts -o gid=4,mode=620 none /dev/pts
    21. mount -t tmpfs none /dev/shm
    22. /sbin/udevstart
    23. exec /bin/bash --login +h
    24. cd /usr/src/lfs

    25. 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下。
    配置时,按提示来。
    再有,根设备、根文件系统不能编译成模块,切切!
    其它的自己调整。下面是我的配置文件,

    1. #
    2. # Automatically generated make config: don't edit
    3. # Linux kernel version: 2.6.12.5
    4. # Fri Sep 23 16:15:14 2005
    5. #
    6. CONFIG_X86=y
    7. CONFIG_MMU=y
    8. CONFIG_UID16=y
    9. CONFIG_GENERIC_ISA_DMA=y
    10. CONFIG_GENERIC_IOMAP=y

    11. #
    12. # Code maturity level options
    13. #
    14. # CONFIG_EXPERIMENTAL is not set
    15. CONFIG_CLEAN_COMPILE=y
    16. CONFIG_LOCK_KERNEL=y
    17. CONFIG_INIT_ENV_ARG_LIMIT=32

    18. #
    19. # General setup
    20. #
    21. CONFIG_LOCALVERSION=""
    22. CONFIG_SWAP=y
    23. CONFIG_SYSVIPC=y
    24. CONFIG_BSD_PROCESS_ACCT=y
    25. # CONFIG_BSD_PROCESS_ACCT_V3 is not set
    26. CONFIG_SYSCTL=y
    27. CONFIG_AUDIT=y
    28. CONFIG_AUDITSYSCALL=y
    29. CONFIG_HOTPLUG=y
    30. CONFIG_KOBJECT_UEVENT=y
    31. CONFIG_IKCONFIG=y
    32. # CONFIG_IKCONFIG_PROC is not set
    33. CONFIG_CPUSETS=y
    34. # CONFIG_EMBEDDED is not set
    35. CONFIG_KALLSYMS=y
    36. # CONFIG_KALLSYMS_EXTRA_PASS is not set
    37. CONFIG_PRINTK=y
    38. CONFIG_BUG=y
    39. CONFIG_BASE_FULL=y
    40. CONFIG_FUTEX=y
    41. CONFIG_EPOLL=y
    42. CONFIG_SHMEM=y
    43. CONFIG_CC_ALIGN_FUNCTIONS=0
    44. CONFIG_CC_ALIGN_LABELS=0
    45. CONFIG_CC_ALIGN_LOOPS=0
    46. CONFIG_CC_ALIGN_JUMPS=0
    47. # CONFIG_TINY_SHMEM is not set
    48. CONFIG_BASE_SMALL=0

    49. #
    50. # Loadable module support
    51. #
    52. CONFIG_MODULES=y
    53. CONFIG_MODULE_UNLOAD=y
    54. CONFIG_OBSOLETE_MODPARM=y
    55. CONFIG_MODULE_SRCVERSION_ALL=y
    56. CONFIG_KMOD=y
    57. CONFIG_STOP_MACHINE=y

    58. #
    59. # Processor type and features
    60. #
    61. CONFIG_X86_PC=y
    62. # CONFIG_X86_ELAN is not set
    63. # CONFIG_X86_VOYAGER is not set
    64. # CONFIG_X86_NUMAQ is not set
    65. # CONFIG_X86_SUMMIT is not set
    66. # CONFIG_X86_BIGSMP is not set
    67. # CONFIG_X86_VISWS is not set
    68. # CONFIG_X86_GENERICARCH is not set
    69. # CONFIG_X86_ES7000 is not set
    70. # CONFIG_M386 is not set
    71. # CONFIG_M486 is not set
    72. # CONFIG_M586 is not set
    73. # CONFIG_M586TSC is not set
    74. # CONFIG_M586MMX is not set
    75. # CONFIG_M686 is not set
    76. # CONFIG_MPENTIUMII is not set
    77. # CONFIG_MPENTIUMIII is not set
    78. # CONFIG_MPENTIUMM is not set
    79. CONFIG_MPENTIUM4=y
    80. # CONFIG_MK6 is not set
    81. # CONFIG_MK7 is not set
    82. # CONFIG_MK8 is not set
    83. # CONFIG_MCRUSOE is not set
    84. # CONFIG_MEFFICEON is not set
    85. # CONFIG_MWINCHIPC6 is not set
    86. # CONFIG_MWINCHIP2 is not set
    87. # CONFIG_MWINCHIP3D is not set
    88. # CONFIG_MGEODEGX1 is not set
    89. # CONFIG_MCYRIXIII is not set
    90. # CONFIG_MVIAC3_2 is not set
    91. CONFIG_X86_GENERIC=y
    92. CONFIG_X86_CMPXCHG=y
    93. CONFIG_X86_XADD=y
    94. CONFIG_X86_L1_CACHE_SHIFT=7
    95. CONFIG_RWSEM_XCHGADD_ALGORITHM=y
    96. CONFIG_GENERIC_CALIBRATE_DELAY=y
    97. CONFIG_X86_WP_WORKS_OK=y
    98. CONFIG_X86_INVLPG=y
    99. CONFIG_X86_BSWAP=y
    100. CONFIG_X86_POPAD_OK=y
    101. CONFIG_X86_GOOD_APIC=y
    102. CONFIG_X86_INTEL_USERCOPY=y
    103. CONFIG_X86_USE_PPRO_CHECKSUM=y
    104. # CONFIG_HPET_TIMER is not set
    105. CONFIG_SMP=y
    106. CONFIG_NR_CPUS=8
    107. CONFIG_SCHED_SMT=y
    108. CONFIG_PREEMPT=y
    109. CONFIG_PREEMPT_BKL=y
    110. CONFIG_X86_LOCAL_APIC=y
    111. CONFIG_X86_IO_APIC=y
    112. CONFIG_X86_TSC=y
    113. CONFIG_X86_MCE=y
    114. # CONFIG_X86_MCE_NONFATAL is not set
    115. CONFIG_X86_MCE_P4THERMAL=y
    116. # CONFIG_TOSHIBA is not set
    117. # CONFIG_I8K is not set
    118. # CONFIG_X86_REBOOTFIXUPS is not set
    119. CONFIG_MICROCODE=m
    120. CONFIG_X86_MSR=m
    121. CONFIG_X86_CPUID=m

    122. #
    123. # Firmware Drivers
    124. #
    125. CONFIG_NOHIGHMEM=y
    126. # CONFIG_HIGHMEM4G is not set
    127. # CONFIG_HIGHMEM64G is not set
    128. # CONFIG_MATH_EMULATION is not set
    129. CONFIG_MTRR=y
    130. # CONFIG_EFI is not set
    131. CONFIG_IRQBALANCE=y
    132. CONFIG_HAVE_DEC_LOCK=y
    133. CONFIG_SECCOMP=y

    134. #
    135. # Power management options (ACPI, APM)
    136. #
    137. CONFIG_PM=y
    138. # CONFIG_PM_DEBUG is not set

    139. #
    140. # ACPI (Advanced Configuration and Power Interface) Support
    141. #
    142. CONFIG_ACPI=y
    143. CONFIG_ACPI_BOOT=y
    144. CONFIG_ACPI_INTERPRETER=y
    145. CONFIG_ACPI_AC=y
    146. CONFIG_ACPI_BATTERY=y
    147. CONFIG_ACPI_BUTTON=y
    148. CONFIG_ACPI_FAN=y
    149. CONFIG_ACPI_PROCESSOR=y
    150. CONFIG_ACPI_THERMAL=y
    151. # CONFIG_ACPI_ASUS is not set
    152. CONFIG_ACPI_IBM=m
    153. # CONFIG_ACPI_TOSHIBA is not set
    154. CONFIG_ACPI_BLACKLIST_YEAR=0
    155. # CONFIG_ACPI_DEBUG is not set
    156. CONFIG_ACPI_BUS=y
    157. CONFIG_ACPI_EC=y
    158. CONFIG_ACPI_POWER=y
    159. CONFIG_ACPI_PCI=y
    160. CONFIG_ACPI_SYSTEM=y

    161. #
    162. # APM (Advanced Power Management) BIOS Support
    163. #
    164. # CONFIG_APM is not set

    165. #
    166. # CPU Frequency scaling
    167. #
    168. # CONFIG_CPU_FREQ is not set

    169. #
    170. # Bus options (PCI, PCMCIA, EISA, MCA, ISA)
    171. #
    172. CONFIG_PCI=y
    173. # CONFIG_PCI_GOBIOS is not set
    174. # CONFIG_PCI_GOMMCONFIG is not set
    175. # CONFIG_PCI_GODIRECT is not set
    176. CONFIG_PCI_GOANY=y
    177. CONFIG_PCI_BIOS=y
    178. CONFIG_PCI_DIRECT=y
    179. CONFIG_PCI_MMCONFIG=y
    180. # CONFIG_PCIEPORTBUS is not set
    181. # CONFIG_PCI_MSI is not set
    182. CONFIG_PCI_LEGACY_PROC=y
    183. CONFIG_PCI_NAMES=y
    184. CONFIG_ISA_DMA_API=y
    185. CONFIG_ISA=y
    186. # CONFIG_EISA is not set
    187. # CONFIG_MCA is not set
    188. # CONFIG_SCx200 is not set

    189. #
    190. # PCCARD (PCMCIA/CardBus) support
    191. #
    192. # CONFIG_PCCARD is not set

    193. #
    194. # PCI Hotplug Support
    195. #

    196. #
    197. # Executable file formats
    198. #
    199. CONFIG_BINFMT_ELF=y
    200. CONFIG_BINFMT_AOUT=m
    201. CONFIG_BINFMT_MISC=m

    202. #
    203. # Device Drivers
    204. #

    205. #
    206. # Generic Driver Options
    207. #
    208. CONFIG_STANDALONE=y
    209. CONFIG_PREVENT_FIRMWARE_BUILD=y
    210. CONFIG_FW_LOADER=m

    211. #
    212. # Memory Technology Devices (MTD)
    213. #
    214. # CONFIG_MTD is not set

    215. #
    216. # Parallel port support
    217. #
    218. CONFIG_PARPORT=m
    219. CONFIG_PARPORT_PC=m
    220. # CONFIG_PARPORT_SERIAL is not set
    221. # CONFIG_PARPORT_GSC is not set
    222. # CONFIG_PARPORT_1284 is not set

    223. #
    224. # Plug and Play support
    225. #
    226. CONFIG_PNP=y
    227. # CONFIG_PNP_DEBUG is not set

    228. #
    229. # Protocols
    230. #
    231. # CONFIG_ISAPNP is not set

    232. #
    233. # Block devices
    234. #
    235. # CONFIG_BLK_DEV_FD is not set
    236. # CONFIG_BLK_DEV_XD is not set
    237. CONFIG_PARIDE=m
    238. CONFIG_PARIDE_PARPORT=m

    239. #
    240. # Parallel IDE high-level drivers
    241. #
    242. CONFIG_PARIDE_PD=m
    243. CONFIG_PARIDE_PCD=m
    244. CONFIG_PARIDE_PF=m
    245. # CONFIG_PARIDE_PT is not set
    246. CONFIG_PARIDE_PG=m

    247. #
    248. # Parallel IDE protocol modules
    249. #
    250. # CONFIG_PARIDE_ATEN is not set
    251. # CONFIG_PARIDE_BPCK is not set
    252. # CONFIG_PARIDE_BPCK6 is not set
    253. # CONFIG_PARIDE_COMM is not set
    254. # CONFIG_PARIDE_DSTR is not set
    255. # CONFIG_PARIDE_FIT2 is not set
    256. # CONFIG_PARIDE_FIT3 is not set
    257. # CONFIG_PARIDE_EPAT is not set
    258. # CONFIG_PARIDE_EPIA is not set
    259. # CONFIG_PARIDE_FRIQ is not set
    260. # CONFIG_PARIDE_FRPW is not set
    261. # CONFIG_PARIDE_KBIC is not set
    262. # CONFIG_PARIDE_KTTI is not set
    263. # CONFIG_PARIDE_ON20 is not set
    264. # CONFIG_PARIDE_ON26 is not set
    265. # CONFIG_BLK_CPQ_DA is not set
    266. # CONFIG_BLK_CPQ_CISS_DA is not set
    267. # CONFIG_BLK_DEV_DAC960 is not set
    268. # CONFIG_BLK_DEV_COW_COMMON is not set
    269. CONFIG_BLK_DEV_LOOP=m
    270. # CONFIG_BLK_DEV_CRYPTOLOOP is not set
    271. CONFIG_BLK_DEV_NBD=m
    272. # CONFIG_BLK_DEV_SX8 is not set
    273. CONFIG_BLK_DEV_UB=m
    274. CONFIG_BLK_DEV_RAM=m
    275. CONFIG_BLK_DEV_RAM_COUNT=16
    276. CONFIG_BLK_DEV_RAM_SIZE=4096
    277. CONFIG_INITRAMFS_SOURCE=""
    278. CONFIG_LBD=y
    279. # CONFIG_CDROM_PKTCDVD is not set

    280. #
    281. # IO Schedulers
    282. #
    283. CONFIG_IOSCHED_NOOP=y
    284. CONFIG_IOSCHED_AS=y
    285. CONFIG_IOSCHED_DEADLINE=y
    286. CONFIG_IOSCHED_CFQ=y
    287. # CONFIG_ATA_OVER_ETH is not set

    288. #
    289. # ATA/ATAPI/MFM/RLL support
    290. #
    291. CONFIG_IDE=y
    292. CONFIG_BLK_DEV_IDE=y

    293. #
    294. # Please see Documentation/ide.txt for help/info on IDE drives
    295. #
    296. # CONFIG_BLK_DEV_IDE_SATA is not set
    297. # CONFIG_BLK_DEV_HD_IDE is not set
    298. CONFIG_BLK_DEV_IDEDISK=y
    299. CONFIG_IDEDISK_MULTI_MODE=y
    300. CONFIG_BLK_DEV_IDECD=y
    301. # CONFIG_BLK_DEV_IDEFLOPPY is not set
    302. CONFIG_BLK_DEV_IDESCSI=m
    303. CONFIG_IDE_TASK_IOCTL=y

    304. #
    305. # IDE chipset support/bugfixes
    306. #
    307. CONFIG_IDE_GENERIC=y
    308. # CONFIG_BLK_DEV_CMD640 is not set
    309. # CONFIG_BLK_DEV_IDEPNP is not set
    310. CONFIG_BLK_DEV_IDEPCI=y
    311. CONFIG_IDEPCI_SHARE_IRQ=y
    312. # CONFIG_BLK_DEV_OFFBOARD is not set
    313. CONFIG_BLK_DEV_GENERIC=y
    314. CONFIG_BLK_DEV_RZ1000=y
    315. CONFIG_BLK_DEV_IDEDMA_PCI=y
    316. # CONFIG_BLK_DEV_IDEDMA_FORCED is not set
    317. CONFIG_IDEDMA_PCI_AUTO=y
    318. # CONFIG_IDEDMA_ONLYDISK is not set
    319. # CONFIG_BLK_DEV_AEC62XX is not set
    320. # CONFIG_BLK_DEV_ALI15X3 is not set
    321. # CONFIG_BLK_DEV_AMD74XX is not set
    322. # CONFIG_BLK_DEV_ATIIXP is not set
    323. # CONFIG_BLK_DEV_CMD64X is not set
    324. # CONFIG_BLK_DEV_TRIFLEX is not set
    325. # CONFIG_BLK_DEV_CY82C693 is not set
    326. # CONFIG_BLK_DEV_CS5530 is not set
    327. # CONFIG_BLK_DEV_HPT34X is not set
    328. # CONFIG_BLK_DEV_HPT366 is not set
    329. # CONFIG_BLK_DEV_SC1200 is not set
    330. CONFIG_BLK_DEV_PIIX=y
    331. # CONFIG_BLK_DEV_NS87415 is not set
    332. # CONFIG_BLK_DEV_PDC202XX_OLD is not set
    333. # CONFIG_BLK_DEV_PDC202XX_NEW is not set
    334. # CONFIG_BLK_DEV_SVWKS is not set
    335. # CONFIG_BLK_DEV_SIIMAGE is not set
    336. # CONFIG_BLK_DEV_SIS5513 is not set
    337. # CONFIG_BLK_DEV_SLC90E66 is not set
    338. # CONFIG_BLK_DEV_TRM290 is not set
    339. # CONFIG_BLK_DEV_VIA82CXXX is not set
    340. # CONFIG_IDE_ARM is not set
    341. # CONFIG_IDE_CHIPSETS is not set
    342. CONFIG_BLK_DEV_IDEDMA=y
    343. # CONFIG_IDEDMA_IVB is not set
    344. CONFIG_IDEDMA_AUTO=y
    345. # CONFIG_BLK_DEV_HD is not set

    346. #
    347. # SCSI device support
    348. #
    349. CONFIG_SCSI=y
    350. CONFIG_SCSI_PROC_FS=y

    351. #
    352. # SCSI support type (disk, tape, CD-ROM)
    353. #
    354. CONFIG_BLK_DEV_SD=y
    355. # CONFIG_CHR_DEV_ST is not set
    356. # CONFIG_CHR_DEV_OSST is not set
    357. # CONFIG_BLK_DEV_SR is not set
    358. CONFIG_CHR_DEV_SG=y

    359. #
    360. # Some SCSI devices (e.g. CD jukebox) support multiple LUNs
    361. #
    362. # CONFIG_SCSI_MULTI_LUN is not set
    363. # CONFIG_SCSI_CONSTANTS is not set
    364. # CONFIG_SCSI_LOGGING is not set

    365. #
    366. # SCSI Transport Attributes
    367. #
    368. # CONFIG_SCSI_SPI_ATTRS is not set
    369. # CONFIG_SCSI_FC_ATTRS is not set
    370. # CONFIG_SCSI_ISCSI_ATTRS is not set

    371. #
    372. # SCSI low-level drivers
    373. #
    374. # CONFIG_BLK_DEV_3W_XXXX_RAID is not set
    375. # CONFIG_SCSI_3W_9XXX is not set
    376. # CONFIG_SCSI_7000FASST is not set
    377. # CONFIG_SCSI_ACARD is not set
    378. # CONFIG_SCSI_AHA152X is not set
    379. # CONFIG_SCSI_AHA1542 is not set
    380. # CONFIG_SCSI_AACRAID is not set
    381. # CONFIG_SCSI_AIC7XXX is not set
    382. # CONFIG_SCSI_AIC7XXX_OLD is not set
    383. # CONFIG_SCSI_AIC79XX is not set
    384. CONFIG_SCSI_DPT_I2O=m
    385. # CONFIG_SCSI_IN2000 is not set
    386. # CONFIG_MEGARAID_NEWGEN is not set
    387. # CONFIG_MEGARAID_LEGACY is not set
    388. CONFIG_SCSI_SATA=y
    389. # CONFIG_SCSI_SATA_AHCI is not set
    390. # CONFIG_SCSI_SATA_SVW is not set
    391. CONFIG_SCSI_ATA_PIIX=y
    392. # CONFIG_SCSI_SATA_PROMISE is not set
    393. # CONFIG_SCSI_SATA_QSTOR is not set
    394. # CONFIG_SCSI_SATA_VIA is not set
    395. # CONFIG_SCSI_SATA_VITESSE is not set
    396. # CONFIG_SCSI_BUSLOGIC is not set
    397. # CONFIG_SCSI_DMX3191D is not set
    398. # CONFIG_SCSI_DTC3280 is not set
    399. # CONFIG_SCSI_EATA is not set
    400. # CONFIG_SCSI_FUTURE_DOMAIN is not set
    401. # CONFIG_SCSI_GDTH is not set
    402. # CONFIG_SCSI_GENERIC_NCR5380 is not set
    403. # CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
    404. # CONFIG_SCSI_IPS is not set
    405. # CONFIG_SCSI_INITIO is not set
    406. # CONFIG_SCSI_INIA100 is not set
    407. # CONFIG_SCSI_PPA is not set
    408. # CONFIG_SCSI_IMM is not set
    409. # CONFIG_SCSI_NCR53C406A is not set
    410. # CONFIG_SCSI_SYM53C8XX_2 is not set
    411. CONFIG_SCSI_IPR=m
    412. # CONFIG_SCSI_IPR_TRACE is not set
    413. # CONFIG_SCSI_IPR_DUMP is not set
    414. # CONFIG_SCSI_PAS16 is not set
    415. # CONFIG_SCSI_PSI240I is not set
    416. # CONFIG_SCSI_QLOGIC_FAS is not set
    417. # CONFIG_SCSI_QLOGIC_FC is not set
    418. # CONFIG_SCSI_QLOGIC_1280 is not set
    419. CONFIG_SCSI_QLA2XXX=y
    420. # CONFIG_SCSI_QLA21XX is not set
    421. # CONFIG_SCSI_QLA22XX is not set
    422. # CONFIG_SCSI_QLA2300 is not set
    423. # CONFIG_SCSI_QLA2322 is not set
    424. # CONFIG_SCSI_QLA6312 is not set
    425. # CONFIG_SCSI_LPFC is not set
    426. # CONFIG_SCSI_SYM53C416 is not set
    427. # CONFIG_SCSI_DC390T is not set
    428. # CONFIG_SCSI_T128 is not set
    429. # CONFIG_SCSI_U14_34F is not set
    430. # CONFIG_SCSI_ULTRASTOR is not set
    431. # CONFIG_SCSI_NSP32 is not set
    432. # CONFIG_SCSI_DEBUG is not set

    433. #
    434. # Old CD-ROM drivers (not SCSI, not IDE)
    435. #
    436. # CONFIG_CD_NO_IDESCSI is not set

    437. #
    438. # Multi-device support (RAID and LVM)
    439. #
    440. # CONFIG_MD is not set

    441. #
    442. # Fusion MPT device support
    443. #
    444. # CONFIG_FUSION is not set

    445. #
    446. # IEEE 1394 (FireWire) support
    447. #
    448. CONFIG_IEEE1394=m

    449. #
    450. # Subsystem Options
    451. #
    452. # CONFIG_IEEE1394_VERBOSEDEBUG is not set
    453. # CONFIG_IEEE1394_OUI_DB is not set
    454. # CONFIG_IEEE1394_EXTRA_CONFIG_ROMS is not set

    455. #
    456. # Device Drivers
    457. #

    458. #
    459. # Texas Instruments PCILynx requires I2C
    460. #
    461. CONFIG_IEEE1394_OHCI1394=m

    462. #
    463. # Protocol Drivers
    464. #
    465. # CONFIG_IEEE1394_VIDEO1394 is not set
    466. # CONFIG_IEEE1394_SBP2 is not set
    467. # CONFIG_IEEE1394_DV1394 is not set
    468. CONFIG_IEEE1394_RAWIO=m
    469. # CONFIG_IEEE1394_CMP is not set

    470. #
    471. # I2O device support
    472. #
    473. # CONFIG_I2O is not set

    474. #
    475. # Networking support
    476. #
    477. CONFIG_NET=y

    478. #
    479. # Networking options
    480. #
    481. CONFIG_PACKET=y
    482. # CONFIG_PACKET_MMAP is not set
    483. CONFIG_UNIX=y
    484. # CONFIG_NET_KEY is not set
    485. CONFIG_INET=y
    486. CONFIG_IP_MULTICAST=y
    487. # CONFIG_IP_ADVANCED_ROUTER is not set
    488. # CONFIG_IP_PNP is not set
    489. # CONFIG_NET_IPIP is not set
    490. # CONFIG_NET_IPGRE is not set
    491. # CONFIG_IP_MROUTE is not set
    492. # CONFIG_SYN_COOKIES is not set
    493. # CONFIG_INET_AH is not set
    494. # CONFIG_INET_ESP is not set
    495. # CONFIG_INET_IPCOMP is not set
    496. # CONFIG_INET_TUNNEL is not set
    497. CONFIG_IP_TCPDIAG=y
    498. # CONFIG_IP_TCPDIAG_IPV6 is not set

    499. #
    500. # IP: Virtual Server Configuration
    501. #
    502. # CONFIG_IP_VS is not set
    503. # CONFIG_IPV6 is not set
    504. CONFIG_NETFILTER=y
    505. # CONFIG_NETFILTER_DEBUG is not set

    506. #
    507. # IP: Netfilter Configuration
    508. #
    509. CONFIG_IP_NF_CONNTRACK=y
    510. # CONFIG_IP_NF_CT_ACCT is not set
    511. # CONFIG_IP_NF_CONNTRACK_MARK is not set
    512. # CONFIG_IP_NF_FTP is not set
    513. # CONFIG_IP_NF_IRC is not set
    514. # CONFIG_IP_NF_TFTP is not set
    515. # CONFIG_IP_NF_AMANDA is not set
    516. CONFIG_IP_NF_QUEUE=y
    517. CONFIG_IP_NF_IPTABLES=y
    518. CONFIG_IP_NF_MATCH_LIMIT=y
    519. CONFIG_IP_NF_MATCH_IPRANGE=y
    520. CONFIG_IP_NF_MATCH_MAC=y
    521. CONFIG_IP_NF_MATCH_PKTTYPE=y
    522. CONFIG_IP_NF_MATCH_MARK=y
    523. CONFIG_IP_NF_MATCH_MULTIPORT=y
    524. CONFIG_IP_NF_MATCH_TOS=y
    525. CONFIG_IP_NF_MATCH_RECENT=y
    526. CONFIG_IP_NF_MATCH_ECN=y
    527. CONFIG_IP_NF_MATCH_DSCP=y
    528. CONFIG_IP_NF_MATCH_AH_ESP=y
    529. CONFIG_IP_NF_MATCH_LENGTH=y
    530. CONFIG_IP_NF_MATCH_TTL=y
    531. CONFIG_IP_NF_MATCH_TCPMSS=y
    532. CONFIG_IP_NF_MATCH_HELPER=y
    533. CONFIG_IP_NF_MATCH_STATE=y
    534. CONFIG_IP_NF_MATCH_CONNTRACK=y
    535. CONFIG_IP_NF_MATCH_OWNER=y
    536. # CONFIG_IP_NF_MATCH_ADDRTYPE is not set
    537. # CONFIG_IP_NF_MATCH_REALM is not set
    538. # CONFIG_IP_NF_MATCH_SCTP is not set
    539. # CONFIG_IP_NF_MATCH_COMMENT is not set
    540. # CONFIG_IP_NF_MATCH_HASHLIMIT is not set
    541. CONFIG_IP_NF_FILTER=y
    542. CONFIG_IP_NF_TARGET_REJECT=y
    543. CONFIG_IP_NF_TARGET_LOG=y
    544. CONFIG_IP_NF_TARGET_ULOG=y
    545. CONFIG_IP_NF_TARGET_TCPMSS=y
    546. CONFIG_IP_NF_NAT=y
    547. CONFIG_IP_NF_NAT_NEEDED=y
    548. CONFIG_IP_NF_TARGET_MASQUERADE=y
    549. CONFIG_IP_NF_TARGET_REDIRECT=y
    550. CONFIG_IP_NF_TARGET_NETMAP=y
    551. CONFIG_IP_NF_TARGET_SAME=y
    552. CONFIG_IP_NF_MANGLE=y
    553. CONFIG_IP_NF_TARGET_TOS=y
    554. CONFIG_IP_NF_TARGET_ECN=y
    555. CONFIG_IP_NF_TARGET_DSCP=y
    556. CONFIG_IP_NF_TARGET_MARK=y
    557. CONFIG_IP_NF_TARGET_CLASSIFY=y
    558. CONFIG_IP_NF_RAW=m
    559. CONFIG_IP_NF_TARGET_NOTRACK=m
    560. CONFIG_IP_NF_ARPTABLES=y
    561. CONFIG_IP_NF_ARPFILTER=y
    562. CONFIG_IP_NF_ARP_MANGLE=y
    563. # CONFIG_BRIDGE is not set
    564. # CONFIG_VLAN_8021Q is not set
    565. # CONFIG_DECNET is not set
    566. # CONFIG_LLC2 is not set
    567. # CONFIG_IPX is not set
    568. # CONFIG_ATALK is not set

    569. #
    570. # QoS and/or fair queueing
    571. #
    572. # CONFIG_NET_SCHED is not set
    573. # CONFIG_NET_CLS_ROUTE is not set

    574. #
    575. # Network testing
    576. #
    577. # CONFIG_NET_PKTGEN is not set
    578. # CONFIG_NETPOLL is not set
    579. # CONFIG_NET_POLL_CONTROLLER is not set
    580. # CONFIG_HAMRADIO is not set
    581. # CONFIG_IRDA is not set
    582. # CONFIG_BT is not set
    583. CONFIG_NETDEVICES=y
    584. CONFIG_DUMMY=m
    585. # CONFIG_BONDING is not set
    586. # CONFIG_EQUALIZER is not set
    587. # CONFIG_TUN is not set
    588. # CONFIG_NET_SB1000 is not set

    589. #
    590. # ARCnet devices
    591. #
    592. # CONFIG_ARCNET is not set

    593. #
    594. # Ethernet (10 or 100Mbit)
    595. #
    596. CONFIG_NET_ETHERNET=y
    597. CONFIG_MII=y
    598. # CONFIG_HAPPYMEAL is not set
    599. # CONFIG_SUNGEM is not set
    600. # CONFIG_NET_VENDOR_3COM is not set
    601. # CONFIG_LANCE is not set
    602. # CONFIG_NET_VENDOR_SMC is not set
    603. # CONFIG_NET_VENDOR_RACAL is not set

    604. #
    605. # Tulip family network device support
    606. #
    607. # CONFIG_NET_TULIP is not set
    608. # CONFIG_DEPCA is not set
    609. # CONFIG_HP100 is not set
    610. # CONFIG_NET_ISA is not set
    611. CONFIG_NET_PCI=y
    612. # CONFIG_PCNET32 is not set
    613. # CONFIG_AMD8111_ETH is not set
    614. # CONFIG_ADAPTEC_STARFIRE is not set
    615. # CONFIG_APRICOT is not set
    616. # CONFIG_CS89x0 is not set
    617. # CONFIG_DGRS is not set
    618. # CONFIG_EEPRO100 is not set
    619. # CONFIG_E100 is not set
    620. # CONFIG_FEALNX is not set
    621. # CONFIG_NATSEMI is not set
    622. # CONFIG_NE2K_PCI is not set
    623. CONFIG_8139TOO=y
    624. CONFIG_8139TOO_PIO=y
    625. # CONFIG_8139TOO_TUNE_TWISTER is not set
    626. # CONFIG_8139TOO_8129 is not set
    627. # CONFIG_8139_OLD_RX_RESET is not set
    628. # CONFIG_SIS900 is not set
    629. # CONFIG_EPIC100 is not set
    630. # CONFIG_SUNDANCE is not set
    631. # CONFIG_TLAN is not set
    632. # CONFIG_VIA_RHINE is not set
    633. # CONFIG_NET_POCKET is not set

    634. #
    635. # Ethernet (1000 Mbit)
    636. #
    637. # CONFIG_ACENIC is not set
    638. # CONFIG_DL2K is not set
    639. # CONFIG_E1000 is not set
    640. # CONFIG_NS83820 is not set
    641. # CONFIG_HAMACHI is not set
    642. # CONFIG_R8169 is not set
    643. # CONFIG_SK98LIN is not set
    644. # CONFIG_VIA_VELOCITY is not set
    645. # CONFIG_TIGON3 is not set
    646. # CONFIG_BNX2 is not set

    647. #
    648. # Ethernet (10000 Mbit)
    649. #
    650. # CONFIG_IXGB is not set
    651. # CONFIG_S2IO is not set

    652. #
    653. # Token Ring devices
    654. #
    655. # CONFIG_TR is not set

    656. #
    657. # Wireless LAN (non-hamradio)
    658. #
    659. # CONFIG_NET_RADIO is not set

    660. #
    661. # Wan interfaces
    662. #
    663. # CONFIG_WAN is not set
    664. # CONFIG_FDDI is not set
    665. # CONFIG_PLIP is not set
    666. # CONFIG_PPP is not set
    667. # CONFIG_SLIP is not set
    668. # CONFIG_NET_FC is not set

    669. #
    670. # ISDN subsystem
    671. #
    672. # CONFIG_ISDN is not set

    673. #
    674. # Telephony Support
    675. #
    676. # CONFIG_PHONE is not set

    677. #
    678. # Input device support
    679. #
    680. CONFIG_INPUT=y

    681. #
    682. # Userland interfaces
    683. #
    684. CONFIG_INPUT_MOUSEDEV=y
    685. CONFIG_INPUT_MOUSEDEV_PSAUX=y
    686. CONFIG_INPUT_MOUSEDEV_SCREEN_X=1600
    687. CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1200
    688. # CONFIG_INPUT_JOYDEV is not set
    689. # CONFIG_INPUT_TSDEV is not set
    690. # CONFIG_INPUT_EVDEV is not set
    691. # CONFIG_INPUT_EVBUG is not set

    692. #
    693. # Input Device Drivers
    694. #
    695. CONFIG_INPUT_KEYBOARD=y
    696. CONFIG_KEYBOARD_ATKBD=y
    697. # CONFIG_KEYBOARD_SUNKBD is not set
    698. # CONFIG_KEYBOARD_LKKBD is not set
    699. # CONFIG_KEYBOARD_XTKBD is not set
    700. # CONFIG_KEYBOARD_NEWTON is not set
    701. CONFIG_INPUT_MOUSE=y
    702. CONFIG_MOUSE_PS2=y
    703. # CONFIG_MOUSE_SERIAL is not set
    704. # CONFIG_MOUSE_INPORT is not set
    705. # CONFIG_MOUSE_LOGIBM is not set
    706. # CONFIG_MOUSE_PC110PAD is not set
    707. # CONFIG_MOUSE_VSXXXAA is not set
    708. # CONFIG_INPUT_JOYSTICK is not set
    709. # CONFIG_INPUT_TOUCHSCREEN is not set
    710. # CONFIG_INPUT_MISC is not set

    711. #
    712. # Hardware I/O ports
    713. #
    714. CONFIG_SERIO=y
    715. CONFIG_SERIO_I8042=y
    716. # CONFIG_SERIO_SERPORT is not set
    717. # CONFIG_SERIO_CT82C710 is not set
    718. # CONFIG_SERIO_PARKBD is not set
    719. # CONFIG_SERIO_PCIPS2 is not set
    720. CONFIG_SERIO_LIBPS2=y
    721. # CONFIG_SERIO_RAW is not set
    722. # CONFIG_GAMEPORT is not set

    723. #
    724. # Character devices
    725. #
    726. CONFIG_VT=y
    727. CONFIG_VT_CONSOLE=y
    728. CONFIG_HW_CONSOLE=y
    729. # CONFIG_SERIAL_NONSTANDARD is not set

    730. #
    731. # Serial drivers
    732. #
    733. CONFIG_SERIAL_8250=y
    734. # CONFIG_SERIAL_8250_CONSOLE is not set
    735. # CONFIG_SERIAL_8250_ACPI is not set
    736. CONFIG_SERIAL_8250_NR_UARTS=4
    737. # CONFIG_SERIAL_8250_EXTENDED is not set

    738. #
    739. # Non-8250 serial port support
    740. #
    741. CONFIG_SERIAL_CORE=y
    742. # CONFIG_SERIAL_JSM is not set
    743. CONFIG_UNIX98_PTYS=y
    744. CONFIG_LEGACY_PTYS=y
    745. CONFIG_LEGACY_PTY_COUNT=64
    746. CONFIG_PRINTER=m
    747. # CONFIG_LP_CONSOLE is not set
    748. # CONFIG_PPDEV is not set
    749. # CONFIG_TIPAR is not set

    750. #
    751. # IPMI
    752. #
    753. # CONFIG_IPMI_HANDLER is not set

    754. #
    755. # Watchdog Cards
    756. #
    757. # CONFIG_WATCHDOG is not set
    758. # CONFIG_HW_RANDOM is not set
    759. # CONFIG_NVRAM is not set
    760. # CONFIG_RTC is not set
    761. # CONFIG_GEN_RTC is not set
    762. # CONFIG_DTLK is not set
    763. # CONFIG_R3964 is not set
    764. # CONFIG_APPLICOM is not set

    765. #
    766. # Ftape, the floppy tape device driver
    767. #
    768. CONFIG_AGP=m
    769. # CONFIG_AGP_ALI is not set
    770. # CONFIG_AGP_ATI is not set
    771. # CONFIG_AGP_AMD is not set
    772. # CONFIG_AGP_AMD64 is not set
    773. CONFIG_AGP_INTEL=m
    774. CONFIG_AGP_NVIDIA=m
    775. # CONFIG_AGP_SIS is not set
    776. # CONFIG_AGP_SWORKS is not set
    777. # CONFIG_AGP_VIA is not set
    778. # CONFIG_AGP_EFFICEON is not set
    779. CONFIG_DRM=m
    780. # CONFIG_DRM_TDFX is not set
    781. # CONFIG_DRM_R128 is not set
    782. # CONFIG_DRM_RADEON is not set
    783. # CONFIG_DRM_I810 is not set
    784. # CONFIG_DRM_I830 is not set
    785. # CONFIG_DRM_I915 is not set
    786. # CONFIG_DRM_MGA is not set
    787. # CONFIG_DRM_SIS is not set
    788. # CONFIG_MWAVE is not set
    789. # CONFIG_RAW_DRIVER is not set
    790. # CONFIG_HPET is not set
    791. # CONFIG_HANGCHECK_TIMER is not set

    792. #
    793. # TPM devices
    794. #

    795. #
    796. # I2C support
    797. #
    798. # CONFIG_I2C is not set

    799. #
    800. # Dallas's 1-wire bus
    801. #
    802. # CONFIG_W1 is not set

    803. #
    804. # Misc devices
    805. #

    806. #
    807. # Multimedia devices
    808. #
    809. # CONFIG_VIDEO_DEV is not set

    810. #
    811. # Digital Video Broadcasting Devices
    812. #
    813. # CONFIG_DVB is not set

    814. #
    815. # Graphics support
    816. #
    817. CONFIG_FB=m
    818. CONFIG_FB_CFB_FILLRECT=m
    819. CONFIG_FB_CFB_COPYAREA=m
    820. CONFIG_FB_CFB_IMAGEBLIT=m
    821. CONFIG_FB_SOFT_CURSOR=m
    822. # CONFIG_FB_MACMODES is not set
    823. CONFIG_FB_MODE_HELPERS=y
    824. # CONFIG_FB_TILEBLITTING is not set
    825. # CONFIG_FB_CIRRUS is not set
    826. # CONFIG_FB_PM2 is not set
    827. # CONFIG_FB_CYBER2000 is not set
    828. # CONFIG_FB_VGA16 is not set
    829. # CONFIG_VIDEO_SELECT is not set
    830. # CONFIG_FB_HGA is not set
    831. CONFIG_FB_NVIDIA=m
    832. # CONFIG_FB_NVIDIA_I2C is not set
    833. CONFIG_FB_RIVA=m
    834. # CONFIG_FB_RIVA_I2C is not set
    835. # CONFIG_FB_RIVA_DEBUG is not set
    836. # CONFIG_FB_MATROX is not set
    837. # CONFIG_FB_RADEON_OLD is not set
    838. # CONFIG_FB_RADEON is not set
    839. # CONFIG_FB_ATY128 is not set
    840. # CONFIG_FB_ATY is not set
    841. # CONFIG_FB_SIS is not set
    842. # CONFIG_FB_NEOMAGIC is not set
    843. # CONFIG_FB_KYRO is not set
    844. # CONFIG_FB_3DFX is not set
    845. # CONFIG_FB_VOODOO1 is not set
    846. # CONFIG_FB_TRIDENT is not set
    847. # CONFIG_FB_S1D13XXX is not set
    848. # CONFIG_FB_VIRTUAL is not set

    849. #
    850. # Console display driver support
    851. #
    852. CONFIG_VGA_CONSOLE=y
    853. # CONFIG_MDA_CONSOLE is not set
    854. CONFIG_DUMMY_CONSOLE=y
    855. # CONFIG_FRAMEBUFFER_CONSOLE is not set

    856. #
    857. # Logo configuration
    858. #
    859. # CONFIG_LOGO is not set
    860. # CONFIG_BACKLIGHT_LCD_SUPPORT is not set

    861. #
    862. # Sound
    863. #
    864. CONFIG_SOUND=y

    865. #
    866. # Advanced Linux Sound Architecture
    867. #
    868. CONFIG_SND=y
    869. CONFIG_SND_TIMER=y
    870. CONFIG_SND_PCM=y
    871. CONFIG_SND_SEQUENCER=y
    872. # CONFIG_SND_SEQ_DUMMY is not set
    873. CONFIG_SND_OSSEMUL=y
    874. CONFIG_SND_MIXER_OSS=y
    875. CONFIG_SND_PCM_OSS=y
    876. CONFIG_SND_SEQUENCER_OSS=y
    877. # CONFIG_SND_VERBOSE_PRINTK is not set
    878. # CONFIG_SND_DEBUG is not set

    879. #
    880. # Generic devices
    881. #
    882. # CONFIG_SND_DUMMY is not set
    883. # CONFIG_SND_VIRMIDI is not set
    884. # CONFIG_SND_MTPAV is not set
    885. # CONFIG_SND_SERIAL_U16550 is not set
    886. # CONFIG_SND_MPU401 is not set

    887. #
    888. # ISA devices
    889. #
    890. # CONFIG_SND_AD1848 is not set
    891. # CONFIG_SND_CS4231 is not set
    892. # CONFIG_SND_CS4232 is not set
    893. # CONFIG_SND_CS4236 is not set
    894. # CONFIG_SND_ES1688 is not set
    895. # CONFIG_SND_ES18XX is not set
    896. # CONFIG_SND_GUSCLASSIC is not set
    897. # CONFIG_SND_GUSEXTREME is not set
    898. # CONFIG_SND_GUSMAX is not set
    899. # CONFIG_SND_INTERWAVE is not set
    900. # CONFIG_SND_INTERWAVE_STB is not set
    901. # CONFIG_SND_OPTI92X_AD1848 is not set
    902. # CONFIG_SND_OPTI92X_CS4231 is not set
    903. # CONFIG_SND_OPTI93X is not set
    904. # CONFIG_SND_SB8 is not set
    905. # CONFIG_SND_SB16 is not set
    906. # CONFIG_SND_SBAWE is not set
    907. # CONFIG_SND_WAVEFRONT is not set
    908. # CONFIG_SND_CMI8330 is not set
    909. # CONFIG_SND_OPL3SA2 is not set
    910. # CONFIG_SND_SGALAXY is not set
    911. # CONFIG_SND_SSCAPE is not set

    912. #
    913. # PCI devices
    914. #
    915. CONFIG_SND_AC97_CODEC=y
    916. # CONFIG_SND_ALI5451 is not set
    917. # CONFIG_SND_ATIIXP is not set
    918. # CONFIG_SND_ATIIXP_MODEM is not set
    919. # CONFIG_SND_AU8810 is not set
    920. # CONFIG_SND_AU8820 is not set
    921. # CONFIG_SND_AU8830 is not set
    922. # CONFIG_SND_BT87X is not set
    923. # CONFIG_SND_CS46XX is not set
    924. # CONFIG_SND_CS4281 is not set
    925. # CONFIG_SND_EMU10K1 is not set
    926. # CONFIG_SND_EMU10K1X is not set
    927. # CONFIG_SND_CA0106 is not set
    928. # CONFIG_SND_KORG1212 is not set
    929. # CONFIG_SND_MIXART is not set
    930. # CONFIG_SND_NM256 is not set
    931. # CONFIG_SND_RME32 is not set
    932. # CONFIG_SND_RME96 is not set
    933. # CONFIG_SND_RME9652 is not set
    934. # CONFIG_SND_HDSP is not set
    935. # CONFIG_SND_TRIDENT is not set
    936. # CONFIG_SND_YMFPCI is not set
    937. # CONFIG_SND_ALS4000 is not set
    938. # CONFIG_SND_CMIPCI is not set
    939. # CONFIG_SND_ENS1370 is not set
    940. # CONFIG_SND_ENS1371 is not set
    941. # CONFIG_SND_ES1938 is not set
    942. # CONFIG_SND_ES1968 is not set
    943. # CONFIG_SND_MAESTRO3 is not set
    944. # CONFIG_SND_FM801 is not set
    945. # CONFIG_SND_ICE1712 is not set
    946. # CONFIG_SND_ICE1724 is not set
    947. CONFIG_SND_INTEL8X0=y
    948. # CONFIG_SND_SONICVIBES is not set
    949. # CONFIG_SND_VIA82XX is not set
    950. # CONFIG_SND_VIA82XX_MODEM is not set
    951. # CONFIG_SND_VX222 is not set
    952. # CONFIG_SND_HDA_INTEL is not set

    953. #
    954. # USB devices
    955. #
    956. # CONFIG_SND_USB_AUDIO is not set
    957. # CONFIG_SND_USB_USX2Y is not set

    958. #
    959. # Open Sound System
    960. #
    961. # CONFIG_SOUND_PRIME is not set

    962. #
    963. # USB support
    964. #
    965. CONFIG_USB_ARCH_HAS_HCD=y
    966. CONFIG_USB_ARCH_HAS_OHCI=y
    967. CONFIG_USB=y
    968. # CONFIG_USB_DEBUG is not set

    969. #
    970. # Miscellaneous USB options
    971. #
    972. CONFIG_USB_DEVICEFS=y

    973. #
    974. # USB Host Controller Drivers
    975. #
    976. CONFIG_USB_EHCI_HCD=y
    977. # CONFIG_USB_OHCI_HCD is not set
    978. CONFIG_USB_UHCI_HCD=y
    979. # CONFIG_USB_SL811_HCD is not set

    980. #
    981. # USB Device Class drivers
    982. #
    983. # CONFIG_USB_AUDIO is not set
    984. # CONFIG_USB_BLUETOOTH_TTY is not set
    985. # CONFIG_USB_MIDI is not set
    986. # CONFIG_USB_ACM is not set
    987. CONFIG_USB_PRINTER=m

    988. #
    989. # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
    990. #
    991. CONFIG_USB_STORAGE=y
    992. # CONFIG_USB_STORAGE_DEBUG is not set
    993. # CONFIG_USB_STORAGE_FREECOM is not set
    994. # CONFIG_USB_STORAGE_ISD200 is not set
    995. # CONFIG_USB_STORAGE_DPCM is not set

    996. #
    997. # USB Input Devices
    998. #
    999. CONFIG_USB_HID=y
    1000. CONFIG_USB_HIDINPUT=y
    1001. # CONFIG_USB_HIDDEV is not set
    1002. # CONFIG_USB_AIPTEK is not set
    1003. # CONFIG_USB_WACOM is not set
    1004. # CONFIG_USB_KBTAB is not set
    1005. # CONFIG_USB_POWERMATE is not set
    1006. # CONFIG_USB_MTOUCH is not set
    1007. CONFIG_USB_EGALAX=m
    1008. # CONFIG_USB_XPAD is not set
    1009. # CONFIG_USB_ATI_REMOTE is not set

    1010. #
    1011. # USB Imaging devices
    1012. #
    1013. # CONFIG_USB_MICROTEK is not set

    1014. #
    1015. # USB Multimedia devices
    1016. #
    1017. # CONFIG_USB_DABUSB is not set

    1018. #
    1019. # Video4Linux support is needed for USB Multimedia device support
    1020. #

    1021. #
    1022. # USB Network Adapters
    1023. #
    1024. # CONFIG_USB_KAWETH is not set
    1025. # CONFIG_USB_PEGASUS is not set
    1026. # CONFIG_USB_USBNET is not set
    1027. CONFIG_USB_MON=y

    1028. #
    1029. # USB port drivers
    1030. #
    1031. # CONFIG_USB_USS720 is not set

    1032. #
    1033. # USB Serial Converter support
    1034. #
    1035. # CONFIG_USB_SERIAL is not set

    1036. #
    1037. # USB Miscellaneous drivers
    1038. #
    1039. # CONFIG_USB_EMI62 is not set
    1040. # CONFIG_USB_EMI26 is not set
    1041. # CONFIG_USB_LCD is not set
    1042. # CONFIG_USB_LED is not set
    1043. CONFIG_USB_CYTHERM=m
    1044. # CONFIG_USB_PHIDGETKIT is not set
    1045. CONFIG_USB_PHIDGETSERVO=m
    1046. # CONFIG_USB_IDMOUSE is not set
    1047. # CONFIG_USB_SISUSBVGA is not set

    1048. #
    1049. # USB ATM/DSL drivers
    1050. #

    1051. #
    1052. # USB Gadget Support
    1053. #
    1054. # CONFIG_USB_GADGET is not set

    1055. #
    1056. # MMC/SD Card support
    1057. #
    1058. # CONFIG_MMC is not set

    1059. #
    1060. # InfiniBand support
    1061. #
    1062. # CONFIG_INFINIBAND is not set

    1063. #
    1064. # File systems
    1065. #
    1066. CONFIG_EXT2_FS=y
    1067. # CONFIG_EXT2_FS_XATTR is not set
    1068. CONFIG_EXT3_FS=y
    1069. CONFIG_EXT3_FS_XATTR=y
    1070. CONFIG_EXT3_FS_POSIX_ACL=y
    1071. CONFIG_EXT3_FS_SECURITY=y
    1072. CONFIG_JBD=y
    1073. # CONFIG_JBD_DEBUG is not set
    1074. CONFIG_FS_MBCACHE=y
    1075. CONFIG_REISERFS_FS=m
    1076. # CONFIG_REISERFS_CHECK is not set
    1077. CONFIG_REISERFS_PROC_INFO=y
    1078. CONFIG_REISERFS_FS_XATTR=y
    1079. CONFIG_REISERFS_FS_POSIX_ACL=y
    1080. CONFIG_REISERFS_FS_SECURITY=y
    1081. CONFIG_JFS_FS=m
    1082. CONFIG_JFS_POSIX_ACL=y
    1083. CONFIG_JFS_SECURITY=y
    1084. # CONFIG_JFS_DEBUG is not set
    1085. CONFIG_JFS_STATISTICS=y
    1086. CONFIG_FS_POSIX_ACL=y

    1087. #
    1088. # XFS support
    1089. #
    1090. CONFIG_XFS_FS=y
    1091. CONFIG_XFS_EXPORT=y
    1092. CONFIG_XFS_QUOTA=y
    1093. CONFIG_XFS_SECURITY=y
    1094. CONFIG_XFS_POSIX_ACL=y
    1095. # CONFIG_MINIX_FS is not set
    1096. # CONFIG_ROMFS_FS is not set
    1097. CONFIG_QUOTA=y
    1098. # CONFIG_QFMT_V1 is not set
    1099. # CONFIG_QFMT_V2 is not set
    1100. CONFIG_QUOTACTL=y
    1101. CONFIG_DNOTIFY=y
    1102. CONFIG_AUTOFS_FS=m
    1103. CONFIG_AUTOFS4_FS=m

    1104. #
    1105. # CD-ROM/DVD Filesystems
    1106. #
    1107. CONFIG_ISO9660_FS=m
    1108. CONFIG_JOLIET=y
    1109. # CONFIG_ZISOFS is not set
    1110. CONFIG_UDF_FS=m
    1111. CONFIG_UDF_NLS=y

    1112. #
    1113. # DOS/FAT/NT Filesystems
    1114. #
    1115. CONFIG_FAT_FS=m
    1116. CONFIG_MSDOS_FS=m
    1117. CONFIG_VFAT_FS=m
    1118. CONFIG_FAT_DEFAULT_CODEPAGE=437
    1119. CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
    1120. CONFIG_NTFS_FS=m
    1121. # CONFIG_NTFS_DEBUG is not set
    1122. CONFIG_NTFS_RW=y

    1123. #
    1124. # Pseudo filesystems
    1125. #
    1126. CONFIG_PROC_FS=y
    1127. CONFIG_PROC_KCORE=y
    1128. CONFIG_SYSFS=y
    1129. # CONFIG_DEVPTS_FS_XATTR is not set
    1130. CONFIG_TMPFS=y
    1131. # CONFIG_TMPFS_XATTR is not set
    1132. # CONFIG_HUGETLBFS is not set
    1133. # CONFIG_HUGETLB_PAGE is not set
    1134. CONFIG_RAMFS=y

    1135. #
    1136. # Miscellaneous filesystems
    1137. #
    1138. # CONFIG_HFSPLUS_FS is not set
    1139. # CONFIG_CRAMFS is not set
    1140. # CONFIG_VXFS_FS is not set
    1141. # CONFIG_HPFS_FS is not set
    1142. # CONFIG_QNX4FS_FS is not set
    1143. # CONFIG_SYSV_FS is not set
    1144. # CONFIG_UFS_FS is not set

    1145. #
    1146. # Network File Systems
    1147. #
    1148. CONFIG_NFS_FS=m
    1149. # CONFIG_NFS_V3 is not set
    1150. CONFIG_NFSD=m
    1151. # CONFIG_NFSD_V3 is not set
    1152. CONFIG_NFSD_TCP=y
    1153. CONFIG_LOCKD=m
    1154. CONFIG_EXPORTFS=y
    1155. CONFIG_SUNRPC=m
    1156. CONFIG_SMB_FS=m
    1157. # CONFIG_SMB_NLS_DEFAULT is not set
    1158. CONFIG_CIFS=m
    1159. # CONFIG_CIFS_STATS is not set
    1160. # CONFIG_CIFS_XATTR is not set
    1161. # CONFIG_CIFS_EXPERIMENTAL is not set
    1162. # CONFIG_NCP_FS is not set
    1163. CONFIG_CODA_FS=m
    1164. # CONFIG_CODA_FS_OLD_API is not set

    1165. #
    1166. # Partition Types
    1167. #
    1168. # CONFIG_PARTITION_ADVANCED is not set
    1169. CONFIG_MSDOS_PARTITION=y

    1170. #
    1171. # Native Language Support
    1172. #
    1173. CONFIG_NLS=y
    1174. CONFIG_NLS_DEFAULT="iso8859-1"
    1175. CONFIG_NLS_CODEPAGE_437=y
    1176. # CONFIG_NLS_CODEPAGE_737 is not set
    1177. # CONFIG_NLS_CODEPAGE_775 is not set
    1178. # CONFIG_NLS_CODEPAGE_850 is not set
    1179. # CONFIG_NLS_CODEPAGE_852 is not set
    1180. # CONFIG_NLS_CODEPAGE_855 is not set
    1181. # CONFIG_NLS_CODEPAGE_857 is not set
    1182. # CONFIG_NLS_CODEPAGE_860 is not set
    1183. # CONFIG_NLS_CODEPAGE_861 is not set
    1184. # CONFIG_NLS_CODEPAGE_862 is not set
    1185. # CONFIG_NLS_CODEPAGE_863 is not set
    1186. # CONFIG_NLS_CODEPAGE_864 is not set
    1187. # CONFIG_NLS_CODEPAGE_865 is not set
    1188. # CONFIG_NLS_CODEPAGE_866 is not set
    1189. # CONFIG_NLS_CODEPAGE_869 is not set
    1190. CONFIG_NLS_CODEPAGE_936=m
    1191. CONFIG_NLS_CODEPAGE_950=m
    1192. # CONFIG_NLS_CODEPAGE_932 is not set
    1193. # CONFIG_NLS_CODEPAGE_949 is not set
    1194. # CONFIG_NLS_CODEPAGE_874 is not set
    1195. # CONFIG_NLS_ISO8859_8 is not set
    1196. # CONFIG_NLS_CODEPAGE_1250 is not set
    1197. # CONFIG_NLS_CODEPAGE_1251 is not set
    1198. CONFIG_NLS_ASCII=y
    1199. CONFIG_NLS_ISO8859_1=y
    1200. # CONFIG_NLS_ISO8859_2 is not set
    1201. # CONFIG_NLS_ISO8859_3 is not set
    1202. # CONFIG_NLS_ISO8859_4 is not set
    1203. # CONFIG_NLS_ISO8859_5 is not set
    1204. # CONFIG_NLS_ISO8859_6 is not set
    1205. # CONFIG_NLS_ISO8859_7 is not set
    1206. # CONFIG_NLS_ISO8859_9 is not set
    1207. # CONFIG_NLS_ISO8859_13 is not set
    1208. # CONFIG_NLS_ISO8859_14 is not set
    1209. # CONFIG_NLS_ISO8859_15 is not set
    1210. # CONFIG_NLS_KOI8_R is not set
    1211. # CONFIG_NLS_KOI8_U is not set
    1212. CONFIG_NLS_UTF8=m

    1213. #
    1214. # Kernel hacking
    1215. #
    1216. # CONFIG_PRINTK_TIME is not set
    1217. # CONFIG_DEBUG_KERNEL is not set
    1218. CONFIG_LOG_BUF_SHIFT=15
    1219. CONFIG_DEBUG_BUGVERBOSE=y
    1220. CONFIG_EARLY_PRINTK=y
    1221. CONFIG_X86_FIND_SMP_CONFIG=y
    1222. CONFIG_X86_MPPARSE=y

    1223. #
    1224. # Security options
    1225. #
    1226. # CONFIG_KEYS is not set
    1227. # CONFIG_SECURITY is not set

    1228. #
    1229. # Cryptographic options
    1230. #
    1231. # CONFIG_CRYPTO is not set

    1232. #
    1233. # Hardware crypto devices
    1234. #

    1235. #
    1236. # Library routines
    1237. #
    1238. # CONFIG_CRC_CCITT is not set
    1239. CONFIG_CRC32=y
    1240. CONFIG_LIBCRC32C=m
    1241. CONFIG_GENERIC_HARDIRQS=y
    1242. CONFIG_GENERIC_IRQ_PROBE=y
    1243. CONFIG_X86_SMP=y
    1244. CONFIG_X86_HT=y
    1245. CONFIG_X86_BIOS_REBOOT=y
    1246. CONFIG_X86_TRAMPOLINE=y
    1247. 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的各页面,


  1. #! /usr/bin/perl -w

  2. # print "$ARGV[0]\n";

  3. $fc = join "", (<>);
  4. while ($fc =~ /<[^>]+>/) {
  5.     $fc = $';
  6.     $_ = $&;
  7.     # print "S:\t$_\n\n";
  8.     if (/href/i) {
  9.         # print "$_\n";
  10.         s/^.*href//i;
  11.         /"[^"]+"/;
  12.         $_ = $&;
  13.         s/"//g;
  14.         # print "$_\n";
  15.         if ((/^http/i) || (/^ftp/i)) {
  16.             $temp = $_;
  17.             next if (/\/$/);
  18.             s@^.*/@@;
  19.             next if (/[:?#]/);
  20.             next if (/^[a-z_-]+$/i);
  21.             next if (/^[0-9._-]+$/);
  22.             next if (/^[a-z0-9_-]+$/i);
  23.             next if (/md5sum/i);
  24.             next if (/html?$/i);
  25.             next if (/php3?$/i);
  26.             next if (/log$/i);
  27.             next if (/org$/i);
  28.             next if (/net$/i);
  29.             next if (/com$/i);
  30.             next if (/root$/i);
  31.             next if (/usb$/i);
  32.             next if (/pc$/i);
  33.             next if (/linux$/i);
  34.             next if (/jsp$/i);
  35.             next if (/perldlrc$/i);
  36.             print "$temp\n";
  37.             # print "$temp\n" if (/\.tar/i);
  38.             # print "$temp\n" if (/\.patch/i);
  39.             # print "$temp\n";
  40.             }
  41.         }
  42.     }

  43. # print "\n";

复制代码

在装blfs时,就没必要像lfs那样,用鼠标粘贴命令。现在要用安装命令稿文件,就是先把命令提取出来,把其它有必要的命令也写进去,到最后执行此命令文件就行了。

这项工作可有点枯燥,可不是人干的。我写了一个perl文件,就干这事。第一个参数是blfs软件包的页面,第二个参数是软件包所在目录。提取出命令之后,再编辑一下,就可以了。注意,命令之间要用&&连接起来,以确保所有的命令都正确执行。


  1. #! /usr/bin/perl -w

  2. $pp = $ARGV[1];
  3. $pp =~ s@/*$@@;

  4. $ARGV = ($ARGV[0]);

  5. $fc = join "", (<>);
  6. # print $fc;

  7. $fc =~ /<div class="sect1"[^>]*>/is;
  8. $title = $';
  9. $title =~ /<h1[^>]*>\s+(.*)\s+<\/h1>/is;
  10. $_ = $1;
  11. # s@<title>\s+@@gis;
  12. # s@\s+</title>@@gis;
  13. s@&nbsp;@ @gi;
  14. s@\s*$@@gi;
  15. # print "\n## "."="x62;
  16. print STDERR "==== $_ ====\n";
  17. print "#!/bin/sh\n";
  18. print "\necho -e "\\n$_" >> /root/installed.log\n";

  19. $fc =~ /Download \(HTTP\)[^<]*<[^>]*>/is;
  20. $ph = $&;
  21. $fc =~ /Download \(FTP\)[^<]*<[^>]*>/is;
  22. $pf = $&;
  23. $ph =~ s@.*"(.*)".*@$1@is;
  24. $pf =~ s@.*"(.*)".*@$1@is;
  25. $pn = $ph if ($ph =~ /tp/i);
  26. $pn = $pf if ($pf =~ /tp/i);
  27. # print "$pn\n";
  28. $pn =~ s@.*/@@;
  29. # print "$pn\n";
  30. $wd = "tar tf $pp/$pn | head -n 2";
  31. $wd = `$wd`;
  32. $wd =~ s@.*\n@@;
  33. chomp $wd;
  34. $wd =~ s@\./@@g;
  35. $wd =~ s@/.*@@g;
  36. s@^.*/@packages/@;
  37. print "\ndate >> /root/installed.log &&\n";
  38. print "tar xvf $pp/$pn &&\n";
  39. print "cd $wd &&\n";
  40. print "pwd >> /root/installed.log &&\n";
  41. print "date >> /root/installed.log &&\n";

  42. while ($fc =~ /<kbd[^>]*>/is) {
  43.     $tail = $&.$';
  44.     $tail =~ /<\/kbd>/is;
  45.     $_ = $`.$&;
  46.     $fc = $';
  47.     s/<[^>]*>//gi;
  48.     s/&gt;/>/g;
  49.     s/&lt;/</g;
  50.     s/&amp;/\&/g;
  51.     print "\n$_\n";
  52.     }

  53. print "\npwd >> /root/installed.log &&\n";
  54. print "date >> /root/installed.log &&\n";
  55. print "cd .. &&\n";
  56. print "rm -rf $wd\n\n";


复制代码

附加的信息可以作为包管理器之用。

还有部分软件包不在blfs中,但又不得不装,它的信息也得记下来。下面的程序就用于生成附加信息及安装命令,参数就是要安装的软件包,


  1. #! /usr/bin/perl -w

  2. $pp = $ARGV[0];

  3. $_ = $pp;
  4. s@.*/@@;
  5. s@\.tar.*$@@;
  6. $pn = $_;

  7. $_ = "tar tf $pp | head -n 2";
  8. $_ = `$_`;
  9. s@.*\n@@;
  10. chomp $_;
  11. s@\./@@g;
  12. s@/.*@@g;
  13. $wd = $_;

  14. print STDERR "==== $pn ====\n";
  15. print "#!/bin/sh\n";
  16. print "\necho -e "\\n$pn" >> /root/installed.log\n";

  17. print "\ndate >> /root/installed.log &&\n";
  18. print "tar xvf $pp &&\n";
  19. print "cd $wd &&\n";
  20. print "pwd >> /root/installed.log &&\n";
  21. print "date >> /root/installed.log &&\n";

  22. print "\n./configure --prefix=/usr --sysconfdir=/etc &&\n";
  23. print "make &&\n";
  24. print "make install &&\n";

  25. print "\npwd >> /root/installed.log &&\n";
  26. print "date >> /root/installed.log &&\n";
  27. print "cd .. &&\n";
  28. 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吧。
发表于 2005-10-9 18:33:13 | 显示全部楼层
好文!除安裝心得外,wolfkin兄可否分響使用心得呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表