1. 程式人生 > >openwrt編譯及第一個安裝包教程

openwrt編譯及第一個安裝包教程

Date: 2017.03.14
Made:SuperDeverloper
Email: [email protected]
Target: For mt7688 based board

說明:本人在學習過程中走了不少彎路,希望本文件能為後來者提供便利。歡迎複製和使用本文件。本文件記錄了搭建openwrt編譯環境以及快速建立ipk包(openwrt上的安裝程式)。本文件在實際應用中做過幾次修改,以幫助使用者正確編譯。
1.安裝ubuntu16.04
Ubuntu常用命令:
設定ROOT許可權:

  $ sudo passwd root

開啟SSH服務:

  $ 
sudo apt-get install openssh-server $ service ssh start $ ps–e|grep ssh //檢視SSH服務是否開啟,注意保持聯網

安裝應用程式:

$ sudo apt-get install ****

2.安裝依賴包

apt-get install g++
apt-get install libncurses5-dev
apt-get install zlib1g-dev
apt-get install bison
apt-get install flex
apt-get install unzip
apt-get
install autoconf apt-get install gawk apt-get install git apt-get install make apt-get install gettext apt-get install gcc apt-get install binutils apt-get install patch apt-get install bzip2 apt-get install libz-dev apt-get install subversion 以上軟體安裝完成,編譯報錯時安裝以下檔案 apt-get install libssl-dev
$tar jvxf    **                              //如果你的開發板提供了SDK,在SDK目錄下會有這個工具包,在SDK/STAGING_DIR目錄下

至此開發環境搭建完成!!

3.編譯openwrt
cd到openwrt根目錄下
cd /superwen/work/openwrt
執行

      $ sudo make menuconfig
  選擇目標平臺     
    Target System :RT288X/RT3xxx
                           Subtarget : MT7688 based boards
                           Target Profile: LinkIt7688

這裡寫圖片描述

在這裡選擇自己對應的平臺就可以了
選擇Exit退出,選YES儲存配置
重點:
在openwrt根目錄下執行

 $sudo make dirclean              //不執行這一步會報錯      

在openwrt根目錄下執行

make V=99         //第一次大概2-4小時能編譯完成,之後再編譯就快了

編譯完成後在bin目錄下生成相應檔案,可燒寫到板子上,燒寫方法各自的板子自帶教程,這裡就不詳細說明了

4.獲取屬於自己開發板的SDK包
在openwrt目錄下執行

make menuconfig

按空格鍵選擇

Build the Openwrt SDK 
            Package the Openwrt-based Toolchain
            Advanced configuration options(for developers)   
-> Toolchain Options 
->Build gdb               //需要用空格鍵先選擇上再回車進入下一級選單,否則開啟選項是空的

這裡寫圖片描述

儲存並退出 執行make V=99

在bin目錄下生成對應的OPENWRT-SDK檔案,將此檔案解壓獲得對應資料夾
這裡寫圖片描述
複製資料夾到非openwrt目錄更名為openwrt-sdk,cd進入此資料夾,執行make V=99 若編譯無錯誤,說明獲取openwrt sdk成功
這裡寫圖片描述

5.第一個openwrt上的應用程式hello

在openwrt/package/utils/目錄下任一複製一份資料夾到OPENWRT-SDK/package,以usbreset為例,該資料夾下結構簡單,包含一個src資料夾和一份Makefile,src資料夾下有一份usbreset.c檔案
這裡寫圖片描述
i. 修改usbreset.c的檔名文hello.c
ii. 修改usbreset.c的檔案內容
刪除該檔案所有內容並輸入如下程式碼

#include<stdio.h>
int main(void){
        printf(“Hello opwrt!!”);
        return 0;
}

儲存並退出
iii. 修改Makefile檔案
開啟該檔案,將所有usbreset字元全部替換為hello,
這裡寫圖片描述

替換後的Makefile
這裡寫圖片描述
其餘地方不要做任何改動,儲存並退出
在openwrt-sdk根目錄下執行

make menuconfig

在Utilities->中找到hello,並按空格鍵將hello前面標記成M
在openwrt-sdk/bin/base目錄下生成hello***.ipk檔案 //如果你複製的不是USBRESET檔案,生成的檔案所在路徑可能不一樣,但是都在bin目錄下
這裡寫圖片描述

6.上傳ipk檔案
在openwrt-sdk/bin/base 目錄下執行

     $ sudo scp hello***.ipk root@192.168.1.1:                //OPWRT 的IP地址,別忘記冒號
       輸入密碼後上傳完成

這裡寫圖片描述

切換到openwrt操作
此openwrt接收到的檔案儲存在root/目錄下
# opkg install hello***.ipk
安裝完成後輸入

    hello

這裡寫圖片描述
Openwrt在串列埠上輸出Hello opwrt!!
以後要編寫自己的程式就可以以此為模板進行編寫,但是這個方法只能編寫一個C檔案的工程,要編寫更大的工程需要深入學習下Makefile.當然,能找到合適的模板來改也是非常便捷的方式

本教程Over!!

相關推薦

openwrt編譯及第一個安裝教程

Date: 2017.03.14 Made:SuperDeverloper Email: [email protected] Target: For mt7688 based board 說明:本人在學習過程中走了不少彎路,希望本文件能為後來者

Openwrt新增定製一個軟體

我深知前路風雨,但我依然微笑前行 ;)   Openwrt的Makefile流程異於一般常用的Makefile,閱讀起來難度太大。但是我麼可以先通過如何使用、修改Makefile開始,從Makefile的某個區域性開始瞭解,事情就會變得簡單許多。我們在開發

在win10裡從原始碼編譯nodejs的安裝和學習原始碼

大家其實都是從網站上下載直接安裝檔案的,為什麼還要從原始碼安裝呢?可能原因就兩個,一個想自己優化,新增一個特定的東西;另一個想學習nodejs的實現,知道為什麼這樣實現的。我這裡主要為學習nodejs的實現,所以要到下面的網站下載原始碼:https://nodejs.org/

使用NDK和Cygwin編譯一個so

本文主內容: 1、  Android NDK 安裝 2、  安裝Cygwin與使用NDK編譯 3、  在Eclipse中整合C/C++開發環境CDT 4、  安裝Sequoyah外掛 5、  JNI編譯環境配置 本文建立在已經完成Android開發環境搭建的基礎上。其基礎環境至少需要包含以下

python讀取nc檔案(上)安裝教程

Python是非常強大的工具,雖然在氣象領域應用還不普遍,但是隨著時代發展,Python的應用前途是光明的。Python豐富的模組(module)讓其可以做的事情非常多,包括處理各種格式的資料,其中就包括nc/HDF4/HDF5格式的資料。 安裝Anaconda 首先需要

ESP8266-SDK編譯環境安裝安裝編譯與燒錄教程【windows】

SDK編譯環境安裝包的安裝、編譯與燒錄教程 【支援最新版AT、IOT及LUA原始碼編譯,附原始碼】 1、安裝包Fans_ESP8266_SDK_Make.exe 下載地址:http://pan.baidu.com/s/1pJ6w1tD 安裝後在C盤下生成三個資料夾

CentOS7/64位環境安裝Mysql 5.7.19二進制教程

char group 教程 設置 路徑 datadir init alt mysq 1.下載mysql 在官網:http://dev.mysql.com/downloads/mysql/ 中,選擇二進制的mysql版本下載: #wget http://dev.mys

vs2008安裝安裝教程

run 可見 資源 進入 打開 post 找不到 com 安裝教程 註:本博客為原創博客,允許轉載,轉載時請註明出處 1.下載vs2008安裝包,找不到資源的請戳這裏:鏈接:https://pan.baidu.com/s/1dGIaPrj 密碼:25dq 2.打開安裝

Andriod項目實戰——如何在微信H5棋牌鬥牛房卡源碼平臺租售搭建中的一個下建新教程

明顯 技術分享 col log 兩張 需要 容易 網址 roc 最開始是想將各個類分門別類地微信H5棋牌鬥牛房卡源碼平臺租售搭網址:h5.fanshubbs.com聯系Q1687054422存放在不同的包中,所以想在項目源碼包中新建幾個不同功能的包eg:utils、mode

QEMU修改及安裝編譯

payload tail clock nss rac vra vmdk 復制 完整 轉載自 靈躍雲 :原文鏈接 1. 前言 上一篇文章《虛擬化環境搭建及虛擬機創建》中,我們簡單介紹了虛擬化環境的搭建和虛擬機創建過程,本文

Hadoop自己編譯Hadoop安裝

span per blog code 文件中 centos apps 是我 bootstrap CentOS-6.7 編譯 hadoop-2.6.5 (只需輸入紅色命令即可) 目錄 1、閱讀編譯文檔 .....................................

解決rpm安裝依賴問題的一個方法

linux yum rpm依賴 需求背景 你需要安裝幾個rpm包,當時當你執行rpm -ivh *.rpm的時候,卻提示需要一大堆依賴。 你被不允許配置yum源,你也不能一個一個去嘗試包和包之間的依賴關系。 解決方法 先在通互聯網的機器上配置互聯網yum源 再安裝#yum -y ins

兮米安裝制作工具圖文教程集錦電子書

電子書 兮米安裝包制作工具是俺用過最好用的軟件打包工具,操作簡單,功能強大~ 點擊壓縮包文件裏的index.htm 打開電子書。 https://pan.baidu.com/s/1mnOd7lbD_QqbycZ4H3WgCw兮米安裝包制作工具圖文教程集錦電子書

一個pip安裝程序制作實驗

module 版本 git con 界面 emd htm exp https 第一個pip安裝包程序實驗 經常在使用Python項目和編程中,會經常使用到pip install 包名 或者使用 easy_install 包名進行有關依賴程序包安裝操作。 通過查看相對應的指

eclipse反編譯插件jadClipse安裝使用教程

stand 例子 按鈕 load 技術 clas ads associate 以及 https://jingyan.baidu.com/article/3f16e003c857082590c1036f.html previously:最近在學習Dependency Inje

3dmax多個版本軟件的安裝以及安裝教程

col 教程 記不得 3dsmax clas baidu ctp spa 鏈接 這個文檔具體出自哪裏,我也是記不得了,需要的看下,鏈接如果是失效,那我也無能為力了。 免費分享,鏈接永久有效 2014版3D MAX鏈接:http://pan.baidu.com/s/1nu

yum 安裝 一個小問題導致找不到安裝

mirror mir 回來 ava 安裝 卸載 ble update .repo 業務需求安裝一個免費的ssl毫不猶豫想到了Let's Encrypt,於是yum 安裝,但是這臺機器上面遇到了怪事,沒有可用的安裝包,於是換了幾次阿裏,163,sohu源,換過

手工編譯安裝Apache, 版本httpd-2.4.29(免費提供安裝,懶人福利;提供安裝腳本)

echo -e abd sel local 使用 ado .tar.gz c++ height 環境部署:本次實驗以redhat6.5系統為安裝對象,(CentOS其他系列也可以)安裝Apache源碼包 httpd-2.4.29.tar.bz2依賴包 pcre-8.41.t

hadoop快速入門教程:hadoop安裝下載與監控參數說明

分布式 height tex region 集群 RoCE 發行版 store serve 前階段用了差不多兩周的時間把DKhadoop的運行環境搭建以及安裝的各個操作都介紹了一遍。關於DKhadoop安裝包下載也只是順帶說了一下,但好像大快搜索的服務器在更新,新的下載頁面

Linux初識----歷史、安裝及第一個"helloworld"程序運行

計算 安裝gcc 重要 操作 計算機 快捷鍵 版權 編輯模式 很多 一、Linux歷史   早在Linux出現之前的20年(大約在20世紀70年代),就有一個相當穩定並且成熟的操作系統存在。那就是UNIX。   (1)1969年,Thompson經過四個星期的奮鬥,他最終以