全志V3s之Kernel移植

1、安装一些依赖:

sudo apt install gcc flex bison libssl-dev bc kmod

2、下载源码:

Linux的kernel官网:Kernel官网,可以直接去荔枝派的Github仓库下载:荔枝派的Github仓库

git clone -b zero-5.2.y --depth 1 https://github.com/Lichee-Pi/linux.git

加上--depth 1表示拉去的是最近一次更改的版本。

3、修改顶层Makefile文件(方便之后的编译):

ARCH            = arm							//指定芯片架构
CROSS_COMPILE   = arm-linux-gnueabihf-			//指定编译器版本

4、编译源码,生成zImage、dtb

cd linux
make licheepi_zero_defconfig		//生成config文件
make menuconfig   					//一般不用修改,需要时单独改
make -j16
make dtbs 							//编译设备树

编译完成之后,在arch/arm/boot下,生成zImage文件,在arch/arm/boot/dts下生成相应的设备树文件。

5、Kernel适配Ethernet

配置menuconfig:

make ARCH=arm menuconfig

设置以太网支持:

Device Drivers —>
	[ * ] Network device support —>
		[ * ] Ethernet driver support —>
			[ * ] STMicroelectronics devices
				< * > STMicroelectronics Multi-Gigabit Ethernet driver
				[ ] Support for STMMAC Selftests
				< * > STMMAC Platform bus support
				< > Support for snps,dwc-qos-ethernet.txt DT binding.
				< * > Generic driver for DWMAC
				< * > Allwinner GMAC support
				< * > Allwinner sun8i GMAC support

配置NFS文件系统相关网络:

Networking support ->
	Networking options  ->
		TCP/IP networking
		IP: kernel level autoconfiguration
		[ * ] IP: DHCP support
		[ * ] IP: BOOTP support

配置NFS文件系统:

File systems —>
	Network File Systems —>
		< * > NFS client support
		<   > NFS client support for NFS version 2
		[ * ] NFS client support for NFS version 3
		[ * ] NFS client support for the NFSv3 ACL protocol extension
		[ * ] NFS client support for NFS version 4 (EXPERIMENTAL)
		[ * ] NFS client support for NFSv4.1 (DEVELOPER ONLY)
		[ * ] Root file system on NFS

将编译生成的zImage和dtb文件放进boot分区即可启动。

你可能感兴趣的:(全志V3s,linux,嵌入式硬件)