嵌入式Linux之旅——环境搭建篇之烧写整个系统

  上一小结我们已经烧写完u-boot,我烧写的u-boot是板子厂家定制的,本小节将利用这个u-boot烧写整个系统。当然,在系统移植篇的时候也会涉及到如何定制一个u-boot。

  烧写整个系统我们一个叫dnw的工具,dnw是一个USB工具,通过USB发送文件给具有USB下载功能的bootloader。也就说我用的厂家定制的u-boot已经具备了USB下载功能。我需要先安装一些库:

  sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386

  然后,使用提供的dnw工具,执行如下命令即可使用:

  sudo cp dnw /usr/bin/ && chmod +rx /usr/bin/dnw

  首先,在终端上输入“kermit”命令,打开板子的电源,系统进入u-boot。在倒计时结束前,按下空格键,u-boot就会进入命令模式,或者说是调试模式,这也是u-boot两大功能之一。串口已经输出了一些硬件信息和厂家定制的菜单,菜单如下所示:

[n] Download u-boot to Nand Flash
[k] Download Linux kernel uImage
[j] Download root_jffs2 image
[y] Download root_yaffs image
[d] Download to SDRAM & Run
[z] Download zImage into RAM
[g] Boot linux from RAM
[f] Format the Nand Flash
[s] Set the boot parameters
[b] Boot the system
[r] Reboot u-boot
[q] Quit from menu
Enter your selection:

  先烧写一个kernel,就在上面输入“k”,然后在你要烧写的image文件下输入:sudo dnw uImage。默认是通过USB传到内存的0x30000000地址,当然你也可以在命令后面直接加上内存的地址。等待传递完成之后,先擦除kernel分区,还需要在u-boot命令模式下把内存里的kernel写入nandflash:

  nand erase kernel

  nand write.jffs2 30000000 kernel

  就是把内存里的kernel写入nandflash的kernel分区。

  下面我们该烧写文件系统了,同样进入菜单,输入“y”,烧写雅yaffs2格式的文件系统:sudo dnw fs_qtopia.yaffs2。然后在u-boot命令模式下先擦除root分区,再把内存里的文件系统写入nandflash:

  nand erase root

  nand write.yaffs 30000000 260000 2f76b40

  也就说,把文件系统以yaffs的格式从内存0x30000000地址写入nandflash的0x260000的位置,大小是0x2f76b40。

  整个系统就烧写完成了,其实还有其他的烧写方式,如果u-boot可以支持网络下载,我们还可以使用tftp和nfs下载,有兴趣可以自己了解,后面有可能会提到。

  下一小节,将会介绍交叉编译工具。

时间: 2024-11-05 20:40:59

嵌入式Linux之旅——环境搭建篇之烧写整个系统的相关文章

嵌入式Linux之旅——环境搭建篇之烧写裸机程序

本小节将介绍如何使用oflash和openjtag烧写裸机程序.oflash也支持并口烧写,方法与openjtag类似.如果你想使用jlink烧写,需要安装SEGGER的J-Flash的工具,这里我们就不多介绍. 首先需要先安装oflash,oflash由开发板厂商提供或者从网上下载.将oflash加上可执行权限,拷贝到“/usr/bin”目录下即可.命令如下: sudo cp oflash /usr/bin/ && sudo chmod +x /usr/bin/oflash 下面就是具体

嵌入式Linux之旅——环境搭建篇之搭建基本开发环境

我们在学习开发Linux前,必须要搭建好编译开发环境.但由于环境与工具的选择,每个人的习惯和爱好不同,所以本篇我会贴出来一些必要的软件的安装,若个人还有些软件需要安装配置的,大家可以在需要用的时候上网搜索或者查找书本配置. 在安装具体的软件前,有必要介绍我使用的环境和工具.首先,我用两台电脑,一个是win7的系统,另一个是ubuntu 14.04的系统,当然主要的开发是在ubuntu下完成的.大家如果没有条件的话,可以安装虚拟机或者直接安装Linux系统也未尝不可.另外,我手里正好有一套2440

嵌入式Linux之旅——环境搭建篇之交叉编译工具的安装

在正式开始学习裸机程序的编写之前,我们还需要安装一下交叉编译工具.何为交叉编译工具?其实就是在x86的ubuntu主机上编译程序,并且可以运行在arm环境的编译工具.而gcc是本地编译工具,这个在我们本篇刚开始就已经安装了.现在我们需要安装交叉编译工具arm-linux-gcc.我现在是直接使用厂家制作好的工具,只需解压后增加到环境变量即可: sudo tar xzf arm-linux-gcc-4.3.2.tgz -C / 然后修改“/etc/environment”,在PATH中增加交叉编译

嵌入式linux基本开发环境搭建

1.      更新到最新的软件包 Open up System -> Administration -> Update Manager Click on Settings Open the Updates Tab Set 'Release upgrade' to 'Never'. That makes the option to upgrade to Karmic go away. Close the settings dialog box. Click on 'Check' to chec

嵌入式Linux之旅——前言

想写技术博客有一段时间了,但一直因为这样那样的理由没有行动.今日下班较早,左右无事,心想为我这个<嵌入式Linux之旅>写一个前言,虽然没有什么实际内容,但总算开了一个头,以此鞭策我这个有严重拖延症的人. 本系列博客——<嵌入式Linux之旅>,是笔者平时学习实验的积累和总结,写在博客中的内容无非有三个出处:代码.书和网络.这可以帮助我记录分析代码的过程和加深对知识的印象,如果能够帮助后学者些许,乃我之幸事也. 我想,<嵌入式Linux之旅>应该分为这么几大部分:环境搭

Linux虚拟机学习环境搭建—虚拟机安装

接上一篇的Linux虚拟机学习环境搭建-虚拟机创建"  点击"开启此虚拟机",进入系统安装界面. Tab键可以调整选项,直接选择第一项,回车.备注:鼠标点击进入虚拟机,要跳出虚拟机回到主机控制,按下Ctrl+Alt. 出现Disc Found界面,用Tab键,选择到Skip选项,回车.备注:此操作是校验安装文件是否有损坏,现在是安装学习测试机,跳过校验. 进入到图标界面,单击 "下一步" 进入到语言选择界面,此处选择"English",

s3c6410 Linux 驱动开发环境搭建

s3c6410 Linux 驱动开发环境搭建 -- 既然你是做Linux开发的,你还用虚拟机? 非常多人都在win下做开发,于是SD_writer.exe之类的烧写工具"大行其道",多是用虚拟机Linux. 全然转到Linux下学习開始蛮不爽的,开发板制作商送的教程都是些讲Win-CE的东东,感觉实质性的东西没什么.对于全然用Linux做开发的技术解说非常少,连烧写SD卡都用的win以下的程序.后来找了些资料,整理在这里,希望留给有心人.共同营造一个更好的共同学习的环境. 当别人遇到困

Linux vagrant+virtualbox环境搭建步骤

Linux vagrant+virtualbox环境搭建步骤 Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用. 我们可以通过 Vagrant 封装一个 Linux 的开发环境,分发给团队成员.成员可以在自己喜欢的桌面系统(Mac/Windows/Linux)上开发程序,代码却能统一在封装好的环境里运行,非常霸气. 1. 安装 VirtualBox 虚拟机还是得依靠 VirtualBox 来搭建,免费小巧.虽然 Va

Linux Android 开发环境搭建

由于Android本身就是linux,为了避免各种不必要的坑,所以在linux下开发Android.当然不熟悉 linux 的,选择 windows 开发也是一样,没有任何问题,个人习惯就好.说一下我的开发环境, ubuntu 14.04(这个是最新的STL),  JDK 1.7.0. 首先是 jdk 的安装, 这个在网上有很多的 blog 可以参看,就不累术了,选择对应版本的就行,记住配置好环境变量.然后是 Android SDK 的安装.在官网上推荐的是新手选择安装 ADT Bundle 版