由于某些原因,是需要自己编译内核的,比如为相应内核添加驱动,编译驱动等等,基于以上原因,所以有了本文,经过不算很久的等待,香蕉派的内核源码终于发布了,而我有幸成为了国内自行编译官方内核源码并安装成功的第一人。:lol :lol :lol ,Follow Me!看过程吧。
基于BSP编译内核过程如下:
BSP 是 “Board Support Package”,板级支持包的意思,包含了编译内核,U-boot等等所需要的一切工具,至于U-Boot,你可以理解为Linux下的Grub或者Windows下的NT OS Loader。
一、下载BSP全部资料
git clone https://github.com/LeMaker/bananapi-bsp.git
由于是早上6点开始下载,平均速度4M左右,大概几分钟十几分钟的样子就下载完了,如果是白天可能会慢点。
二、开始编译整套BSP,包括编译u-boot,内核,内核模块,固件等等,这基本上就是一键操作了,执行make后通通自动编译完,make默认加了-j8参数,8个线程同时编译,所以没有必要自己再加-j8参数了。
cd bananapi-bsp
./configure Bananapi
make
由于是编译内核,所以需要很长的时间,在I3-4代处理器上大约需要半个小时吧。
在以上过程中如果需要调整内核配置,可以执行
make linux-config
这个操作完成后会覆盖build/sun7i_defconfig-linux文件
三、安装新版内核。
先找个SD卡,刷上Lubuntu3.0的镜像,再安装以下的步骤来就行了,如果不刷好镜像,那么还会多好几个步骤,刷个镜像省心。
以上操作统统完成后会在build/Bananapi_hwpack/下生成用到的文件
烧写之前先卸载SD卡的分区,
umount /dev/sdc1
umount /dev/sdc2...
可以执行sudo fdisk -l查看SD卡是那个设备我的是sdc
1,烧写Bootloader
执行以下操作,先清空SD卡前边的一部分
sudo dd if=/dev/zero of=sdc bs=1k count=1023 seek=1
再把bootloader烧到SD卡
sudo dd if=bootloader/u-boot-sunxi-with-spl.bin of=sdc bs=1024 seek=8
之后重新拔插一下读卡器重新挂载分区
2,升级覆盖老版内核
sudo cp build/Bananapi_hwpack/kernel/uImage /media/t/disk1(此处/media/t/disk1是Lubuntu3.0镜像第一个FAT分区)
sudo cp build/Bananapi_hwpack/kernel/script.bin /media/t/disk1
3,安装内核模块
sudo cp -r build/Bananapi_hwpack/rootfs/lib /media/t/disk2(此处/media/t/disk2是Lubuntu3.0镜像第一个Ext4分区)
sudo cp -r build/Bananapi_hwpack/rootfs/etc /media/t/disk2
好了,经过以上步骤,我们就为Lubuntu3.0安装好自己编译的镜像了,试一下吧。
第三步的路径由于不在编译内核的机器上,记不太清了,等我回去看看再修正。
补充,如果编译内核过程中出现错误mkimage not found,那么 请把mkimage添加到环境变量
export PATH=$PATH:/home/t/bananapi-bsp/build/Bananapi-u-boot/tools/(具体路径请根据实际情况修改)