北京澳環(huán)網(wǎng)站拼多多關鍵詞怎么優(yōu)化
1 說明
- 我依照官方手冊編譯單獨編譯linux內(nèi)核,安裝后重啟出現(xiàn)內(nèi)核啟動失敗的問題,編譯和安裝步驟如下:
# 1. 克隆源碼 git clone --depth=1 -b orange-pi-6.1-rk35xx https://github.com/orangepi-xunlong/linux-orangepi# 2 配置源碼 make rockchip_linux_defconfig# 3 編譯 make -j10# 4 安裝內(nèi)核模塊 sudo make modules_install# 5 安裝內(nèi)核鏡像 sudo make install# 6 安裝設備樹 sudo make dtbs_install INSTALL_DTBS_PATH=/boot/dtb/
- 重新啟動開發(fā)板,打印如下信息, 最終卡在 ** Starting kernel … ** 無法啟動,
## Executing script at 09000000 Fdt Ramdisk skip relocation No misc partition ## Loading init Ramdisk from Legacy Image at 0a200000 ... Image Name: uInitrd Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 14780165 Bytes = 14.1 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 0x08300000 Booting using the fdt blob at 0x08300000 reserving fdt memory region: addr=8300000 size=ab000 Using Device Tree in place at 0000000008300000, end 00000000083adfff WARNING: could not set reg FDT_ERR_BADOFFSET. ## reserved-memory: cma: addr=10000000 size=10000000 ramoops@110000: addr=110000 size=e0000 Adding bank: 0x00200000 - 0xf0000000 (size: 0xefe00000) Adding bank: 0x100000000 - 0x200000000 (size: 0x100000000) Adding bank: 0x2f0000000 - 0x300000000 (size: 0x10000000) Total: 14507.300/14540.380 msStarting kernel ...
2 分析思路
-
我在使用SDK進行編譯時,編譯出的內(nèi)核是可以正常啟動的,嘗試使用SDK單獨編譯內(nèi)核看看:
可以看到使用SDK編譯內(nèi)核前使用 linux-rockchip-rk3588-current.config 對內(nèi)核進行了配置,而之前在單獨編譯內(nèi)核前并沒有使用這個配置文件 -
將兩個配置文件(.config)進行對比,如下圖所示,區(qū)別還是很大的,所以解決思路是使用 linux-rockchip-rk3588-current.config 對內(nèi)核進行配置,而不使用文檔中給出的配置文件。
3 實驗
- 直接使用 SDK內(nèi)核路徑下的 .config 替換 內(nèi)核目錄下的.config,然后直接開始編譯安裝,內(nèi)核正常啟動。
-
# 1. 克隆源碼 git clone --depth=1 -b orange-pi-6.1-rk35xx https://github.com/orangepi-xunlong/linux-orangepi# 2 配置源碼(直接使用SDK內(nèi)核路徑下的 .config 替換當前源碼路徑下的.config, .config_sdk是從SDK中復制出來的.config然后重命名,路徑根據(jù)自己的位置進行修改) cp .config_sdk ./.config# 3 編譯 make -j10# 4 安裝內(nèi)核模塊 sudo make modules_install# 5 安裝內(nèi)核鏡像 sudo make install# 6 安裝設備樹 sudo make dtbs_install INSTALL_DTBS_PATH=/boot/dtb/