系统相关
首页 > 系统相关> > 嵌入式linux与物联网进阶之路二:基于荔枝派nano的linux内核编译

嵌入式linux与物联网进阶之路二:基于荔枝派nano的linux内核编译

作者:互联网

前言

之前我们成功的将U-Boot进行了编译和移植,这章主要讲解linux内核的编译和移植。

说道linux内核,我便会想起linus这个人,拜他所赐,使得全世界拥有了这么个操作系统。同时由于目前硬件设备的急剧成熟化和规模化,使得在一块不到30块钱的设备上运行移植过的linux也不是什么难事儿了。所以在后面的物联网发展道路上,linux注定会一路高歌。

作为linux的喜好者,我向来不吝啬把自己的赞美送给这个已经比自己年纪还大的操作系统。不仅仅因为他的便捷移植性,更因为他的开源,以及由开源所体现出来的各种合作精神。相信拥抱过开源后的人,一定也会成为开源的布道者,而linux则值得让我们这样做。

linux内核编译

编译linux内核前,我们需要设置交叉编译链,但是由于第一章中,已经设置好了交叉编译链,所以这里无需重复设置。而linux内核的下载,可以在这里进行:

git clone https://github.com/Icenowy/linux.git -b f1c100s-480272lcd-test

下载下来后,传到虚拟机上解压。

之后,我们需要进入到linux内核目录来配置menuconfig,命令如下:

make ARCH=arm menuconfig

 这条命令执行后会打开linux内核裁剪的menuconfig,这里我们可以根据自己的需要进行特性的裁剪。选择好后,保存之后,会在源码根目录下将我们的配置写入到.config文件中备用。需要说明的是,由于荔枝派nano这里已经为我们配置好了.config,所以我们直接点击链接下载,并将此.config文件拷贝到源码根目录即可。

之后,我们就开始进行正式的编译流程了,在根目录中执行如下命令:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j16

 此时屏幕会进行输出,开始进行正式的编译流程。期间可能会遇到若干问题,目前通过百度基本上都可以解决。

比如,编译过程中我遇到的一个问题,记录在了挖坑网上,通过百度,修改源码后得以解决,这里我不准备贴具体的错误信息了,大家可以点开自行翻阅。

 

漫长的等待,一般需要30分钟左右的编译时间,看到如下的结果,就代表编译成功了:

image

zImage is ready 代表着linux内核编译成功,并且已经生成到了/arch/arm/boot/目录下,我们接下来只需要将其拷贝到第一分区中即可。

linux内核拷贝

待续

参考

http://nano.lichee.pro/build_sys/kernel.html

标签:与物,进阶,编译,开源,内核,linux,根目录,arm
来源: https://www.cnblogs.com/scy251147/p/14858574.html