嵌入式Linux系统移植
-西西弗斯
这个作者很懒,什么都没留下…
展开
-
vimrc
" All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by" the call to :runtime you can find below. If you wish to change any of those" settings, you should do it in this file (/etc/vim/vimrc), since debian.vim" will be overwritten e.原创 2021-10-08 17:01:54 · 149 阅读 · 0 评论 -
45. Linux驱动简介
编译内核时候,Makefile中obj-y 直接编译到内核obj-m 编译成模块/驱动,驱动模块可以在根文件系统启动以后通过insmode加载原创 2021-01-31 09:41:57 · 145 阅读 · 0 评论 -
44. LED驱动测试
发现LED测试程序中,设备挂载点位于/dev/led1, 因此需要修改,驱动匹配应用此时挂载的NFS为应用文件系统。开发板端测试结束原创 2021-01-30 20:28:14 · 173 阅读 · 0 评论 -
43. 添加驱动到内核
上面为myleddev.c部分源码,发现驱动程序要比裸机点灯程序看起来复杂很多。此处只复杂将成熟的驱动打包到linux内核在myled目录下新建Makefile,并加入下面一句话。obj-$(CONFIG_MYLEDTEST) += myledcdev.o但是当前的Makefile并不可以被上层目录调用,进入上级目录,建立上级Makefile对/myled/ 目录下的Makefile的调用再次进入myled目录下建立Kconfig文件同样,去建立...原创 2021-01-30 19:33:21 · 116 阅读 · 0 评论 -
42. Kconfig语法使用2
如何有feature,对应到Kconfig中的配置项目,以及相应的.c 文件原创 2021-01-30 18:36:18 · 175 阅读 · 0 评论 -
41. Kconfig语法使用
在下面,做一个自定义配置。保存,make menuconfig 之后就会弹出所设定的菜单/配置原创 2021-01-30 17:23:10 · 196 阅读 · 0 评论 -
39. Linux内核编译过程及结果
-y 加载到内核-m 加载到模块1. copy .config此处的dconfig为开发板厂商提供的文件,类似于下面的s5pv210_deconfig文件2. 修改Makefile3. 修改配置原创 2021-01-30 13:20:34 · 315 阅读 · 1 评论 -
38. Linux内核 - 内核编译介绍
原创 2021-01-30 10:51:40 · 127 阅读 · 0 评论 -
37. Linux内核总览
#include <linux/***.h> 是在linux-2.6.29/include/linux下面寻找源文件。#include <asm/***.h> 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。#include <mach/***.h> 是在linux-2.6.29/arch/arm/mach-s3c2410/include/mach下面寻找源文件。#include <plat/regs-a...原创 2021-01-29 15:18:11 · 254 阅读 · 0 评论 -
36. Linux内核 - 文件系统的选择与配置原则
原创 2021-01-29 13:43:47 · 311 阅读 · 0 评论 -
35. Linux内核 - 文件系统的挂载配置与选项
原创 2021-01-29 13:34:50 · 198 阅读 · 0 评论 -
源码安装gcc 9.2.0
sudo apt install gcc来安装低版本的gcc)gcc编译时依赖GMP,MPFR,MPC,这三个要依次安装:GMP->MPFR->MPC最后安装gcc下面是下载的地址:ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.bz2http://www.multiprecision.org/mpchttp://ftp.gnu.org/gnu/mpfr/http://mirror.hust.edu.cn/gnu/gcc/接下来是安装的过程:.原创 2021-01-29 10:59:18 · 490 阅读 · 0 评论 -
34. Linux内核 - Flash分区与文件系统镜像烧录
1个页面2K大小,64B的原子数据将build好的image放入tftp服务器端原创 2021-01-28 20:25:17 · 387 阅读 · 0 评论 -
33. Linux内核 - yaffs2文件系统的制作与使用
继续make,就不再报错。yaffs2也是MTD设备,不可直接挂载到 环回设备上面原创 2021-01-28 20:23:12 · 239 阅读 · 0 评论 -
32. Linux内核 - jffs2文件系统的制作与使用
原创 2021-01-28 20:09:38 · 211 阅读 · 1 评论 -
31. Linux内核 - Squashfs文件系统的制作与使用
上面为烧写到回环设备以后的内容。image绑定到回环设备,可以理解为image文件烧写到回环设备。原创 2021-01-28 18:29:51 · 1108 阅读 · 1 评论 -
30. Linux内核 - Cramfs文件系统的制作与使用
Linux系统losetup命令用来设置循坏设备,循坏设备可以把文件虚拟成块设备,借此来模拟整个文件系统,让用户得以将其视为硬盘驱动器,光驱等设备,并挂入当作目录来使用。原创 2021-01-28 17:33:04 · 225 阅读 · 0 评论 -
操作系统实验:构建linux内核系统(linux内核编译)
操作系统实验:构建linux内核系统(linux内核编译)实验环境:VMware Workstation 14, Ubuntu 18.04.2 LTS一、获取linux内核Linux内核可从官网www.kernel.org下载,如果国内下载慢,可前往国内的一些镜像站下载,如清华大学开源软件镜像站。这里下载了linux5.0-tar.xz。解压:sudo tar -xvJf linux-5.0.tar.xz二、内核初始化将解包后的内核放到/usr/src/下。如果要重新.转载 2021-01-28 15:42:04 · 1239 阅读 · 0 评论 -
29. Linux内核构建文件系统选项配置
make ARCH=arm menucofnig默认语言可以设置成中文原创 2021-01-28 15:34:29 · 190 阅读 · 0 评论 -
28. Linux内核构建文件系统选项介绍
原创 2021-01-28 11:29:32 · 134 阅读 · 0 评论 -
27. Linux内核-Flash文件系统Jffs2/Yaffs2
原创 2021-01-28 10:14:30 · 194 阅读 · 0 评论 -
26. Linux内核-只读文件系统cramfs与squashfs
cramfs已经过时,被squashfs取代原创 2021-01-28 10:09:08 · 317 阅读 · 0 评论 -
25. Linux内核-Ramfs文件系统 initramfs概念与使用
其它进程都是由init创建出来的,因此init不可以提前结束。make ARCH=arm menuconfig 按照上面截图去设定,设定好以后,保存然后make ARCH=arm uImage 开始build image,build好以后继续执行,...原创 2021-01-27 22:25:05 · 524 阅读 · 0 评论 -
24. Linux内核-网络文件系统
原创 2021-01-27 22:07:51 · 154 阅读 · 0 评论 -
23. Linux内核 文件系统
zero/null 为空洞文件原创 2021-01-27 18:34:43 · 135 阅读 · 0 评论 -
22. Linux内核 -嵌入式系统常见文件系统
在内核源码目录下, 通过make menuconfig去查看所支持的文件系统细节原创 2021-01-27 18:23:26 · 86 阅读 · 0 评论 -
21. Linux内核 -完善根文件系统
Check 程序运行库Check配置文件rcS3. Check启动脚本原创 2021-01-27 17:43:54 · 166 阅读 · 0 评论 -
20. Linux内核 -Busybox应用
上节,busybox代码下载/剪裁/build/安装在开发电脑端,_busybox 目录下。boot成功原创 2021-01-27 10:09:19 · 182 阅读 · 0 评论 -
19. Linux内核 -Busybox编译
wesley@wesley:/opt/busybox-1.32.1$ arm-linux-gcc -vUsing built-in specs.COLLECT_GCC=arm-linux-gccCOLLECT_LTO_WRAPPER=/usr/local/arm/gcc-4.6.4/bin/../libexec/gcc/arm-arm1176jzfssf-linux-gnueabi/4.6.4/lto-wrapperTarget: arm-arm1176jzfssf-linux-gnueabiC.原创 2021-01-26 17:27:20 · 173 阅读 · 0 评论 -
18. Linux 内核启动脚本-2
wesley@wesley:/opt/busybox-1.32.1$ find . -name rcS./examples/bootfloppy/etc/init.d/rcSwesley@wesley:/opt/busybox-1.32.1$ cd examples/bootfloppy/etc/init.d/wesley@wesley:/opt/busybox-1.32.1/examples/bootfloppy/etc/init.d$ lsrcSwesley@wesley:/opt/bus.原创 2021-01-26 15:47:39 · 176 阅读 · 0 评论 -
17. Linux 内核启动脚本-1
wesley@wesley:/opt/busybox-1.32.1$ ls0021-shell-Fix-read-d-behavior.patch busybox_unstripped.map klibc-utils NOFORK_NOEXEC.sh0034-ash-remove-a-tentative-TODO-it-s-a-wrong-idea.patch busybox_unstripped.o...原创 2021-01-26 15:09:36 · 237 阅读 · 0 评论 -
16. 嵌入式根文件系统框架,busybox简介
内核已经启动,但终端无响应/启动失败VFS:Mounted root 说明找到了根文件系统。 Failed to execute /linuxrc重启,可以进入linux,但是很多命令不支持重启,则刚才的异常已经消失工程上,一般用busybox构建根文件系统https://busybox.net/下载busybox解压...原创 2021-01-26 13:14:02 · 195 阅读 · 0 评论 -
15. Linux根文件系统与基本框架
原创 2021-01-26 09:59:02 · 198 阅读 · 0 评论 -
14. Linux内核参数
上面为uboot支持的命令,输入help 显示出来的内容原创 2021-01-25 20:12:00 · 94 阅读 · 0 评论 -
13. 嵌入式Linux系统移植 - NFS
NFS:将linux主机里面的共享目录,以类似于u盘的方式,mount到开发板。其中该目录作为开发板的根目录NFS服务器配置/etc/exports:用于配置可以输出给外面的设备的设定linux端编译一个文件开发板端执行UBOOT是bootloader的一种,是启动代码,uImage是内核编译之后的产物,u-boot编译后的产物是后缀名为.bin的文件,开发板上完整的系统包含bootloader、内核、文件系统系统启动...原创 2021-01-25 16:53:52 · 223 阅读 · 0 评论 -
12. 嵌入式Linux系统移植 - 文件系统
bootm 用于启动uimage, 启动好后,效果如上,看起来就是一个linux系统了。原创 2021-01-25 10:12:08 · 155 阅读 · 0 评论 -
11. 嵌入式Linux系统移植 - uboot内核启动参数
应用只能访问shell,通过shell /内核 才可以访问硬件原创 2021-01-25 10:02:50 · 147 阅读 · 0 评论 -
10. 嵌入式Linux系统移植 - uboot启动内核命令介绍
要想启动内核,必须要有内核文件,此处为uImagezImage/bzImage/Image:内核最原始的数据包uImage:在内核原始数据包的基础上,加了一个uboot的头。因为,uImage最开头都是一些uboot数据信息,不具有可执行能力,一旦执行,必定跑飞。必须用bootm将前端的数据信息解析出来,才可以执行。直接用bootm指到内存开始地址运行,发现还是运行不起来。 上面显示Starting kernel ..., 实际上代码还在uboot中如果内核启原创 2021-01-25 07:49:37 · 169 阅读 · 0 评论 -
9. 嵌入式Linux系统移植 - uboot下nand命令使用
测试前的网络环境/从开发板端看将文件从tftp服务器端下载到开发板20008000内存地址发现搬移过来的1234567890 已经有显示内存的低地址一般放bootloader,在上面放全局变量, 做测试最好放在高地址写完之后,内存地址20008000的空间就为空...原创 2021-01-25 07:30:50 · 238 阅读 · 0 评论 -
8. 嵌入式Linux系统移植 - linux下tftp服务的搭建与使用
book@100ask:~/C_coding/0122$ sudo apt-get install tftpdReading package lists... DoneBuilding dependency tree Reading state information... DoneThe following packages were automatically installed and are no longer required: libdumbnet1 linux-h...原创 2021-01-24 20:42:16 · 288 阅读 · 0 评论