1. 嵌入式OpenWRT入门基础篇-----OpenWRT源码下载、编译

       之前一直在做关于op系统的项目,现在不从事这一行了,或许以后也不会了,趁现在还有点记忆,因此在此也算记录一下以前的工作吧,因为OpenWRT是一个很完善的系统,本系列博客也是按照整个系统的开发步骤进行的。本人技术水平不精,如有错误之处,还望多多指正,感谢各位阅读者。OpenWRT是一个功能很强大的路由系统,本系列文章主要介绍将OpenWRT应用于物联网和嵌入式之中。

一、源码下载

     OpenWRT的官方GitHub地址 https://github.com/openwrt/openwrt/,18.06版本下载命令为:

 git clone -b openwrt-18.06 https://github.com/openwrt/openwrt/tree/openwrt-18.06

如需要下载其他版本,可查看官方GitHub中其它分支,下载即可。由于之前用了openwrt 15.05版本,15.05版本下载命令为:

git clone https://git.openwrt.org/15.05/openwrt.git

二、Linux环境配置

     在编译openwrt系统时,Linux系统需要安装一些软件包,才能保证编译不会出错,在此罗列一些常用的、关键的软件包,如果编译中出现报错,可根据提示在进行安装相应的软件包。

sudo apt-get install subversion build-essential libncurses5-dev zlib1g-dev gawk git ccache gettext libssl-dev xsltproc

三、编译之前的OpenWRT系统相关配置

  在OpenWRT源码包下载成功之后,首先要进行对源码包的更新安装,执行以下命令:

    ./scripts/feeds update -a
    ./scripts/feeds istall -a

a. 配置使用的芯片架构、芯片的名称、芯片的设备树文件,以下的相关的配置内容,仅为我目前使用的,仅供参考。

1. 嵌入式OpenWRT入门基础篇-----OpenWRT源码下载、编译_第1张图片

我采用的配置 MT7628+32M Flash + 256M RAM,因此上面的第一项选择为 MIPS 架构,第二项选择 MT7688芯片,第三项为芯片的相关设备树驱动配置文件,此文件包含有 调试串口号 、Flash和RAM容量大小等等。 此文件可以自己使用OpenWRT系统自己提供的,也可以在原来的基础上改动,同时也可以自己新建一个属于自己的,后续章节会介绍如何创建一个新的Target Profile 

b. 使能Luci,选中如图中所示功能,此步骤为开OpenWRT的Web界面,在以后就不再介绍开启Web界面的步骤了。

1. 嵌入式OpenWRT入门基础篇-----OpenWRT源码下载、编译_第2张图片

c. 配置基本驱动,下面配置为USB驱动和视频驱动、Mjpeg-mipg-streamer软件,可实现USB摄像头、U盘使用

1). 添加 USB 相关支持

Kernel modules —> USB Support —> <*> kmod-usb-core. ##默认已经选了

Kernel modules —> USB Support —> <*> kmod-usb-ohci. ## usb1.0

Kernel modules —> USB Support —> <*> kmod-usb-uhci. ## usb1.1

Kernel modules —> USB Support —> <*> kmod-usb-storage.

Kernel modules —> USB Support —> <*> kmod-usb-storage-extras.

2). 添加 SCSI 支持

Kernel modules —> Block Devices —> <*>kmod-scsi-core ##默认已选

3). 添加 USB 挂载

Base system —> <*>block-mount

4). 添加自动挂载工具

Utilities —> Filesystem —> <*> badblocks

5). 添加文件系统支持

Kernel modules —> Filesystems —> <*> kmod-fs-ext4 (移动硬盘 EXT4 格式选择)

Kernel modules —> Filesystems —> <*> kmod-fs-vfat(FAT16 / FAT32 格式 选择)

Kernel modules —> Filesystems —> <*> kmod-fs-ntfs (NTFS 格式 选择)

6). 添加 UTF8 编码,CP437 编码,ISO8859-1 编码

Kernel modules —> Native Language Support —> <*> kmod-nls-cp437

Kernel modules —> Native Language Support —> <*> kmod-nls-iso8859-1

Kernel modules —> Native Language Support —> <*> kmod-nls-utf8

Utilities ---> <*> usbutils........ USB devices listing utilities

7). 执行make kernel_menuconfig

File systems ---> {M} Native language support --->

Codepage 437 (United States, Canada)

Simplified Chinese charset (CP936, GB2312)

d. 配置摄像头驱动

Kernel modules —> Video Support —> <*> kmod-video-core

在展开的选项中选中如下

Kernel modules —> Video Support —> <*> kmod-video-uvc

e. 配置 OpenWrt 支持 mipg-streamer 软件

Multimedia —> <*> mjpeg-streamer

四、编译

执行 make V=s 命令,在第一次编译的时候耗费时间较长,如遇到了一些软件包下载过慢或者无法下载,可从网上自行下载相关的文件,替换到目前编译的OpenWRT源码的dl文件夹中。最终编译的固件为 openwrt/bin/rampis/openwrt-rampis-mt7628-mt7628-squashfs-sysupgrade.bin

 

 

 

 

 

你可能感兴趣的:(嵌入式OpenWRT入门基础篇)