主要是想学一下Linux内核,所以搭一套环境,其实有几个选择,都是我买了板子的。
首先是正点原子的RK3568,最早是想弄安卓,但是SDK的大小真的把我劝退了,动不动几百个G的空间,还有就是保底16个G的内存。我买的云可没那么豪华的配置。
然后就是Openwrt。说实话,Openwrt也是不错的选择,资料也不少,搞得熟练了就靠这个找个活干也是稳稳的,但是Openwrt没有太合适的开发板。。。
最后还是选的树莓派,用的树莓派Zero 2W。价格不贵100大元。资料多而且空间小。
整个空间只用了1.8G,编译时间也能接受。唯一有点缺点就是没有现成的基于树莓派驱动开发的书,起码现在我还没看到。这个我想能克服吧。
其实最后还有个隐藏选项,就是现在单位用的高通。但是那堆垃圾我是真的无力吐槽,一套SDK700G,编译5个小时打底。真的是极不友好。
下载代码还是很easy
sudo apt-get install git bc bison flex libssl-dev make
git clone --depth=1 https://github.com/raspberrypi/linux
KERNEL=kernel7
make bcm2709_defconfig
make -j$(nproc) zImage modules dtbs
但是我这里遇到两个坑。
1 是说在x86下面找不到bcm2709_defconfig,看了一下原来是平台没选。我是直接改的根Makefile,改了个
ARCH ?= arm
2 交叉编译环境有点问题
找到arm gcc的位置,expert一下就可以了。
export CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf-
这样编译就没啥问题了。
做image和烧写待续。。。