3 changed files with 50 additions and 110 deletions
@ -1,112 +1,5 @@ |
|||||||
# 編譯OpenWrt for ZTE E8820S |
# MT7612(PHY1) LED Patch |
||||||
> 以版本 22.03-rc5 為例 |
|
||||||
|
|
||||||
## 環境建置 |
- [MT76 LED寄存器](https://github.com/openwrt/mt76/issues/54) |
||||||
> 需要一個非ROOT但有sudo權限的使用者 |
- [無編譯package範例](https://github.com/teleofis/teleofis-feed/blob/master/packages/pingcontrol/Makefile) |
||||||
> 系統版本建議為Ubuntu 20.04以上 |
|
||||||
|
|
||||||
- #### 安裝需要的軟體 [[Debian / Ubuntu]](https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem) |
|
||||||
```console |
|
||||||
sudo apt update |
|
||||||
sudo apt install build-essential ccache ecj fastjar file g++ gawk gettext git java-propose-classpath libelf-dev libncurses5-dev libncursesw5-dev libssl-dev python python2.7-dev python3 unzip wget python-distutils-extra python3-setuptools python3-dev rsync subversion swig time xsltproc zlib1g-dev |
|
||||||
``` |
|
||||||
- #### 下載OpenWrt程式碼 |
|
||||||
```console |
|
||||||
#為求方便,放在使用者家目錄 |
|
||||||
cd ~ |
|
||||||
mkdir e8820s |
|
||||||
git clone --depth 1 --branch v22.03.0-rc5 https://github.com/openwrt/openwrt.git |
|
||||||
``` |
|
||||||
- #### 安裝依賴的packages |
|
||||||
```console |
|
||||||
cd openwrt |
|
||||||
./scripts/feeds update -a |
|
||||||
./scripts/feeds install -a |
|
||||||
``` |
|
||||||
|
|
||||||
## 編譯設定 |
|
||||||
|
|
||||||
- #### 加入E8820S的DTS檔案 |
|
||||||
```console |
|
||||||
cd target/linux/ramips/dts |
|
||||||
#從LEDE那邊拿 |
|
||||||
wget https://gitce.net/mirrors/lede/raw/branch/master/target/linux/ramips/dts/mt7621_zte_e8820s.dts |
|
||||||
``` |
|
||||||
- #### 將E8820S加入編譯列表 |
|
||||||
``` |
|
||||||
#target/linux/ramips/image/mk7621.mk |
|
||||||
#將以下行加入檔案尾端 |
|
||||||
define Device/zte_e8820s |
|
||||||
$(Device/dsa-migration) |
|
||||||
$(Device/uimage-lzma-loader) |
|
||||||
BLOCKSIZE := 128k |
|
||||||
PAGESIZE := 2048 |
|
||||||
KERNEL_SIZE := 4096k |
|
||||||
UBINIZE_OPTS := -E 5 |
|
||||||
IMAGE_SIZE := 32768k |
|
||||||
IMAGES += factory.bin |
|
||||||
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata |
|
||||||
IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | check-size |
|
||||||
DEVICE_VENDOR := ZTE |
|
||||||
DEVICE_MODEL := E8820S |
|
||||||
DEVICE_PACKAGES := kmod-mt7603 kmod-mt76x2 kmod-usb3 kmod-usb-ledtrig-usbport wpad-openssl |
|
||||||
endef |
|
||||||
TARGET_DEVICES += zte_e8820s |
|
||||||
``` |
|
||||||
- #### 新增E8820S LED設定 |
|
||||||
``` |
|
||||||
#target/linux/ramips/mt7621/base-files/etc/board.d/01_leds |
|
||||||
#將以下行新增到檔案尾端的"esac"的前一行 |
|
||||||
zte,e8820s) |
|
||||||
ucidef_set_led_netdev "wlan2g" "WiFi 2.4GHz" "white:wlan2g" "ra0" |
|
||||||
ucidef_set_led_netdev "wlan5g" "WiFi 5GHz" "white:wlan5g" "rai0" |
|
||||||
;; |
|
||||||
``` |
|
||||||
- #### 使用OpenWRT官方編譯設定 [[Using official build config]](https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem) |
|
||||||
```console |
|
||||||
wget https://downloads.openwrt.org/releases/22.03.0-rc5/targets/ramips/mt7621/config.buildinfo -O .config |
|
||||||
make defconfig |
|
||||||
``` |
|
||||||
- #### 圖形化設定 |
|
||||||
```console |
|
||||||
make menuconfig |
|
||||||
#以下是必要更改的 |
|
||||||
Target System -> MediaTek Ralink MIPS |
|
||||||
SubTarget -> MT7621 based boards |
|
||||||
Target Profile -> ZTE E8820S |
|
||||||
#以下是我常用的設定 |
|
||||||
Build the OpenWrt Image Builder -> N |
|
||||||
Build the OpeWrt SDK -> N |
|
||||||
Package the LLVM-BPF toolchain tarball -> N |
|
||||||
Package the OpenWrt-based Toolchain -> N |
|
||||||
[Global build settings] |
|
||||||
Select all target specific packages by default -> N |
|
||||||
Select all kernal module packages by default -> N |
|
||||||
Make debug information reproducible -> N |
|
||||||
Collect kernel debug information -> N |
|
||||||
#剩下就是預安裝的部分,按照喜好選擇即可 |
|
||||||
#Kernal Module裡面的東西只能不包進去(選到M),不能不編譯,否則會導致vermagic改變,裝不上官方kmod |
|
||||||
``` |
|
||||||
|
|
||||||
## 編譯 |
|
||||||
|
|
||||||
- #### 普通編譯 |
|
||||||
```console |
|
||||||
#線程數 -j <num> 一般是(核心數*2)+1 |
|
||||||
#詳細輸出 V=s |
|
||||||
make -j 13 V=s |
|
||||||
#如果遇到錯誤,可以嘗試只使用單線程編譯 |
|
||||||
``` |
|
||||||
- #### 清除編譯結果 [[Cleaning up]](https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem) |
|
||||||
```console |
|
||||||
#普通清除(最常用) |
|
||||||
make clean |
|
||||||
#其他清除指令請參閱上方連結 |
|
||||||
``` |
|
||||||
- #### 確認vermagic [[Check the vermagic]](https://hamy.io/post/0015/how-to-compile-openwrt-and-still-use-the-official-repository/) |
|
||||||
```console |
|
||||||
#僅編譯kernel,通樣可以加線成數及詳細輸出的參數 |
|
||||||
make target/linux/{clean,compile} -j 13 |
|
||||||
#顯示vermagic |
|
||||||
find build_dir/ -name .vermagic -exec cat {} \; |
|
||||||
``` |
|
@ -0,0 +1,37 @@ |
|||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk |
||||||
|
|
||||||
|
PKG_NAME:=mt7612_led
|
||||||
|
PKG_VERSION:=1
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/mt7612_led
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk |
||||||
|
|
||||||
|
define Package/mt7612_led |
||||||
|
SECTION:=utils
|
||||||
|
CATEGORY:=Utilities
|
||||||
|
DEFAULT:=y
|
||||||
|
TITLE:=mt7612 led on (phy1)
|
||||||
|
PKGARCH:=all
|
||||||
|
endef |
||||||
|
|
||||||
|
define Package/mt7612_led/description |
||||||
|
This package turn on mt7612 5Ghz LED(phy1).
|
||||||
|
endef |
||||||
|
|
||||||
|
define Build/Prepare |
||||||
|
endef |
||||||
|
|
||||||
|
define Build/Configure |
||||||
|
endef |
||||||
|
|
||||||
|
define Build/Compile |
||||||
|
endef |
||||||
|
|
||||||
|
define Package/mt7612_led/install |
||||||
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
|
$(INSTALL_BIN) ./files/mt7612_led $(1)/etc/init.d/mt7612_led
|
||||||
|
endef |
||||||
|
|
||||||
|
$(eval $(call BuildPackage,mt7612_led)) |
Loading…
Reference in new issue