歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 詳解基於BusyBox、DropBear、Ngnix制作完整的嵌入式Linux系統

詳解基於BusyBox、DropBear、Ngnix制作完整的嵌入式Linux系統

日期:2017/2/28 14:50:34   编辑:Linux教程

說明:

《一》:查看此網站,建議查看筆者上一篇(Linux啟動過程http://www.linuxidc.com/Linux/2013-04/82119.htm),因為只有在完全了解Linux系統啟動流程及一些配置文件的相關性,在閱讀此博文才能有思路,理解起來更容易寫。

《二》:此文主要講解如何基於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

busybox版本:busybox-1.20.2.tar.bz2 -->BusyBox各版本下載 http://www.linuxidc.com/Linux/2011-08/40704.htm

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

Copyright © Linux教程網 All Rights Reserved