Template:S5P6818-KernelHeaderFile/zh

From FriendlyELEC WiKi
Jump to: navigation, search

1 编译内核头文件安装包

以下操作在在开发板上进行:

1.1 本文适用于如下版本的固件

固件文件名: s5p6818-sd-friendlycore-xenial-4.4-arm64-YYYYMMDD.img, s5p6818-eflasher-friendlycore-xenial-4.4-arm64-YYYYMMDD.img 具体信息:

pi@NanoPC-T3:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:        16.04
Codename:       xenial
pi@NanoPC-T3:~$ cat /proc/version
Linux version 4.4.172-s5p6818 (root@jensen) (gcc version 6.4.0 (ctng-1.23.0-150g-FA) ) #1 SMP PREEMPT Thu Jan 21 18:51:13 CST 2021

1.2 安装所需软件包

sudo apt-get update
sudo apt-get install -y dpkg-dev bsdtar

1.3 制作内核头文件安装包

git clone https://github.com/friendlyarm/linux -b nanopi2-v4.4.y --depth 1 kernel-s5pxx18-arm64
cd kernel-s5pxx18-arm64
rm -rf .git
make distclean
touch .scmversion
sed -i '/^CONFIG_CROSS_COMPILE/d' ./arch/arm64/configs/nanopi3_linux_defconfig
make CROSS_COMPILE= ARCH=arm64 nanopi3_linux_defconfig
alias tar=bsdtar
make CROSS_COMPILE= ARCH=arm64 bindeb-pkg -j4

显示如下信息表示成功:

dpkg-deb: building package 'linux-firmware-image-4.4.172-s5p6818' in '../linux-firmware-image-4.4.172-s5p6818_4.4.172-s5p6818-1_arm64.deb'.
dpkg-deb: building package 'linux-headers-4.4.172-s5p6818' in '../linux-headers-4.4.172-s5p6818_4.4.172-s5p6818-1_arm64.deb'.
dpkg-deb: building package 'linux-libc-dev' in '../linux-libc-dev_4.4.172-s5p6818-1_arm64.deb'.
dpkg-deb: building package 'linux-image-4.4.172-s5p6818' in '../linux-image-4.4.172-s5p6818_4.4.172-s5p6818-1_arm64.deb'.
dpkg-genchanges: binary-only upload (no source code included)

1.4 安装

sudo rm -f /lib/modules/4.4.172-s5p6818/build
sudo rm -f /lib/modules/4.4.172-s5p6818/source
sudo dpkg -i ../linux-headers-4.4.172-s5p6818_4.4.172-s5p6818-1_arm64.deb

1.5 测试

以编译pf_ring模块为例, 参考文档 https://www.ntop.org/guides/pf_ring/get_started/git_installation.html.

git clone https://github.com/ntop/PF_RING.git
cd PF_RING/kernel/
make CROSS_COMPILE=

编译完成后, 使用insmod尝试加载模块:

sudo insmod ./pf_ring.ko