linux移植问题汇总(一) 在此记录移植linux过程中出现的问题以及解决方法. 项目GitHub地址 linux3.0.80:https://github.com/numbqq/linux-3.0.80_for_tiny210linux3.3.5:https://github.com/numbqq/linux-3.3.5_for_tiny210uboot2014.04:https://github.com/numbqq/uboot201404_for_tiny210 1.移植linux ke…
我们有时候有需要在busybox基础上,制作linux,可是却不知道具体怎么做,这里将对基于busybox的linux小系统制作做出详细的步骤说明.准备环境:1.一个Redhat完整系统的虚拟机,本次实例使用的是Redhat Enterprise Linux 5.82.在主虚拟机上添加一块硬盘作为小系统的存储盘,这里添加的是IDE硬盘,3.准备linux内核源码以及busybox源码,这里使用linux-2.6.38.5和busybox-1.20.2版本4.复制当前系统上的内核配置(/usr/s…
Linux 最小系统制作 一.制作工具Busybox 在制作文件系统的时候,我们需要使用“Busybox 工具”,即为附件压缩包“busybox-1.21.1.tar.bz2”.“BusyBox 工具”是一个集成了一百多个最常用Linux 命令和工具的软件. BusyBox 包含了一些简单的工具,例如 ls.cat 和 echo 命令等等,还包含了一些更大.更复杂的工具,例 grep.find.mount 以及 telnet 命令.有些人将 BusyBox 称为 Linux工具里的瑞士军刀.简单…
在Linux移植之内核启动过程引导阶段分析中从arch/arm/kernel/head.S开始分析,最后分析到课start_kernel这个C函数,下面就简单分析下这个函数,因为涉及到Linux的内容较多,这里只是简单介绍下内核启动流程.先看一下内核启动的流程框图,截图来自<嵌入式Linux应用开发完全手册>.内核引导阶段已经分析过,接下来分析一下内核启动的第二阶段. 1.start_kernel函数全局概览 2.start_kernel函数调用层次 1.start_kernel函数全局概览,…
导读 内核启动的最后阶段启动了三个进程进程0:进程0其实就是刚才讲过的idle进程,叫空闲进程,也就是死循环.进程1:kernel_init函数就是进程1,这个进程被称为init进程.进程2:kthreadd函数就是进程2,这个进程是linux内核的守护进程.这个进程是用来保证linux内核自己本身能正常工作的.在嵌入式操作系统中一般会指定/linuxrc为init进程 1./linuxrc是一个可执行的应用程序 (1)/linuxrc是应用层的,和内核源码一点关系都没有 (2)/linuxrc…
编译linux kernel及制作initrd ( by quqi99 ) 作者:张华  发表于:2013-01-27    ( http://blog.csdn.net/quqi99 ) 运行一个linux系统需要三项内容:   1,kernel, 内核,一些核心的代码块,如进程管理,它要求体积很小.   2,initrd, 进入系统所需预告加载的硬件驱动module的一个最小集.当GRUB加载kernel时,kernel会在内存中将initrd文件mount到rootfs上激活,然后kern…
CH02基于ZYNQ的嵌入式LINUX移植 1.1概述 实验环境: Windows 10 专业版 Vmware workstation 14.1.1 Ubuntu 16.04.3 Xilinx SDx 2017.4 实验内容:     很多人问我怎么不用petalinux,说实话小编不会,记得之前有几个LINUX大神说petalinux四不像,不建议准备深入LINUX的学习者学习,所以小编就老老实实学习通用的LINUX方法.毕竟以后说不定就要搞其他不是XILINX的嵌入式平台了. 对于学习LIN…
参考: https://electronut.in/workflow-for-using-linux-on-xilinx-zynq/ https://blog.csdn.net/m0_37545528/article/details/90177983?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159826227019725222462909%2522%252C%2522scm%2522%253A%252220140713.13…
在Linux移植之内核启动过程start_kernel函数简析中已经指出了start_kernel函数的调用层次,这篇主要是对具体的tag参数列表进行解析. 1.内存参数ATAG_MEM参数解析 2.命令行参数ATAG_CMDLINE解析,以传入的命令参数bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0为列: 1).noinitrd参数解析过程,当你没有使用ramdisk启动系统的时候,你需要使用noinitr…
在Linux移植之make uImage编译过程分析中已经提到了uImage是一个压缩的包并且内含压缩程序,可以进行自解压.自解压完成之后内核代码从物理地址为0x30008000处开始运行.下面分析在进入C之前内核做的一些工作,以下是内核启动过程中打印出来的信息,其中Uncompressing Linux就是在自解压代码.make uImage编译的最后也给出了链接脚本arch/arm/kernel/vmlinux.lds,以及链接的顺序arch/arm/kernel/head.o 是第一个.…