BabyLinux操作系统的制作过程(上)
接下来的Charcter devices是很重要的一项,他和Bloack devices一样重要,我将重点讲述。
除了Virtual terminal和Support for console on terminal两项,其他全选N。Virtual terminal 即虚拟终端,这是一般Linux必备选项。否则你的Linux启动后,在屏幕看不到任何东西。另外还负责键盘输入信息等等。只有在某些嵌入式Linux应用场合才会不要这个选项,因为这些Linux通常都不用操作。 Support for console on terminal 在虚拟终端上的控制台。他支持在终端上各种信息的输出,这也是必备的。接下来的几个大项:
Multimedia devices Crypto Hardware support
全部选择N。
再接下来的那部分File sytems可是重头戏喔。这部分不用我太罗嗦了吧,自己需要支持什么就选什么。但是其中有三个是你必需选的:
- /proc file system support 缺了他,很多命令和软件就不能运行。
- Second extended fs support BabyLinux的基本文件系统。
- ISO 9660 CDROM filesytem support 除非你不想用光盘。
另外,诸如磁盘限额(Quota support),Reiserfs的DEBUG模式(Enable reiserfs debug mode)
等就不用编译进去了。这些东西意义不大,确要无端的增大内核大小。请牢记一点:编译出来的内核大小不要超过900K。 最后一个Console drivers,这是支持Linux在字符模式下高分辨率显示的内核模块。前面三个全部选择Y,Frame-buffer support按钮是灰色的不能选,别急,回到第一个大选项:
- Code maturity level options 选择Y,就可以激活这个按钮了。
下面几个选项需要选择Y:
Support for framebuffer devices VESA VGA graphics console
你也可以选择其他的显卡驱动,比如nVidia的,但是VESA和VGA是通用性最好的,只要不是几十年前的黑白显卡(我只听说过,没见过),都兼容VESA和VGA,因此,为了制作好的BabyLinux的通用性,请选择这个驱动。
Support only 8 pixels wide fonts,这个一定要选,否当你给内核传递vga=788参数,让Linux在字符界面下高分辨率显示的时候,系统会因为找不到合适的小字体而返回到低分辨率模式。好了!所有内核的配置工作到这里就全部完成了,剩下的几个大项全部选N就行了。保存后退出,配置程序会自动生成一个隐藏的配置文件。config 下面是我配置好的。config文件内容。如果你懒的自己去配置,那么直接把这个。config拷贝到你的源代码目录下就能直接用了。(已经去掉了#开头的注释行)
CONFIG_X86=y CONFIG_UID16=y CONFIG_EXPERIMENTAL=y CONFIG_M586=y CONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INVLPG=y CONFIG_X86_CMPXCHG=y CONFIG_X86_XADD=y CONFIG_X86_BSWAP=y CONFIG_X86_POPAD_OK=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_X86_L1_CACHE_SHIFT=5 CONFIG_X86_USE_STRING_486=y CONFIG_X86_ALIGNMENT_16=y CONFIG_X86_PPRO_FENCE=y CONFIG_NOHIGHMEM=y CONFIG_NET=y CONFIG_PCI=y CONFIG_PCI_GODIRECT=y CONFIG_PCI_DIRECT=y CONFIG_SYSVIPC=y CONFIG_SYSCTL=y CONFIG_KCORE_ELF=y CONFIG_BINFMT_ELF=y CONFIG_BLK_DEV_FD=y CONFIG_BLK_DEV_LOOP=y
|