Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
minLevel1
maxLevel6
outlinefalse
stylenone
typelist
printabletrue

Download Source Files

Please refer to the A Guide to Downloading and Compiling SP7350 Code for downloading and compiling the source files for the SP7350 platform.

Configure Build Environment (create linux/kernel/.config)

For example, to configure the build environment for booting from an SD card and using BusyBox for the SP7350 Ev board:

...

After making your selections, the system will configure the build environment. This may take several seconds to minutes depending on your computer's performance. Please wait for the process to complete.

Build Code (create linux/kernel/Module.symvers)

Once configurations are set, initiate the build process with the following command:

...

This command ensures that make uses English language settings. The build process will compile the code based on your configurations, typically taking a few minutes. Please be patient and let the build complete.

...

Create Linux Kernel-headers

Generate Linux kernel headers by running:

...

Code Block
wellslu@scdiu3:~/Q654$ ll linux-headers-5.10.201/
total 736
drwxr-xr-x  6 wellslu sp   4096 Apr 24 13:16 ./
drwxr-xr-x 12 wellslu sp   4096 Apr 24 13:16 ../
drwxr-xr-x  3 wellslu sp   4096 Apr 24 13:16 arch/
-rw-r--r--  1 wellslu sp 135525 Apr 24 13:16 .config
-rw-r--r--  1 wellslu sp     39 Apr 24 13:16 .gitignore
drwxr-xr-x  4 wellslu sp   4096 Apr 24 13:16 include/
drwxr-xr-x  2 wellslu sp   4096 Apr 24 13:16 kernel/
-rw-r--r--  1 wellslu sp    141 Apr 24 13:16 Makefile
-rw-r--r--  1 wellslu sp   1044 Apr 24 13:16 .missing-syscalls.d
-rw-r--r--  1 wellslu sp 576967 Apr 24 13:16 Module.symvers
drwxr-xr-x  8 wellslu sp   4096 Apr 24 13:16 scripts/
lrwxrwxrwx  1 wellslu sp     31 Apr 24 13:16 source -> /home/wellslu/Q654/linux/kernel/
wellslu@scdiu3:~/Q654$ 

Install Linux kernel-headers

Before using the Linux kernel headers, copy the linux-headers-5.10.201 folder to /usr/src/ on your target board. Refer to report of ll command in Ubuntu where linux-headers has been copied to:

...

Code Block
sunplus@ubuntu:/usr/src/linux-headers-5.10.201$ sudo rm source
sunplus@ubuntu:/usr/src/linux-headers-5.10.201$ sudo ln -s /usr/src/linux-headers-5.10.201 /lib/modules/5.10.201/build
sunplus@ubuntu:/usr/src/linux-headers-5.10.201$ ll /lib/modules/5.10.201/build/
total 736
drwxr-xr-x 6 4031  501   4096 Mar 27 21:53 ./
drwxr-xr-x 3 root root   4096 Mar 27 21:50 ../
drwxr-xr-x 3 4031  501   4096 Apr 24  2024 arch/
-rw-r--r-- 1 4031  501 135525 Apr 24  2024 .config
-rw-r--r-- 1 4031  501     39 Apr 24  2024 .gitignore
drwxr-xr-x 4 4031  501   4096 Apr 24  2024 include/
drwxr-xr-x 2 4031  501   4096 Apr 24  2024 kernel/
-rw-r--r-- 1 4031  501    141 Apr 24  2024 Makefile
-rw-r--r-- 1 4031  501   1044 Apr 24  2024 .missing-syscalls.d
-rw-r--r-- 1 4031  501 576967 Apr 24  2024 Module.symvers
drwxr-xr-x 8 4031  501   4096 Apr 24  2024 scripts/
sunplus@ubuntu:/usr/src/linux-headers-5.10.201$ 

Appendix: List of target headers in Makefile

Code Block
headers:
	@KERNELRELEASE=$(shell cat $(LINUX_PATH)/include/config/kernel.release 2>/dev/null)
	@if ! [ -f $(LINUX_PATH)/.config ]; then \
		echo File \'$(LINUX_PATH)/.config\' does not exist!; \
		exit 1; \
	fi
	@if ! [ -f $(LINUX_PATH)/Module.symvers ]; then \
		echo File \'$(LINUX_PATH)/Module.symvers\' does not exist!; \
		exit 1; \
	fi
	rm -rf linux-headers-$(KERNELRELEASE)
	mkdir -p linux-headers-$(KERNELRELEASE)
	cp -f $(LINUX_PATH)/.config linux-headers-$(KERNELRELEASE)
	cp -f $(LINUX_PATH)/Module.symvers linux-headers-$(KERNELRELEASE)
	$(MAKE_ARCH) $(MAKE_JOBS) -C $(LINUX_PATH) CROSS_COMPILE=$(CROSS_COMPILE_FOR_LINUX) mrproper
	$(MAKE_ARCH) $(MAKE_JOBS) -C $(LINUX_PATH) O=../../linux-headers-$(KERNELRELEASE) CROSS_COMPILE=$(CROSS_COMPILE_FOR_LINUX) modules_prepare

...