固件怎麼編譯
❶ 路由器的固件能反編譯嗎
可以進行反編譯。
路由器的固件通常存儲在FLASH中,通常都是以xxx.bin格式的文件形式保存的。bin格式是一種二進制文件,存儲的是路由器的機器碼,通過反編譯,可以將其還原為匯編碼,以便進行分析。獲取、反編譯及分析固件通常按下列步驟:
獲取路由器固件需要的環境
常見路由器的SPI FLASH編程器;
最好是用Winows 筆記本來登陸到ubuntu系統的台式機上的方式 ;
Windows 下的Putty、winhex、WinSCP軟體工具;
TTL線、網線、萬用表及烙鐵,熱風槍等工具和線材;
分析步驟
拆開對應的路由器設備的外殼;
查看路由器內部的的介面標識;
用萬用表找到對應的地線GND標號;
通常為了調試或升級的方便,都會保留TTL引腳;
查看是否存在有TTL線的引腳或觸點;
用准備好的TTL線連接路由器的TTL引腳或觸點;
windows下用putty中的串口項打開對應的TTL線連接的串口;
查看是否有路由器啟動的日誌信息,如果有,請仔細分析;
等路由信息啟動完畢後,看看是否有終端跳出來,是否有登陸窗口跳出;
如果有登陸窗口,但是無法輸入,或者無法猜測出對應的用戶名密碼;
用熱風槍或烙鐵取下路由器上的存儲FLASH晶元;
在Windows下用編程器提前存儲在FLASH晶元的全部固件;
用WinSCP工具將提取出的固件上傳到ubuntu系統中;
在ubuntu系統中安裝對應的固件分析工具(firmware-mod-kit、binwalk、lzma、squashfs-tools等);
用這些分析工具進行分析,分析出來後,解壓對應的數據包,提前對應的關鍵性數據進行分析。
按以上步驟可以實現對路由器的分析。
❷ 解鎖uboot分區路由器固件怎麼編譯
參考如下:
1、首先到路由器的官網下載最新固件。
2、登陸路由器,選擇系統工具-軟體升級。
3、點擊瀏覽,找到下載的路由器固件。
4、等待升級完成,路由器會自動重啟就完成升級了。
希望能幫到您。
❸ ubuntu 環境下怎樣編譯pixhawk px4源碼
Ubuntu環境下Pixhawk原生固件PX4的編譯
分類:無人機ubuntu代碼編譯Pixhawk
(3946) (6)
Ubuntu下Pixhawk原生固件PX4的編譯這個問題困擾了兩天時間,可能是博主腦力不夠,主要是環境搭建不起來,主要原因應該是路徑的原因,最後在大師傅的幫助下還好成功將路徑搭建好,成功編譯。
下面就跟大家分享一下環境搭建的過程。
1.操作環境
每次寫文章,環境一定要介紹的,不同的環境總會出現不同的問題
我的環境是Windows下面安裝虛擬機,虛擬機跑Ubuntu
Windows:win10 64位
虛擬機:VMware Workstation 12 Pro 12.1.0 build-3272444
Ubuntu:Ubuntu15.10
2.編譯環境搭建
(1)許可權設置
官方提示:
Warning Never ever fix permission problems by using 'sudo'. It will create more permission problems in the process and require a system reinstallation to fix them.
意思是你會遇到許可權問題,不要用sudo解決,那樣會帶來更多問題,但是我沒聽他的,我沒用,最後也是實現了
官方提供指令
[plain] view plain
然後注銷,重新登錄生效
(2)安裝
更新包列表,安裝下面編譯PX4的依賴包。PX4主要支持的系列:
NuttX based hardware: Pixhawk, Pixfalcon
Snapdragon Flight hardware: Snapdragon
Raspberry Pi hardware: Raspberry Pi 2
Host simulation: jMAVSim SITL and Gazebo SITL
注意:安裝Ninja Build System可以比make更快進行編譯。如果安裝了它就會自動選擇使用它進行編譯。
[plain] view plain
卸載模式管理器
[plain] view plain
更新包列表和安裝下面的依賴包。務必安裝指定的版本的包
[plain] view plain
上面代碼中紅色部分大家需要一高警惕,gcc-arm-none-eabi版本導致PX4/Firmware編譯錯誤,現在apt-get安裝的gcc-arm-none-eabi基本上是4.9的版本,但是這個固件需要gcc-arm-none-eabi 4.8de 版本,所以最後安裝好以後,查看你的gcc-arm-none-eabi版本,如果是4.9需要手動安裝4.8的版本,安裝gcc-arm-none-eabi 4.8的版本的方法如下:
[plain] view plain
【Warning】上面紅色的路徑一定要添加正確,不然問題很多,我第一次就輸入錯誤,結果結果開不了機了,反復輸入密碼。博主裝的是Ubuntu 64位系統,而上述arm-none-eabi是直接下載的編譯好的32位,還需要安裝一個東西
[plain] view plain
可以檢查arm-none-eabi 4.8.4是否安裝成功,輸入以下指令:
[plain] view plain
如果出現如上信息,交叉編譯環境搭建就搭建成功了
(3)代碼編譯
根據PX4中文維基官網教程。
安裝Git
[plain] view plain
下載代碼
[plain] view plain
初始化
先進入Firmware文件夾,進而進行初始化、更新子模塊操作,耐心的等待……
[plain] view plain
許可權
編譯時會遇到許可權問題,執行指令
[plain] view plain
-R 是對文件下麵包含的子文件許可權問題,* 是對所有文件的許可權問題
編譯
[plain] view plain
注意到「make」是一個字元命令編譯工具,「px4fmu-v2」是硬體版本,「default」是默認配置,所有的PX4編譯目標遵循這個規則。
最後附一張編譯成功的代碼,如果這樣你還有問題,請給我留言。
[plain] view plain
-- nuttx-px4fmu-v2-default
-- The ASM compiler identification is GNU
-- Found assembler: /opt/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-gcc
-- Found pythonInterp: /usr/bin/python (found version "2.7.10")
-- Using C++03
-- Release build type: RelWithDebInfo
-- Adding UAVCAN STM32 platform driver
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lihongwei/Documents/Firmware/build_px4fmu-v2_default
#+@Tools/check_submoles.sh
PX4 CONFIG: px4fmu-v2_default
Scanning dependencies of target git_mavlink
Scanning dependencies of target git_uavcan
Scanning dependencies of target git_gencpp
Scanning dependencies of target git_genmsg
[ 0%] Generating git_init_mavlink_include_mavlink_v1.0.stamp
[ 0%] Generating git_init_src_moles_uavcan_libuavcan.stamp
[ 0%] Generating git_init_Tools_genmsg.stamp
[ 0%] Generating git_init_Tools_gencpp.stamp
[ 0%] Built target git_uavcan
[ 0%] Built target git_mavlink
[ 0%] Built target git_genmsg
[ 0%] Built target git_gencpp
❹ 官方源碼編譯k3固件的方法.求助變分享
首先安裝編譯環境,ubnutu16.04,然後安裝
安裝編譯環境
sudoapt-get install build-essential asciidoc binutils bzip2 gawk gettext gitlibncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtplibssl-dev texinfo libglib2.0-dev
建立工作目錄
mkdir lede
進入工作目錄
cd lede
下載源碼
進入源碼目錄
cd source
修改內容如下:
1、
/source/target/linux/bcm53xx/image/Makefile文件尾部(最後一行依然在最後)添加如下內容
defineDevice/phicomm-k3
DEVICE_TITLE:= PHICOMM K3
DEVICE_PACKAGES:= $(BRCMFMAC_4366C0)$(USB3_PACKAGES) phicommk3-firmware k3screenctrl
IMAGES :=trx
endef
TARGET_DEVICES+=phicomm-k3
2、此部分用了Hill-98的無線部分,編譯完成後/lib/firmware文件夾下有對應的驅動
復制LEDE-source/package/firmware/phicommk3-firmware文件夾到
source/package/firmware/phicommk3-firmware
3、此部分用了updateing的屏幕顯示部分
復制lede/package/utils/k3screenctrll文件夾到source/package/utils/k3screenctrl
❺ 如何編譯openwrt固件
朋友你好,想要編譯oPEnwrt的固件需要用到編程技術,必須要有很高的計算機技術才可以進行編譯