1. Kiểm tra trước (trên Jetson Nano)
a) Chạy những lệnh sau để xem kernel hiện tại có hỗ trợ bonding hay chưa:
- Kiểm tra module đã có sẵn không
ls /lib/modules/$(uname -r)/kernel/drivers/net/bonding || echo "bonding module not found”
- Hoặc tìm bất kỳ file liên quan
modinfo bonding 2>/dev/null || echo "modinfo bonding: không tìm thấy”
- Kiểm tra cấu hình hiện tại
uname -r head -n 1 /etc/nv_tegra_release
Example: R32 (release), REVISION: 7.6, GCID: 38171779, BOARD: t210ref, EABI: aarch64, DATE: Tue Nov 5 07:46:14 UTC 2024
2. Tải Source Kernel đúng với phiên bản đang dùng
a) Tạo thư mục để tải và giải nén kernel
mkdir -p ~/jetson_kernel_build && cd ~/jetson_kernel_build wget[https://developer.nvidia.com/downloads/embedded/l4t/r32_release_v7.6/sources/t210/public_sources.tbz2](https://developer.nvidia.com/downloads/embedded/l4t/r32_release_v7.6/sources/t210/public_sources.tbz2) tar -xjf public_sources.tbz2 cd Linux_for_Tegra/source/public tar -xjf kernel_src.tbz2 cd kernel/kernel-4.9
b) Trên Jetson thực hiện copy kernel hiện tại dùng SCP
scp tegra_defconfig uav@192.168.179.60:/home/uav/jetson_kernel_build/Linux_for_Tegra/source/public/kernel/kernel-4.9/
- Chú ý: Nhập mật khẩu/user của máy ảo để thực hiện SCP
3. Thực hành Cấu hình môi trường và compiled kernel
a) Trên máy x86
- Tạo thư mục:
mkdir -p kernel_out trong jetson_kernel_build export CROSS_COMPILE=aarch64-linux-gnu- export ARCH=arm64 export TEGRA_KERNEL_OUT=$HOME/jetson_kernel_build/kernel_out export TEGRA_KERNEL_SRC=$HOME/jetson_kernel_build/Linux_for_Tegra/source/public/kernel/kernel-4.9 cd $TEGRA_KERNEL_SRC cp tegra_defconfig $TEGRA_KERNEL_OUT/.config
- Build module bonding
Bạn cần mở lại hoặc chắc chắn menu cấu hình kernel và bật bonding thành module:
make O=$TEGRA_KERNEL_OUT ARCH=arm64 menuconfig

Chú ý: Chọn Save → để nguyên tên .config → OK
- Thực hiện build driver
make O=$TEGRA_KERNEL_OUT ARCH=arm64 prepare make O=$TEGRA_KERNEL_OUT ARCH=arm64 modules_prepare make O=$TEGRA_KERNEL_OUT M=drivers/net/bonding ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- modules
- Sau khi build xong, kết quả có tại:
$TEGRA_KERNEL_OUT/drivers/net/bonding/bonding.ko
- Chú ý
$TEGRA_KERNEL_OUTđã được định nghĩa bên trên
- Sau khi xong, module nằm tại:
$TEGRA_KERNEL_OUT/drivers/net/bonding/bonding.ko
b) Copy driver đã biên dịch thành công sang Jetson Nano
scp $TEGRA_KERNEL_OUT/drivers/net/bonding/bonding.ko [uav@192.168.179.60]
(mailto:uav@192.168.179.60):/home/dnt/
4. Link tham khảo:
https://www.waveshare.com/wiki/JETSON-NANO-DEV-KIT#Method_Two:_Directly_Download_Jetpack
https://forums.developer.nvidia.com/t/internet-bonding-possible-in-jetson-nano/74293/3


