b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

树莓派ip 再战树莓派内核编译(2)

电脑杂谈  发布时间:2018-02-14 18:50:18  来源:网络整理

这里我替换的是原本为sys_ni_syscall的0×900000+223号系统调用,

这是因为223号是内核默认未使用的(/*Demo_liu*/)

技术分享图片

技术分享图片

修改arch/arm/kernel/目录下的Make?le文件,在obj-y后面添加mysyscall.o,

技术分享图片

技术分享图片

不需要的 跳过这些

/*****************************************************************************/

下面内核编译开始

make ARCH=arm CROSS_COMPILE=../RpiTools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- -j4

-j4 开启线程编译 加快编译速度

技术分享图片

大概 30分钟

技术分享图片

编译结束

查看一下

zImage 就是我们所编译获得的文件。zImage 是 Compressed kernel image 文件,要转换为 kernel.img 还需要进一步处理。

cd ../RpiTools/mkimage/

./imagetool-uncompressed.py ../../RpiLinux/arch/arm/boot/zImage

可以看到当前目录中多了kenrel.img文件

新的Kernel要正确运行,还需要编译所需的module,主要对应"/lib"目录下的内容。编译时,使用"INSTALL_MOD_PATH"参数指定目标路径。

cd ../..

mkdir modules

cd RpiLinux/

make modules_install ARCH=arm CROSS_COMPILE=../RpiTools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin/arm-bcm2708hardfp-linux-gnueabi- INSTALL_MOD_PATH=../modules

技术分享图片

树莓派ip_树莓派查看自己ip_树莓派ip地址

技术分享图片

树莓派断电 把内存卡 插到Ubuntu 的电脑上

挂载 SD卡

先看一下 文件系统

df –h

sudo mkdir /media/agu/SD

sudo mount /dev/sdb2 /media/agu/SD/

sudo umount /media/agu/SD

技术分享图片

备份 Firmware

升级RPi的kernel、Firmware、lib

cd ..

mkdir backup

sudo mount /dev/sdb1 /media/agu/SD/

cd /media/agu/SD/

mv *.elf *.bin /home/liu/rpi/backup/

sudo cp /home/liu/rpi/RpiTools/mkimage/kernel.img kernel_new.img

cd /home/liu/rpi/RPiFirameware/boot

cp bootcode.bin fixup.dat fixup_cd.dat start.elf /media/agu/SD/

cd ../hardfp/opt/

sudo umount /media/agu/SD

sudo mount /dev/sdb2 /media/agu/SD/

将挂载点换成SD卡的第2分区,即"/"分区。

sudo cp -r vc/ /media/agu/SD/opt/

将新的vc库复制到SD卡,因为之前选用的工具链是hardfp(硬浮点),所以现在所选用的vc库也是硬浮点的版本(RPiFramware/hardfp/opt/vc)。树莓派ip

cd ../../..

sudo cp -r modules/lib /media/agu/SD/

技术分享图片

下面修改一下 kernel_new. 的 文件名 替换一下

技术分享图片

插到树莓派 运行 看看 内核 版本

技术分享图片

自此内核编译成功。

下面我们看一下 刚才插入的 调用

编写测试程序调用新的系统调用:

技术分享图片

技术分享图片

看到调用成功 我测试了两次 所以有两个

顺便在Ubuntu 上 编译个模块 试试

写一个最简单的内核模块 hello.c, 这个内核只会在加载的时候输出 helo,word,移除时输出goodbye

在树梅派上找个地方新建一个目录,创建文件hello.c:

技术分享图片

技术分享图片

创建Makefile文件:

技术分享图片

编译:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-77760-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...