f1c100s kernel调试记录
内核地址https://github.com/Lichee-Pi/linux/tree/nano-4.14-exp
分支 nano-4.14-exp
内核的.config文件 根据官方提供的http://nano.lichee.pro/build_sys/kernel.html
spi flash启动
修改设备树
arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dts
将原来的&spi0{…}替换为:&spi0 {pinctrl-names = "default";pinctrl-0 = <&spi0_pins_a>;status = "okay";spi-max-frequency = <50000000>;flash: w25q128@0 {#address-cells = <1>;#size-cells = <1>;compatible = "winbond,w25q128", "jedec,spi-nor";reg = <0>; spi-max-frequency = <50000000>;partitions {compatible = "fixed-partitions";#address-cells = <1>;#size-cells = <1>;partition@0 {label = "u-boot";reg = <0x000000 0x100000>;read-only;};partition@100000 {label = "dtb";reg = <0x100000 0x10000>;read-only;};partition@110000 {label = "kernel";reg = <0x110000 0x400000>;read-only;};partition@510000 {label = "rootfs";reg = <0x510000 0xAF0000>;};};};};
重新编译设备树
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dtbs -j4
配置内核
(1)make ARCH=arm menuconfig
(2) 勾选File systems ‣ Miscellaneous filesystems ‣ Journalling Flash File System v2 (JFFS2) support
(3) 修改源码下的 ./drivers/mtd/spi-nor.c
vi ./drivers/mtd/spi-nor/spi-nor.c
注释掉以下一行:
//{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) },
在这一行下面增加一项:{ "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, 0) },
(4) 重新编译内核
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
问题
Waiting for root device /dev/mtdblock3…
解决:
内核配置中增加
caching block device access to MTD devices必须加 我就是卡在这
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
VFS: Cannot open root device “mtdblock3” or unknown-block(31,3): error -19
这个问题是文件系统格式导致的,在内核配置中增加 jffs2 的支持
这个是我最后一个坑 启动成功了。
设备树使能
dtb-$(CONFIG_MACH_SUNIV) += \suniv-f1c100s-licheepi-nano.dtb
f1c100s kernel调试记录相关推荐
- f1c100s spi nand 128MB W25N01G 调试记录
f1c100s 128MB W25N01G spi nand调试记录 镜像使用说明 镜像位置images文件夹 uboot-with-spl-usb.bin FEL模式下使用的uboot镜像 uboo ...
- RV1126 调试记录
RV1126 调试记录 ######################################################################################## ...
- FPGA SATA IP控制器的SATA接口调试记录
本文档是基于FPGA K7 SATA IP控制器的SATA接口调试记录,接口遵循标准的ACHI协议. 操作系统内核版本:5.4.18 由于K7PCIE只有3个bar,AHCI协议规定SATA控制器是在 ...
- AML8726调试记录
一:源代码下载: 1:Installing Repo # mkdir ~/bin # PATH=~/bin:$PATH # curl https://dl-ssl.google.com/dl/goog ...
- RK3568开发笔记-EDP显示屏接口调试记录
目录 文章目录 前言 一.edp显示接口介绍 二.edp接口部分原理图 三.edp接口显示屏参数介绍 四.RK3568设备树参数配置 五.完整DTS edp参数 六.RK3568多屏显示vop选择 七 ...
- 2020-02-24 RK3288 Android7.1 5.1 增加AP6256 WI-FI Bluetooth调试记录
RK3288 Android7.1 5.1 增加AP6256 WI-FI Bluetooth调试记录 一.硬件连接图,AP6335.AP6255.AP6256 Pin对Pin,可以直接替换. 二.原本 ...
- android 蓝牙 驱动,转个蓝牙修改帖--Android BCM4330 蓝牙BT驱动调试记录
本帖最后由 旋律2014 于 2014-3-27 09:15 编辑 一.关于BT driver的移植: 1. Enablebluetootch in BoadConfig.mk BOARD_HAVE_ ...
- rk3368 Android9.0 HIDL调试记录
rk3368 Android9.0 HIDL调试记录 Platform: RK3368 OS: Android 9.0 Kernel: 4.4.194 文章目录 rk3368 Android9.0 H ...
- selinux移植调试记录
LINUX平台selinux移植调试记录 前言 什么是selinux 主要作用 selinux的组成 工作模式 工作流程 查看当前的文件或进程的安全上下文 uboot和kernel中的配置 refpo ...
最新文章
- ul li设置横排,并除去li前的圆点
- Docker(九):Docker实战 安装 Ubuntu
- Numpy生成二项分布随机数
- PPT资料下载 - 问题驱动的软件测试设计:强化测试用例设计
- 计算机科学概论ppt免费,计算机科学概论(第9版)Lecture_slide07.ppt
- 一个高成熟度组织的规程和指南目录
- java手机飞行模式_用了这么多年手机才知道,飞行模式还藏着这6个功能!太好用了...
- vscode怎么自动将px转换成vw_基于react/vue移动端适配之px自动转rem、vw
- 分布式 dynamips+dyangen (更新于07.3.30)
- [Unity] Animator 播放 Mixamo 动画卡在第一帧的解决办法:勾选 Loop Time
- SQL.变量、运算符、if、while
- Java:Spring的IOC原理(大白话解释)
- 最基本的01背包问题
- vs2013 c++代码内出现中文导致编译错误
- 10分钟入门Shell脚本编程
- C语言题目:从键盘输入三个数,求三角形面积和周长
- 30个 CSS 样式常用的静态形状
- 欠款人署名故意签错,怎么维权
- android市场低迷,销量低迷 安卓厂商mini产品或面临策略调整
- 亲身实践,效果显著,让“轻断食”帮你打扫一下身体吧~