Bootloader之BareBox 之路(1)--安装
之前跑一块低端的ARM板子时,由于没上操作系统,所以自己写了个bootloader,通过usb更新应用程序。新的这块要跑Linux,Ethernet,USB,SD卡一应俱全,虽然改了一下能够启动Linux,但是要支持Ethernet,USB和SD卡更新要做的东西太多,于是打算移植一个bootloader来用。
在网上找流行的U-boot资料,不经意间翻到barebox,号称是U-boot的升级版本,稍微看了下,支持Ethernet,USB和SD,已经满足我的要求了。而且同U-boot相比,它基于kbuild编译,有一个可视化的menuconfig,类似于Linux的编译,比较方便直观,于是决定就用它了。
barebox的主页(www.barebox.org)提供的最新的release版本是v2010.11.0,还不支持mci即SD卡,但是已经看到有新的补丁支持mci了,于是通过git来下载最新的代码。
kubuntu 10.10好像默认已经安装git了,在/home/xxx/Downloads下输入
git clone git://git.pengutronix.de/git/barebox.git barebox :该命令是在当前目录复制一个barebox的镜像,命名为barebox
cd barebox
git branch barebox20101129 :创建一个名叫barebox20101129的分支
git checkout barebox20101129 :跳到这个分支,即目录下的文件被改成barebox20101129指定版本的文件,目前的分支跟master同步,所以文件是一样的
另可以用git checkout -b barebox20101129来代替上面最后两条指令,附加几条常用git指令:
2
3 git branch mybranch version会在本地建立以version为基础的分支
4
5 git describe <branch-name>查看指定分支版本。
6
7 git pull git://xxx master,更新文件到master分支
8
9 git merger <branch-name>合并<branch-name>到当前checkout分支
10
11 git diff master..mybranch 显示两个分支的差别
更详细的命令参考http://www.kernel.org/pub/software/scm/git/docs/user-manual.html ,Linux的每个工具都这么能折腾,汗...
在/home/xxx/下新建一个Workspaces的目录,把barebox目录拷过去,其实直接改也行,反正是改的barebox20101129这个分支,不过还不太习惯...
要动手改了,突然发现还没有装交叉编译器,上www.codesourcery.com下载一个lite版本(也就是不要钱)的gcc,最新的是arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2,版本是4.5.1,事后发现有点问题(会产生undefined reference to `__bswapsi2'错误),于是改装之前的一个版本arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2,版本是是4.4.1。
运行命令(如果在窗口下移动有个权限的问题,需要换成root登录或者装个nautilus啥的):
tar -jxvf arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
sudo mv arm-2010q1 /opt
切换到/home/xxx/Workspaces/barebox目录,修改Makefile:
ARCH = arm
CROSS_COMPILE = /opt/arm-2010q1/bin/arm-none-linux-gnueabi-
粗粗看了一下arch/arm/boards下的目录,pcm038跟我的板子比较接近,于是
make pcm038_defconfig
make menuconfig (这里出错:"Unable to find the ncurses libraries or the required header files." ,sudo apt-get install ncurses-devgit 搞定)
浏览一下后保存退出后
make
当当当当,barebox.bin产生了。预知后事,且听下回分解...
转载于:https://www.cnblogs.com/kubtu/archive/2010/12/04/1896609.html
Bootloader之BareBox 之路(1)--安装相关推荐
- Java学习之路1——安装JDK1.8||安装idea2022||Java项目创建【重拾Java】
Java学习之路1--安装JDK1.8||安装idea2022[重拾Java] 前言 安装 安装JDK1.8 安装idea2022(JetBrains Toolbox) Java项目创建 创建 项目结 ...
- 小白的学习之路--IDEA安装及使用
小白的学习之路--IDEA安装及使用 IDEA概述和安装 IDEA中的HelloWorld IDEA启动的基本配置 IDEA中创建HelloWorld ①创建一个空项目 ②创建一个新模块(idea_t ...
- mysql sga_MySQL王者晋级之路(一)安装、体系结构和存储引擎
<MySQL王者晋级之路>张甦,电子工业出版社,2018.3 基于MySQL5.6和MySQL5.7 MySQL简介与主流分支版本 MySQL简介 MySQL AB -> Sun - ...
- electron 的混合桌面之路 入门安装
最近有计划去写桌面程序,所以呢,我打算写一篇博客来记录使用21世纪逼格最高的技术的入门文档. electron 的混合桌面之路 首先假装很厉害的样子介绍一下Github 官方制作的Atom代码编辑器, ...
- 虚拟机在安装svn时 认证密码一直报错_研路同行|安装虚拟机到安装GAMIT教程步骤汇总...
(一路遇见,一路再见) 全文共计2258字,图片共计1张 用心阅读控制在10分钟 --今日图文-- Gamit/gLOBK软件是一款高精度GNSS数据处理软件,目前支持GPS/BDS/GLONASS/ ...
- PHP从入门到跑路(一), 安装PHP环境
安装PHP环境 前言 一, 环境安装 二, 软件选择 三, phpstorm环境配置 四, 启动第一个php程序 前言 博主不会php, 是从JAVA转过来的, PHP教程总结实际开发使用, 更加偏向 ...
- Qt学习之路_1(安装及首次体验)
一.安装qt软件: ( 如果使用的是Qt源码,则用该方法编译,步骤参考http://www.cnblogs.com/elect-fans/archive/2012/03/25/2416997.ht ...
- [JavaWeb修行之路 Day1] 安装、配置、部署Tomcat
一.相关软件下载 Tomcat下载地址:http://tomcat.apache.org .选择Tomcat 6或者Tomcat 7. Eclipse下载地址:http://www.eclipse.o ...
- jsp学习之路之安装Apache Tomcat7.0服务器
1.首先,jsp就是Java Server Pages,是基于Java语言的一种web应用开发技术,可以建立安全.跨平台的先进动态网页,利用jsp技术创建的web应用程序可以实现动态页面和静态页面的分 ...
最新文章
- 入门单片机选择51还是stm32?入门单片机有哪些好的教学视频?
- php设计模式--单例模式
- webstorm下debug调试react js程序
- VTK:重采样折线用法实战
- shell变量/环境变量和set/env/export用法_转
- Java Jar包的压缩、解压使用指南
- 如何走出物联网死亡之井?
- SolidWorks Simulation热仿真优化设计 提高企业生产效率
- Cuteftp9.0安装说明书
- 戴尔计算机没有硬盘驱动,戴尔做系统读取不到驱动器-戴尔笔记本出现硬盘驱动器无安装该如何操作?...
- 删除可恶的7654.com,7654导航篡改首页恢复,如何解决浏览器被7654劫持
- 曝光三要素:光圈、快门、ISO
- 上海始终未出现真正“富人区”
- n维立方体角、面、边的个数
- Vue elementui 实现表格selection的默认勾选
- 身份证图像识别api
- python curl 获取返回值_python-将curl查询转换为请求
- 非常详尽,多图慎入:Wayland与Weston简介
- String比较字符串方法
- Matlab Shannon编码
热门文章
- nagios的实时监控
- 微软:推开窗户,我看到了云
- java中使用switch case报错case expressions must be constant expressions
- linq to sql中的自动缓存(对象跟踪)
- 奚江华的几篇Silverlight文章
- 离线安装老版本android sdk,亲测,linux、windows、mac通用
- spring配置线程池
- 阿里开源 iOS 协程开发框架 coobjc源码分析
- 用Nginx分流绕开Github反爬机制
- 关于“Fluent UI”或Ribbon Design报道的补充说明