Padavan 編譯教程

來源:互聯網
上載者:User

標籤:iso   war   行修改   虛擬機器   ttext   user   org   注釋   清除   

配置編譯環境安裝虛擬機器安裝Ubuntu 16.04LTS安裝 git
1
2
sudo apt-get update 
sudo apt-get install git
轉到 /opt目錄,並且用命令複製 Padavan 倉庫
1
2
cd /opt
sudo git clone https://bitbucket.org/padavan/rt-n56u.git
安裝編譯韌體所需要的工具
1
sudo apt-get install autoconf automake bison build-essential flex gawk gettext gperf libtool pkg-config zlib1g-dev libgmp3-dev libmpc-dev libmpfr-dev texinfo python-docutils mc
編譯一個交叉編譯的工具鏈
1
2
3
cd /opt/rt-n56u/toolchain-mipsel
sudo ./clean_sources
sudo ./build_toolchain
編譯3.0核心的韌體

如果你需要編譯3.0核心的韌體就需要執行下面的步驟,預設支援3.4核心

1
2
3
cd /opt/rt-n56u/toolchain-mipsel
sudo ./clean_sources
sudo ./build_toolchain_3.0.x

編譯好後的工具鏈會放在/opt/rt-n56u/toolchain-mipsel/toolchain-3.0.x

以後在更新或者升級工具鏈的情況下才需要執行以上步驟。

機型適配(newifi mini)進行入韌體源碼目錄
1
cd /opt/rt-n56u/trunk
組建組態檔案
1
2
3
4
5
6
7
// 刪除預設的設定檔 opt/rt-n56u/trunk 下的 .config 檔案,預設是隱藏的,可以使用Ctrl+H顯示與隱藏設定檔(或者用以下命令進行刪除)

sudo rm -f opt/rt-n56u/trunk/.config

// 從 opt/rt-n56u/trunk.config/templates 裡拷貝出 ac54u_base.config 到 opt/rt-n56u/trunk下並重新命名成.config(或者用以下命令進行操作)

sudo cp opt/rt-n56u/trunk/configs/templates/ac54_base.config /opt/rt-n56u/trunk/.config
修改設定檔

由於修改後預設的.config 設定檔裡文檔寫的很詳細,就不多解釋,根據自己需要開啟與關閉需要與不需要的功能,#這個符號預設是注釋代碼,也就是關閉某個功能,反之去掉就是開啟(可以把文檔內容拷出來到翻譯裡翻譯一遍,可以很清楚的看到每個功能是幹什麼用的)

適配燈與複位鍵

修改檔案 /opt/rt-56u/trunk/configs/boards/RT-AC54U/board.h

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* ASUS RT-AC54U */

#define BOARD_PID"RT-AC54U"
#define BOARD_NAME"RT-AC54U"
#define BOARD_DESC"ASUS RT-AC54U Wireless Router"
#define BOARD_VENDOR_NAME"ASUSTek Computer Inc."
#define BOARD_VENDOR_URL"http://www.asus.com/"
#define BOARD_MODEL_URL"http://www.asus.com/Networking/RTAC54U/"
#define BOARD_BOOT_TIME25
#define BOARD_FLASH_TIME120
#undef BOARD_GPIO_BTN_RESET
#define BOARD_GPIO_BTN_WPS11
#undef BOARD_GPIO_BTN_WLTOG
#undef BOARD_GPIO_LED_ALL
#define BOARD_GPIO_LED_WIFI72
#undef BOARD_GPIO_LED_SW2G
#define BOARD_GPIO_LED_SW5G50
#define BOARD_GPIO_LED_POWER9
#define BOARD_GPIO_LED_LAN55
#define BOARD_GPIO_LED_WAN51
#define BOARD_GPIO_LED_USB52
#undef BOARD_GPIO_LED_ROUTER
#undef BOARD_GPIO_PWR_USB
#define BOARD_HAS_5G_11AC1
#define BOARD_NUM_ANT_5G_TX2
#define BOARD_NUM_ANT_5G_RX2
#define BOARD_NUM_ANT_2G_TX2
#define BOARD_NUM_ANT_2G_RX2
#define BOARD_NUM_ETH_LEDS1
#define BOARD_HAS_EPHY_L10000
#define BOARD_HAS_EPHY_W10000

//上面是newifi mini的,由於每個機型不同,僅供參考
適配WAN口與LAN口

修改檔案 /opt/rt-56u/trunk/configs/boards/RT-AC54U/kernel-3.4.x.config

1
2
3
4
5
6
7
CONFIG_RAETH_ESW_PORT_WAN=4
CONFIG_RAETH_ESW_PORT_LAN1=1
CONFIG_RAETH_ESW_PORT_LAN2=0
CONFIG_RAETH_ESW_PORT_LAN3=3
CONFIG_RAETH_ESW_PORT_LAN4=2

//上面是newifi mini的,由於每個機型不同,僅供參考
開啟外置PA&LAN支援

在 /opt/rt-56u/trunk/configs/boards/RT-AC54U/kernel-3.4.x.config裡刪除# CONFIG_EXTERNAL_PA_EXTERNAL_LNA is not set 這一行代碼,並加入下面的代碼

1
CONFIG_EXTERNAL_PA_EXTERNAL_LNA=y
擴充記憶體

修改/opt/rt-56u/trunk/configs/boards/RT-AC54U/kernel-3.4.x.config設定檔,以AC-54U為例,預設是64M,所以只需要將以下代碼進行如下修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 沒修改前是64M記憶體
CONFIG_RT2880_DRAM_16M is not set
CONFIG_RT2880_DRAM_32M is not set
CONFIG_RT2880_DRAM_64M=y
CONFIG_RT2880_DRAM_128M is not set
CONFIG_RT2880_DRAM_256M is not set
CONFIG_RALINK_RAM_SIZE=64

// 修改成128M
CONFIG_RT2880_DRAM_16M is not set
CONFIG_RT2880_DRAM_32M is not set
CONFIG_RT2880_DRAM_64M is not set
CONFIG_RT2880_DRAM_128M=y
CONFIG_RT2880_DRAM_256M is not set
CONFIG_RALINK_RAM_SIZE=128
設定時區

修改/opt/rt-56u/trunk/user/shared/defaults.h

1
2
#define DEF_TIMEZONE"CST-8"
#define DEF_NTP_SERVER0"ntp1.aliyun.com"
產生韌體清除源碼樹
1
sudo ./clear_tree
開始編譯產生韌體
1
sudo ./build_firmware

編譯完成後產生的韌體在/opt/rt-56u/trunk/images裡面

更新源碼

轉到/opt目錄,複製最新源碼

1
2
cd /opt
sudo git pull

如果你對本地存倉庫進行了更改,那麼在更新源碼的時候,你必須運行以下命令

1
2
sudo git stash
sudo git pull

如果更改了工具鏈,則必須重新構建它

1
2
3
4
cd /opt/rt-n56u/toolchain-mipsel
sudo ./clean_sources
sudo ./clean_toolchain
sudo ./build_toolchain

以上的修改建議使用手工進行修改,如果直接使用檔案進行覆蓋的話很容易出錯。而且一但編譯出錯的話需要花很多時間進行調整,所以還是自己一步步慢慢改吧。

更多請參考Padavan官網編譯教程

Padavan 編譯教程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.