详解基于BusyBox、DropBear、Ngnix制作完整的嵌入式Linux系统

jixianglsq 2013-04-02

说明:

《二》:此文主要讲解如何基于busybox制作一个属于自己的嵌入式Linux系统,及编译安装ngnix软件提供http功能,及利用dropbear提供SSH功能

提示:笔者在书写过程中难免发生书写错误,忘读者提出及谅解,笔者会在第一时间内修改内容。

基于busybox制作微型嵌入式Linux系统:kernel(编译)+initrd(busybox)+/(busybox)+dropbear(提供SSH功能) 
 
 
操作环境表述: 
    kernel版本:linux-2.6.38.5.tar.bz2(编译安装)-->http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.5.tar.bz2 

    dropbear:http://matt.ucc.asn.au/dropbear/dropbear.html/dropbear-2013.56.tar.bz2 
 
 
busybox介绍: 
    BusyBox 是一个集成了百多个最常用linux命令和工具的软件。 
    BusyBox 包含了一些简单的工具(ls、cat、echo、touch......)及复杂的命令(grep、find、mount....) 
    Busybox最初是由Bruce Perens在1996年为Debian GNU/Linux安装盘编写,简单的说BusyBox就是个百宝箱,它集成压缩了Linux系统中的许多工具和命令。 
     
dropbear(开源软件)介绍: 
    dropbear是一个相对较小的SSH服务器和客户端软件,运行在一个基于POSIX的各种平台,dropbear实现完整的SSH S/C版本2协议。 
    简单说dropbear就是一款开源的轻量级SSH服务软件。(笔者理解) 
 
 
 
实现步骤: 
1、添加一块IDE硬盘(10G),并对其进行分区(/dev/hda1(20M)、/dev/hda2(512M)、/dev/hda3(128M)->将/dev/hda3的文件类型改为82即可) 
  文件类型均为ext3(mke2fs -j /dev/hda#),可以参考笔者写的RAID的原理及一步步来实现RAID的创建 (里面有关于创建分区及更改分区文件系统类型案例) 
    # fdisk /dev/hda (/dev/hda分区) 
    # partprobe /dev/hda 
    # mke2fs -j /dev/hda# 
 
 
2、创建目录作为/dev/hda1、/dev/hda2挂载点并进行挂载 
    # mkdir /mnt/{boot,sysroot} -pv 
    # tree /mnt    ##查看/mnt目录下的所有文件及其子目录 
    # mount /dev/hda1 /mnt/boot      ##用于Linux启动分区 
    # mount /dev/hda2 /mnt/sysroot    ##用于Linux根分区 
    # mount      ##可以使用mount命令查看是否挂载成功 
 
 
3、编译内核源代码,作为新系统提供所需的内核(源代码包都位于/usr/src目录中) 
    # cd  /usr/src 
    # tar jxvf linux-2.6.38.5.tar.bz2    ##解压源代码这里下载的bzip格式压缩的,所以使用j选项 
    # ln  -sv  linux-2.6.38.5  linux      ##给linux-2.6.38.5做个软连接其命名为linux 
    # cd linux 
    # cp /root/kernel-2.6.38.1-i686.cfg  ./.config  ##kernel-2.6.38.1-i686.cfg(2.6.38系统所使用的模块,可以修改一些模块) 
    # make menuconfig       
说明:在这里我们将文件系统中的ext3、网卡的驱动程序直接编译进内核,因为笔者使用的是vmware Workstation虚拟机 ,所以网卡类型为pcnet32 
       
    # make  SUBDIR=arch/     
    # cp arch/x86/boot/bzImage  /mnt/boot/  ##将我们编译安装好的内核文件复制到/mnt/boot目录 
     
     
4、编译安装busybox(busybox-1.20.2.tar.bz2) 
说明:busybox需要比较新的内核支持头文件中的ubi-user.h, 
    所以我们要将这个文件复制到/usr/src/busybox-1.20.2/iniclued/mtd即可 
    # cd /usr/src 
    # tar  jxvf  busybox-1.20.2.tar.bz2 
    # cd  busybox-1.20.2 
    # mkdir include/mtd   
    # cp  /usr/src/linux/include/mtd/ubi-user.h  include/mtd/ 
    # make menuconfig    ## 参考“说明” 
    # make install   

相关推荐