U-Boot

Error while unmounting mmcblk1p1 on beaglebone black - during repartitioning and formatting

久未见 提交于 2019-12-25 19:09:48
问题 Hi I'm a newbie of embeded linux. I'm following this tutorial (https://e2e.ti.com/support/embedded/linux/f/354/t/398780?Script-to-Erase-Emmc-independently-Beagle-Bone-Black) for flashing my linux system to beaglebone eMMC. But I have an error: umount: can't umount /dev/mmcblk1p1: Invalid argument This is my cmd : Disk /dev/mmcblk1: 3825 MB, 3825205248 bytes 4 heads, 16 sectors/track, 116736 cylinders Units = cylinders of 64 * 512 = 32768 bytes Device Boot Start End Blocks Id System /dev

UBI layout volume not found

落花浮王杯 提交于 2019-12-25 01:44:34
问题 I am following Bootlin's embedded Linux training which aims to put an embedded Linux system on an Atmel SAMA5D4 Xplained board (theory slides, practical lab instructions) and I am stuck a putting the whole system on the NAND flash. They ask me to put the DTB, the kernel, the root filesystem and a data filesystem in a UBI image to be written to the flash but I cannot access the UBI partitions once I flashed it (the access fails with error code 22, or -22 in an embedded Linux environment).

U-Boot移植(9)u-boot主要的数据结构

送分小仙女□ 提交于 2019-12-24 14:17:29
u-boot的主要功能是用于引导OS的,但是本身也提供许多强大的功能,可以通过输入命令行来完成许多操作。所以它本身也是一个很完备的系统。u-boot的大部分操作都是围绕它自身的数据结构,这些数据结构是通用的,但是不同的板子初始化这些数据就不一样了。所以u-boot的通用代码是依赖于这些重要的数据结构的。这里说的数据结构其实就是一些全局变量。  1)gd 全局数据变量指针,它保存了u-boot运行需要的全局数据,类型定义:  typedef struct global_da ta { bd_t *bd; //board da ta pointor板子数据指针 unsigned long flags;  //指示标志,如设备已经初始化标志等。 unsigned long baudrate; //串口波特率 unsigned long have_console; /* 串口初始化标志*/ unsigned long reloc_off; /* 重定位偏移,就是实际定向的位置与编译连接时指定的位置之差,一般为0 */ unsigned long env_addr; /* 环境参数地址*/ unsigned long env_valid; /* 环境参数CRC检验有效标志 */ unsigned long fb_base; /* base address of frame buffer */

u-boot flash emmc ttl serial

泄露秘密 提交于 2019-12-24 12:54:59
问题 I used to update firmware on embedded system through tools like tftp (with ethernet port or ethernet over usb), sd card or a simple usb stick. I am currently working on a system without ethernet port, no usb port. Only a ttl/usb connexion to be able to access the console and a micro usb to supply it. I am currently building a linux image and a rootfs. The storage used on the board is emmc. Is there a standard way to update linux/rootfs in Emmc, etc.. with u-boot by using a simple ttl/usb

zynq基础-->linux下软件应用

大憨熊 提交于 2019-12-24 03:53:51
操作系统:Ubuntu 16.04 LTS 应用软件:Vivado 2016.2 + petalinux 2016.2 参考官方应用手册:ug1144-petalinux-tools-reference-guide.pdf 1、软件安装 1.1 基础软件安装 在安装应用软件前,需要为zynq开发环境安装必要的基础软件,在手册11页已经明确标明。 注意: tftp软件使用tftp-hpa,如下所示: #1、安装 sudo apt-get install tftp-hpa tftpd-hpa #2、建立目录 sudo mkdir /tftpboot sudo chmod 777 /tftpboot #3、配置 sudo vim /etc/default/tftpd-hpa #修改以下两项 TFTP_DIRECTORY="/tftpboot" TFTP_OPTIONS="-l -c -s" #4、启动 sudo service tftpd-hpa restart 在此基础上,为了启动eclipse需要安装java开发环境和支持库: sudo apt-get install openjdk-8-jre sudo apt-get install lib32z1 sudo apt-get install lib32ncurses5 sudo apt-get install lib32bz2-1

由zImage生成uImage

帅比萌擦擦* 提交于 2019-12-24 03:52:57
一、手动使用mkimage命令 mkimage -A arm -O linux -T kernel -C none -a 30007fc0 -e 30007fc0 -n uImage -d /work/jz2440/kernel/linux-2.6.22.6/arch/arm/boot/zImage uImage 我的内核目录:/work/jz2440/kernel/linux-2.6.22.6 我的tftpboot:/work/tftpboot uboot——bootm地址: 30007fc0 U-boot mkimage指定Linux内核地址时的两种方式 http://blog.csdn.net/embededswordman/article/details/6704197 uImage的制作是使用的u-boot工具mkimage,build完u-boot后也会将mkimage build出來到/tools目录下,可以直接拿來用,它的作用就是在zImage的前面加上64个字节的头,让u-boot能够识别要加载内核的类型、加载地址等。 基本格式:mkimage -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image -A 指定CPU的体系结构:(u

What is a structure of u-boot flash file? ( ARM versatile pb )

戏子无情 提交于 2019-12-23 23:21:05
问题 I'm working on creating file that I can load with -kernel option of qemu. I mostly mind here u-boot config file that I have found information should be placed somewhere in file. That file have to contain u-boot binary, freebsd kernel and RTOS to run ( so i can choose which kernel to load or do some experimental developement in loading 2 OS at same time - eg. FreeBSD is loaded by u-boot and then FreeBSD loads FreeRTOS on 2nd core - so called ASMP ). It seems there is no tools around to do that

Linux嵌入式日记之-uboot中常用命令

荒凉一梦 提交于 2019-12-23 14:46:09
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 嘿,大家好,法师来啦~大家有没发现微信公众号大变样呢,对,在法师没有更新的这几天,我们漂亮又美腻的美工小姐姐给维修公众号完成了大装修,对之前的文章进行了一个分类整理,增加新的功能....... 等等。看着装修的这么漂亮的公众号,必须要更新文章了是不是~今天我们一起来看一下uboot中的常用命令。 讲uboot常用命令之前,我们先来引入一下bootloader的概念,那什么是bootloader呢?简单来说,bootloader就是一小段程序,一小段引导程序,从系统上电就开始执行,初始化硬件并准备软件环境,最终调用系统内核,这个就是bootloader。而我们说的uboot就包含在bootloader概念里面,是bootloader的一个子集。 了解了这个概念之后,我们进到开发板的uboot模式下,也就是uboot的控制界面,我们在这里可以运行很多命令。用各种命令时,只要命令开头的若干个字母来代替他,比如fastboot,可以使用fas来代替,只要其他命令不以这些命令开头即可。 下面介绍常用的命令: <1>帮助命令help、? 我们可以使用help或者?查看uboot里面支持的所有命令,也可以查看一些命令的具体作用。 比如我们直接使用?来查看uboot所支持的命令和命令的作用。如下图 所示: 输入?echo

嵌入式行业知识结构导航

拈花ヽ惹草 提交于 2019-12-23 09:29:32
第一部分:Linux平台搭建与环境熟悉 了解linux系统;区分各种版本的Linux系统,以便于拓展 Linux视野。 1、Linux 简介; 2、Linux 系统的主要特点; 3、Linux 的组成; 4、主要的 Linux 版本; 5、嵌入式 Linux简介与发展 第二部分:虚拟机安装和LINUX系统安装 1、虚拟机安装; 2、Linux系统的安装; 3、Linux系统的常用软件的安装; 4、Linux快速入门 5、 熟悉运用 Linux环境下,常用命令的操作与系统设置,如常用的 Shell;掌握基本的Shell 应用 第三部分:嵌入式LINUX环境搭建 1、 建立嵌入式 Linux开发环境 2、 熟悉嵌入式开发平台 3、 嵌入式 Linux开发工具 4、 Linux下的调试技巧 5、 MAKE工程管理器 6、 硬件环境的搭建;arm-linux-gcc与 gcc安装配置 第四部分:U-Boot 了解 U-Boot 的作用及工作流程;了解Bootloader 的代码结构、编译过程;移植U-Boot;掌握常用的U-Boot命令。 1、 Bootloader介绍 2、 u-boot工程介绍 3、 u-boot的编译使用 4、 u-boot源码分析 5、 u-boot资源分配 6、 配置编译u-boot 7、 u-boot移植过程 8、 u-boot常用命令操作 9、 添加u

Trying to understand the usage of function pointer

走远了吗. 提交于 2019-12-23 04:05:40
问题 This is the function in u-boot's bootm.c from where the kernel is launched: /* Subcommand: GO */ static void boot_jump_linux(bootm_headers_t *images, int flag) { #ifdef CONFIG_ARM64 void (*kernel_entry)(void *fdt_addr); int fake = (flag & BOOTM_STATE_OS_FAKE_GO); kernel_entry = (void (*)(void *fdt_addr))images->ep; debug("## Transferring control to Linux (at address %lx)...\n", (ulong) kernel_entry); bootstage_mark(BOOTSTAGE_ID_RUN_OS); announce_and_cleanup(fake); if (!fake) kernel_entry