相關(guān)文檔:
https://docs.nvidia.com/jetson/archives/r35.1/DeveloperGuide/text/SD/Kernel/KernelCustomization.html
第一步,首先要學(xué)習(xí)編譯內(nèi)核,參考文檔入上所示。用它們的手動下載源碼的方式Manually Downloading and Expanding Kernel Sources,否則自動編譯的文件是沒有的。
這個過程是:
刪除
sudo rm -rf $JETPACK/kernel/Image
sudo rm -rf $JETPACK/kernel/dtb
編譯
./nvbuild.sh -o $PWD/kernel_out
拷貝
cp $kernel_out/arch/arm64/boot/Image $JETPACK/kernel/
cp -r $kernel_out/arch/arm64/boot/dts/nvidia $JETPACK/kernel/dtb
編譯前,需要修改三點(diǎn):
1.
kernel/kernel-5.10/arch/arm64/configs/tegra_defconfig
CONFIG_PPS=y
CONFIG_PPS_DEBUG=y
CONFIG_PPS_CLIENT_KTIMER=y
CONFIG_PPS_CLIENT_GPIO=y
2.?hardware/nvidia/platform/t23x/concord/kernel-dts/tegra234-p3701-0000-p3737-0000.dts
pps {
compatible = "pps-gpio";
assert-falling-edge;
gpios = <&tegra_main_gpio TEGRA234_MAIN_GPIO(Q, 6) GPIO_ACTIVE_LOW>;
status = "okay";
};
3.kernel/kernel-5.10/drivers/pps/clients/pps-gpio.c
ret = pps_gpio_setup(pdev);
if (ret)
return ret;//-EINVAL;
第三點(diǎn)不加就會找不到/dev/pps1
4. 可能用到的安裝
sudo apt install wget lbzip2 build-essential bc zip libgmp-dev libmpfr-dev libmpc-dev vim-common
sudo apt-get install libncurses5-dev
sudo apt-get install -y pkg-config
sudo apt-get install libssl-dev