环境:ubuntu14.04  内核版本 linux 3.13.0   OK6410 内核编译环境   linux 3.0.1 uboot版本    1.1.6   交叉编译工具链   arm-linux-gcc 4.3.2 1.  编译前要首先安装好交叉工具链,安装过程见博文http://www.cnblogs.com/apolloenterprise/p/4324726.html 2.  编译uboot 下载uboot源码,下载地址 http://pan.baidu.com/s/1qWINJ…
NULL RAM : mkdir ramdisk_test  临时挂在点 dd if=/dev/zero of=rootfs.ramdisk bs=1k count=10000 建立空硬盘//15000(15M) losetup /dev/loop0 rootfs.ramdisk 挂在临时硬盘 mke2fs -m 0 /dev/loop0 格式化此硬盘 mount –t ext2 rootfs.ramdisk ./ramdisk/ramdisk_test/ cp -rf ./rootfs_ucl…
前言   上一篇搭建好了ubuntu宿主机开发环境,本篇的目标系统主要是开发linux+qt,所以需要刷上billdroot+Qt创建的系统,为了更好的熟悉原理和整个开发过程,选择从零开始搭建rk3568的sdk开发环境.   RK系列SDK简要介绍 目录结构   一个通用 Linux SDK (RV系类的sdk没有对工程目录包含有 buildroot. debian. app. kernel. u-boot. device. docs. external等目录.  以下是RK系类的目录分类:…
前言   buildroot虽然灵活,但是基于实际情况,本身是侧重驱动和应用定制开发的只定制一次文件系统投入有点多,还不如直接ubunt自己交叉编译依赖库,做一些库的移植裁剪.  于是本篇就使用ubuntu系统了,至于其他库自己下源码在宿主机交叉编译号后,再拷贝过去或者直接在板子上编译也行(只是会比较慢),但是意义不大,因为开发过程肯定是用宿主机,不然核心板编译太慢,在编译上会花费不少可以省去的时间.   为什么选择ubuntu   核心板方案上已经提供适配好的基础uboot和kernel,这个…
第一次写技术博客,还有些兴奋呢.我是CrazyCatJack,大家可以叫我CCJ或者疯猫.我即将成为一名嵌入式Linux的驱动工程师,现在还是一枚大四狗,呼呼~大学期间做了一些项目和比赛,都是基于32位的MCU(例如STM32.Freescale K60),这些呢都是根据网上的视频,PDF自学的.现在想更进一步,学习一下嵌入式Linux.UCOS-II等嵌入式系统.因为给板子加系统是一个必然趋势,控制会越来越复杂,内容也越来越多的.有一个系统统筹管理是非常棒的选择.好了,废话少说,今天开始我的第…
介绍 openstack平台需要使用各种Linux发行版模板镜像,其制作方法主要有两种,要么是基于各大Linux发行版ISO光盘手动制作,要么是使用官方提供的模板镜像再做修改 之前制作的openstack centos6.5模板镜像,其内核为2.6.xx,现需要升级其内核到3.18.x,使用这里提供的rpm包kernel-ml-3.18.3-1.el6.elrepo.x86_64.rpm升级内核遇到了下面几个问题,下面谈谈我的解决过程 问题 问题1.virtio驱动加载问题 使用上面提到的rpm…
前面两篇文章分别介绍了mini2440开发板上运行的bootloader和kernel,到这里系统启动后其实是停留在一个“僵死”的状态---无法挂载根文件系统. 这里将介绍如何制作一个根文件系统,并且挂载到内核中---即让内核能够访问到文件系统中的目录和文件.从用户的角度来看文件系统无非就是各个目录和文件,注意,这些目录和文件可以存在内存中,也可以存在Nand Flash 或者NOR Flash中,视具体的文件系统而定.本文就用基于内存的initram 和基于网络的nfs文件系统做例子介绍文件系…
目标: 1.关看门狗 2.设置时钟 3.初始化SDRAM (初始化寄存器以及清除bss段) 4.重定位 (将nand/nor中代码COPY到链接地址上,需要初始化nandflash,读flash) 5.执行main (进入第二阶段) 6.写 7.制作uboot.lds链接脚本 编写步骤: 1.创建个名为"my_bootloader"根目录,方便编写uboot 2.新建my_bootloader/si目录,创建source insight工程 2.1 新建my_bootloader/st…
目标: 1   添加头文件setup.h和serial.h 2   写main函数   2.1 帮内核设置串口0, (内核启动会打印出启动信息) 2.2把内核读入到SDRAM 2.3设置参数(参考u-boot-1.1.6 /lib_arm/armlinux.C中do_bootm_linux()函数) 2.4跳转运行内核(参考u-boot-1.1.6/lib_arm/armlinux.C中do_bootm_linux()函数) 3 写tag参数函数 3.1 setup_start_tag (voi…
仿照bootm命令生成来制作一个hello命令,功能:打印出hello,world!和参数值 1.点击New File ,创建cmd_hello.c将./common/cmd_bootm.c的头文件复制到 cmd_hello.c中(因为cmd_bootm.c的头文件都是包括的命令相关的文件): #include <common.h>#include <watchdog.h>#include <command.h>#include <image.h>#incl…