怎样编译首次拿到的kernel源码

1、编译前的操作

cp arch/x86/configs/x86_64_defconfig  .config

apt-get install libelf-dev
apt-get install libssl-dev
apt-get install libx11-dev libxext-dev libxtstdev

修改.config文件中CONFIG_DRM_I915=y 改为# CONFIG_DRM_I915 is not set

编译指令:

make -j1

2、depends on AIC_WLAN_SUPPORT 去掉又加上了

3、报错:

drivers/net/wireless/aic8800/aic8800_fdrv/rwnx_main.c: In function 'apm_staloss_work_process':
	drivers/net/wireless/aic8800/aic8800_fdrv/rwnx_main.c:3206:9: warning: increment of a boolean expression [-Wbool-operation]
	error, forbidden warning:rwnx_main.c:3206
		found++;
			 ^~
	scripts/Makefile.build:333: recipe for target 'drivers/net/wireless/aic8800/aic8800_fdrv/rwnx_main.o' failed

解决方法:
rwnx_main.c 3206行 found++;改为found=!found;
参考链接:https://blog.csdn.net/IT_xiao_bai0516/article/details/122561395

4、报错:

drivers/net/wireless/aic8800/aic8800_fdrv/aicwf_sdio.c: In function 'rwnx_register_hostwake_irq':
	drivers/net/wireless/aic8800/aic8800_fdrv/aicwf_sdio.c:176:6: warning: unused variable 'irq_flags' [-Wunused-variable]
	error, forbidden warning:aicwf_sdio.c:176
	  int irq_flags;
		  ^~~~~~~~~
	scripts/Makefile.build:333: recipe for target 'drivers/net/wireless/aic8800/aic8800_fdrv/aicwf_sdio.o' failed

解决方法:
aicwf_sdio.c 176行 int irq_flags; 改为//int irq_flags;

5、报错:

 ERROR: "sdio_writeb" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_readb" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_writesb" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_enable_func" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_claim_irq" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_get_host_pm_caps" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_readsb" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_unregister_driver" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_f0_writeb" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_set_host_pm_flags" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_release_irq" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_register_driver" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_claim_host" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_set_block_size" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_disable_func" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_release_host" [drivers/net/wireless/aic8800/aic8800_fdrv/aic8800_fdrv.ko] undefined!
	ERROR: "sdio_writeb" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_readb" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_writesb" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_enable_func" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_claim_irq" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_get_host_pm_caps" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_readsb" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_unregister_driver" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_f0_writeb" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_set_host_pm_flags" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_release_irq" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_register_driver" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_claim_host" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_set_block_size" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_disable_func" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	ERROR: "sdio_release_host" [drivers/net/wireless/aic8800/aic8800_bsp/aic8800_bsp.ko] undefined!
	scripts/Makefile.modpost:108: recipe for target '__modpost' failed

解决方法:
make menuconfig
打开Networking support->Wireless下的 cfg80211 wireless extensions compatibility
打开Device driver->MMC/SD/SDIO card support 下的SDIO UART/GPS class support
参考链接:https://blog.csdn.net/Enosji/article/details/121513074

**

一些总结:

**
.config中CONFIG_PHYSICAL_START=0x1000000是配置放kernel固件的物理地址的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值