Raspberry Pi 笔记
编译内核
获取Kernel
1 | $git clone --depth=1 https://github.com/raspberrypi/linux |
获取交叉编译工具
1 | $sudo apt-get install gcc-arm-linux-gnueabihf |
进入目录设定编译选项
1 | $cd linux |
参数bcm2709_defconfig
是Raspberry Pi2/3代,1代使用bcmrpi_defconfig
j4是使用4核心来编译,建议改为核心数的1.5倍
然后开始编译
1 | $make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs |
编译需要一段时间
完成之后插入烧写好raspbian系统的TF卡,安装modules
1 | $sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=/media/dan/7f593562-9f68-4bb9-a7c9-2b70ad620873/ modules_install |
INSTALL_MOD_PATH
后面的路径改为本机路径
可以选择覆盖掉原来的Kernel或者放置多个kernel以便切换
然后拷贝Kernel
和Device Tree blobs
到TF卡
1 | $sudo cp arch/arm/boot/zImage /media/dan/boot/kernel-new.img |
如果没有覆盖Kernel的话,还需要编辑/boot/config.txt
加上
1 | kernel=kernel-new.img |
编译就完成了
更换logo和启动画面
logo
安装图形工具netpbm
1 | $sudo apt-get install -y netpbm |
准备一张63×80像素用于替换的logo.jpg
然后生成logo_linux_clut224.ppm
1 | $cd ~/linux/drivers/video/logo |
在交叉编译之前,确保开机logo是224色设置
1 | make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig |
位置在
- Device Drivers —>
- Graphics support —>
- [*] Bootup logo —>
- — Bootup logo
[ ] Standard black and white Linux logo
[ ] Standard 16-color Linux logo
[*] Standard 224-color Linux logo
后续开始编译,步骤同上
启动画面
安装看图工具fbi
1 | $sudo apt-get install fbi |
拷贝图片并保存到/etc/splash.jpg
在TF卡的/etc/init.d/
下创建新脚本asplashscreen
1 | $sudo nano /etc/init.d/asplashscreen |
内容
1 | #! /bin/sh |
保存之后,设置文件执行属性
1 | $sudo chmod a+x /etc/init.d/asplashscreen |
最后将脚本加入服务
1 | $sudo insserv /etc/init.d/asplashscreen |
结束
屏蔽开机信息
打开/boot/cmdline.txt
修改console=tty1
为 console=tty3
结尾增改为
1 | logo.nologo loglevel=3 vt.global_cursor_default=0 |