Beagle X15 版本制作和烧录
作为一大硬件开源组织中的一员,Beagle X15以他的强悍的性能在工业界有着广泛的应用,最近在做一个项目中
要用到它,就做了一些这方便的研究,发现里面还有不少坑要踩的,梳理一下踩到的坑,为后续做个积累吧。
基本链接:
- Running a recent release of Debian, Fedora or Ubuntu; without OS Virtualization Software.
- ARM Cross Compiler – Linaro: http://www.linaro.org
- Linaro Toolchain Binaries: http://www.linaro.org/downloads/
- Bootloader
- Das U-Boot – the Universal Boot Loader: http://www.denx.de/wiki/U-Boot
- Source: http://git.denx.de/?p=u-boot.git;a=summary
- Linux Kernel
- Linus's Mainline tree: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
- ARM based rootfs
- Debian: https://www.debian.org
- Ubuntu: http://www.ubuntu.com
ARM交叉编译器的安装:
这里是个64bit的linux平台上安装的预编译版本,具体步骤如下所示:
wget -c https://releases.linaro.org/components/toolchain/binaries/6.4-2017.11/arm-linux-gnueabihf/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz tar xf gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz export CC=`pwd`/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
测试交叉编译器:
${CC}gcc --version arm-linux-gnueabihf-gcc (Linaro GCC 6.4-2017.11) 6.4.1 20171012 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
BootLoader U-Boot下载和安装:
eewiki.net patch archive: https://github.com/eewiki/u-boot-patches
git clone https://github.com/u-boot/u-boot cd u-boot/ git checkout v2017.01 -b tmp
打patch:
git pull --no-edit git://git.ti.com/ti-u-boot/ti-u-boot.git ti-u-boot-2017.01 git checkout 590c7d7fe15d06a4d708403d3234bcd01cd039e1wget -c https://rcn-ee.com/repos/git/u-boot-patches/ti-2017.01/0001-beagle_x15-uEnv.txt-bootz-n-fixes.patch patch -p1 < 0001-beagle_x15-uEnv.txt-bootz-n-fixes.patch
配置和编译:
make ARCH=arm CROSS_COMPILE=${CC} distclean make ARCH=arm CROSS_COMPILE=${CC} am57xx_evm_defconfig make ARCH=arm CROSS_COMPILE=${CC}
编辑和下载kernel:
作这个脚本来编译内核,模块和设备数并把他们拷贝到delay目录:
~/ git clone https://github.com/RobertCNelson/ti-linux-kernel-dev.git cd ti-linux-kernel-dev/ For TI v4.9.x:~/ti-linux-kernel-dev/ git checkout origin/ti-linux-4.9.y -b tmp ~/ti-linux-kernel-dev/ ./build_kernel.sh
根文件系统
debian 9 用户名:debian 密码:temppwd
根用户:root 密码:root
下载:
wget -c https://rcn-ee.com/rootfs/eewiki/minfs/debian-9.3-minimal-armhf-2017-12-09.tar.xz
校验:
sha256sum debian-9.3-minimal-armhf-2017-12-09.tar.xz 5120fcfb8ff8af013737fae52dc0a7ecc2f52563a9aa8f5aa288aff0f3943d61 debian-9.3-minimal-armhf-2017-12-09.tar.xz
解压缩:
tar xf debian-9.3-minimal-armhf-2017-12-09.tar.xz
设置SD并安装驱动:
这里假设sd卡的盘符是/dev/sdb 可以使用export = /dev/sdb 这个每个设备都不一样,可以通过lsblk来查找。
export DISK=/dev/sdb
擦除SD卡的符号表:
sudo dd if=/dev/zero of=${DISK} bs=1M count=10
安装bootloader
sudo dd if=./u-boot/MLO of=${DISK} count=2 seek=1 bs=128k sudo dd if=./u-boot/u-boot.img of=${DISK} count=4 seek=1 bs=384k
创建分区布局:
sudo sfdisk ${DISK} <<-__EOF__ 4M,,L,* __EOF__
格式化盘符:
sudo mkfs.ext4 -L rootfs ${DISK}1
mount系统:
sudo mkdir -p /media/rootfs/for: DISK=/dev/sdX sudo mount ${DISK}1 /media/rootfs/
安装kernel和root file system:
这里首先要导出内核版本号,可以通过在前面编译好的ti-linux-kernel-dev/deploy目录下查看内核版本号,我的
是:4.9.83-ti-r104 导出内核符号表:
export kernel_version=4.9.83-ti-r104
拷贝根目录:
sudo tar xfvp ./*-*-*-armhf-*/armhf-rootfs-*.tar -C /media/rootfs/ sync sudo chown root:root /media/rootfs/ sudo chmod 755 /media/rootfs/
设置名字和启动项在 /boot/uEnv.txt中:
sudo sh -c "echo 'uname_r=${kernel_version}' >> /media/rootfs/boot/uEnv.txt"
sudo sh -c "echo 'fdtfile=am57xx-beagle-x15.dtb' > /media/rootfs/boot/uEnv.txt"
启用systemd:
sudo sh -c "echo 'cmdline=quiet init=/lib/systemd/systemd' >> /media/rootfs/boot/uEnv.txt"
复制内核文件:
sudo cp -v ./ti-linux-kernel-dev/deploy/${kernel_version}.zImage /media/rootfs/boot/vmlinuz-${kernel_version}
拷贝内核设备数:
sudo mkdir -p /media/rootfs/boot/dtbs/${kernel_version}/ sudo tar xfv ./ti-linux-kernel-dev/deploy/${kernel_version}-dtbs.tar.gz -C /media/rootfs/boot/dtbs/${kernel_version}/
拷贝内核模块:
sudo tar xfv ./ti-linux-kernel-dev/deploy/${kernel_version}-modules.tar.gz -C /media/rootfs/
拷贝文件系统列表:
sudo sh -c "echo '/dev/mmcblk0p1 / auto errors=remount-ro 0 1' >> /media/rootfs/etc/fstab"
移除SD卡:
sync sudo umount /media/rootfs
把sd卡放入系统启动即可。
参考目录:
https://eewiki.net/display/linuxonarm/BeagleBone+Black
https://eewiki.net/display/linuxonarm/BeagleBoard-X15
http://blog.csdn.net/liangzhenliang/article/details/41947481
转载于:https://www.cnblogs.com/dylancao/p/8608138.html
Beagle X15 版本制作和烧录相关推荐
- 如何根据指定软件版本制作属于自己的puppet yum源
如何根据版本制作属于自己的puppet yum源 童鞋们在使用puppetlabs yum源安装puppet的时候,会被选则最新版的puppet版本进行安装,而在我们正在的生产环境的时候,并不需要最新 ...
- WinImage 8.5版本制作任意容量的ima或img磁盘文件
转载: https://blog.csdn.net/zm2714/article/details/7962794 本篇文章介绍WinImage 8.5版本制作任意容量的ima或img磁盘文件. 一.计 ...
- Android ROM的制作与烧录
Android编译生成的三个镜像文件 Android源码编译后,在out/target/product/generic下生成的三个镜像文件:ramdisk.img,system.img,userdat ...
- linux烧录文件的格式,制作emmc 烧录文件
量产需要统一使用烧录器烧录, 需要制作统一的 emmc 烧录文件,主要升级步骤如下: 工具: ISP tool; winhex ; checksum , mboottnize ; U盘(大于主板 EM ...
- 完全纯净的Windows 7 x86x64全版本制作
我喜欢收集原版的东西,就像Windows 7的安装盘,最好最纯净的版本其实就是MSDN发布的版本,网上其它版本都是根据这个版本改的,或多或少加入了些东西,但如果要刻盘的话,推荐还是刻MSDN的版本,因 ...
- 格式化SD卡工具e2fsprogs嵌入式版本制作
1. 下载源码包e2fsprogs,本人下载的版本是1.44.1: http://sourceforge.net/projects/e2fsprogs/ 2. 解压源码包到某个目录,本人的是:/roo ...
- IMX6ULL---SD卡制作与烧录步骤(重要)
目录 1.imxdownload 2.制作烧录SD卡 2.1 SD卡分区 2.2 拷贝uboot到SD卡 2.3 拷贝kernel和dtbs到SD卡
- Unity NGUI 3.0.4版本 制作网络版斗地主
Unity NGUI 3.0.4版本 @by 灰太龙 开发环境 Win7旗舰版 Unity 4.2.1f4 本文就写个开门篇,告诉大家怎么用NGUI,第一步导入NGUI 3.0.4版本! 1.启动U ...
- java在线聊天项目0.4版本 制作服务端接收连接,客户端连接功能 新增客户端窗口打开时光标指向下边文本域功能,使用WindowListener监听WindowAdapter...
建一个服务端类ChatServer,用于设置端口接收连接 package com.swift;import java.io.IOException; import java.net.ServerSoc ...
最新文章
- 折腾Java设计模式之建造者模式
- Leetcode199二叉树右视图[C++题解]:BFS+层数
- ab flash player 8_ROM、RAM、DRAM、SRAM和FLASH的区别是什么?
- html5 canvas获取坐标系,HTML5 Canvas坐标变换
- Nginx的rewrite之rewrite指令
- mysql获取多张表中的数据_mysql 之多表查询
- Oracle 10g新特性
- 米斯特白帽培训讲义 漏洞篇 逻辑漏洞
- php简单的登录界面,PHP实现简单用户登录界面
- 从最新的ACL、NAACL和EMNLP中详解知识增强的语言预训练模型
- day20,日志和正则表达式
- 让UITableView数据处理更轻便
- c编程语言学习软件,用什么软件学习c语言
- Dynamic Memory Tensor Networks笔记
- Windows7 内部版本7601 此Windows副本不是正版解决办法
- 微分方程数值解 matlab,本学期微分方程数值解课程总结(matlab代码)
- 图像的二阶导数为何对噪声尤为敏感-----图像二阶导数的本质
- Javascript中LenB的计算(ASP)
- 磁条卡磁道2的等效数据
- 在DW中实现鼠标移入字体变色
热门文章
- 我的python3.0 + RIDE搭建之路 ---全是血泪史
- 复利单利计算的源代码
- 044_Unicode对照表十
- 在一起计时器_没想到吧?快手竟然给厕所上安装了计时器,或许职场从此再无带薪拉屎...
- Mac外接键盘ikbc win键无法使用问题
- 神经网络与深度学习(邱锡鹏)
- Linux网卡模块,裁剪Linux并实现网卡模块的安装(附有命令移植的脚本)
- 我的爱好作文玩计算机800,我的爱好作文800字
- iOS 自定义转场动画篇
- 深度学习与自然语言处理教程(4) - 句法分析与依存解析(NLP通关指南·完结)