查看Raspberry的源代码
←
Raspberry
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== Kernel 编译 == 获取 kernel code: https://github.com/raspberrypi/linux 根据您当前系统的内核版本选 branch,比如此 Raspberry 3 model B 的内核版本为 linux 4.4.13,则选 rpi-4.4.y,然后点 code -> Local -> HTTPS -> Download ZIP: <source lang=bash> $ cat /proc/version Linux version 4.4.13-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #894 SMP Mon Jun 13 13:13:27 BST 2016 $ cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 processor : 1 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 processor : 2 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 processor : 3 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 38.40 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xd03 CPU revision : 4 Hardware : BCM2709 Revision : a22082 Serial : 0000000036ac63be # Raspberry 3 model B 主 SoC 为 BCM2837 芯片,支持硬浮点 (vfp) </source> 解压后,为目录 linux-rpi-4.4.y ;;Toolchain: https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads 选 AArch32 GNU/Linux target with hard float (arm-none-linux-gnueabihf) ;; Build: <source lang=bash> $ cd linux-rpi-4.4.y/ $ export PATH=$PATH:/path/to/toolchain/bin $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- bcm2709_defconfig # 生成 .config $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- zImage -j8 $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- dtbs $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- M=drivers/your/drv/ modules </source> gcc 版本过高可能出错: <source lang=bash> HOSTLD scripts/dtc/dtc /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here collect2: error: ld returned 1 exit status </source> 编辑 vim scripts/dtc/dtc-lexer.lex.c,找到 ”YYLTYPE yylloc;“ 加上 extern:"extern YYLTYPE yylloc;" 即可 ;; 部署 bootloader 加载内核优先顺序: * config.txt 中的 kernel = xxxx * kernel8.img kernel8-32.img (armv8-aarch64, armv8-aarch32) * kernel7.img (armv7) * kernel.img (old version) <br>
返回到
Raspberry
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面