arm手机刷linux,arm-从0开始刷机(linux下)
环境
开发板:九鼎s5pv210_3s
部分资料来源于九鼎科技官方与朱有鹏老师课件资料
1.操作系统:deepin 5.3.15
2.代码编辑器:Visual Studio Code
3.交叉编译工具链安装
版本:arm-2009q3.tar.bz2
方法:
sudo tar -jxvf 文件名
#即可解压到当前文件夹
复制到:/usr/local/arm
工具链的使用目录为:/usr/local/arm/arm-2009q3/bin
在上述目录创建链接脚本
ln arm-none-linux-gnueabi-addr2line -s arm-linux-addr2line
ln arm-none-linux-gnueabi-ar -s arm-linux-ar
ln arm-none-linux-gnueabi-as -s arm-linux-as
ln arm-none-linux-gnueabi-c++ -s arm-linux-c++
ln arm-none-linux-gnueabi-c++filt -s arm-linux-c++filt
ln arm-none-linux-gnueabi-cpp -s arm-linux-cpp
ln arm-none-linux-gnueabi-g++ -s arm-linux-g++
ln arm-none-linux-gnueabi-gcc -s arm-linux-gcc
ln arm-none-linux-gnueabi-gcc-4.4.1 -s arm-linux-gcc-4.4.1
ln arm-none-linux-gnueabi-gcov -s arm-linux-gcov
ln arm-none-linux-gnueabi-gdb -s arm-linux-gdb
ln arm-none-linux-gnueabi-gdbtui -s arm-linux-gdbtui
ln arm-none-linux-gnueabi-gprof -s arm-linux-gprof
ln arm-none-linux-gnueabi-ld -s arm-linux-ld
ln arm-none-linux-gnueabi-nm -s arm-linux-nm
ln arm-none-linux-gnueabi-objcopy -s arm-linux-objcopy
ln arm-none-linux-gnueabi-objdump -s arm-linux-objdump
ln arm-none-linux-gnueabi-ranlib -s arm-linux-ranlib
ln arm-none-linux-gnueabi-readelf -s arm-linux-readelf
ln arm-none-linux-gnueabi-size -s arm-linux-size
ln arm-none-linux-gnueabi-sprite -s arm-linux-sprite
ln arm-none-linux-gnueabi-strings -s arm-linux-strings
ln arm-none-linux-gnueabi-strip -s arm-linux-strip
执行脚本,注意权限(此时就创建好了符号链接)
添加环境变量:
#在当前终端下导出,关闭终端无效
export PATH=/usr/local/arm/arm-2009q3/bin:$PATH
#~/.bashrc中,添加,仅当前用户有效
export PATH=/usr/local/arm/arm-2009q3/bin:$PATH
#所有用户永久添加环境变量:
编辑/etc/profile文件 vim /etc/profile <
文件末尾添加:
export PATH="/目录/:$PATH"
shell执行 `source /etc/profile`没有错误则添加成功
交叉编译工具链安装完成
4.安装minicom
minicom是用来做串口通信的
#可以先搜索一下
#sudo apt search xxx软件
sudo apt install xxx软件
安装好了进行配置:
sudo minicom -s
配置传口(看具体情况)/dev/ttyUSB0
注意要关闭流控,否则电脑按键无反应
需要安装CH340驱动—》》 OK传送门
sudo apt-get install linux-headers-$(uname -r)
编译、烧写UBOOT
UBOOT文件详解与配置—》》传送门
UBOOT移植------------------》》传送门
编译uboot
uboot来源:开发板资料t_x210v3s_160307.tar里的uboot文件
配置生成
make x210_sd_config
#得到Configuring for x210_sd board...表示配置成功
编译:直接make
生成了文件:
uboot
uboot.bin
擦除开发板iNand中的uboot的方法(使用串口,如果需要)
在linux和android系统下,擦除uboot的方法:
busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync
sync
在uboot底下如何擦除uboot:movi write u-boot [一个没用的内存地址,如0x30000000]
linux下sd卡下载uboot
(linux下也可以DNW刷机使用usb下载)
首先插上sd卡,确认路径
ls /dev/
查看多了哪个设备
我这里是mmcblk0和mmcblk0p1
运行烧写脚本如nand_fusing.sh
sudo ./nand_fusing.sh /dev/mmcblk0
#nand_fusing.sh
# Copyright (C) 2010 Samsung Electronics Co., Ltd.
# http://www.samsung.com/
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
####################################
reader_type1="/dev/sdb"
reader_type2="/dev/mmcblk0"
if [ -z $1 ]
then
echo "usage: ./nand_fusing.sh "
exit 0
fi
if [ $1 = $reader_type1 ]
then
partition1="$11"
partition2="$12"
partition3="$13"
partition4="$14"
elif [ $1 = $reader_type2 ]
then
partition1="$1p1"
partition2="$1p2"
partition3="$1p3"
partition4="$1p4"
else
echo "Unsupported SD reader"
exit 0
fi
if [ -b $1 ]SD Reader's device file
then
echo "$1 reader is identified."
else
echo "$1 is NOT identified."
exit 0
fi
####################################
# make partition
echo "make sd card partition"
echo "./sd_fdisk $1"
./sd_fdisk $1
dd iflag=dsync oflag=dsync if=sd_mbr.dat of=$1
rm sd_mbr.dat
####################################
# format
umount $partition1 2> /dev/null
umount $partition2 2> /dev/null
umount $partition3 2> /dev/null
umount $partition4 2> /dev/null
echo "mkfs.vfat -F 32 $partition1"
mkfs.vfat -F 32 $partition1
#echo "mkfs.ext2 $partition2"
#mkfs.ext2 $partition2
#echo "mkfs.ext2 $partition3"
#mkfs.ext2 $partition3
#echo "mkfs.ext2 $partition4"
#mkfs.ext2 $partition4
####################################
# mount
#umount /media/sd 2> /dev/null
#mkdir -p /media/sd
#echo "mount -t vfat $partition1 /media/sd"
#mount -t vfat $partition1 /media/sd
####################################
#
bl1_position=1
uboot_position=49
echo "BL1 fusing"
./mkbl1 ./uboot.bin SD-bl1-8k.bin 8192
dd iflag=dsync oflag=dsync if=SD-bl1-8k.bin of=$1 seek=$bl1_position
rm SD-bl1-8k.bin
####################################
#
echo "u-boot fusing"
dd iflag=dsync oflag=dsync if=./uboot.bin of=$1 seek=$uboot_position
####################################
#
echo "U-boot image is fused successfully."
echo "Eject SD card and insert it again."
以上应有具体分析----》》占位
最关键的烧写脚本
#!/bin/sh
sudo dd iflag=dsync oflag=dsync if=烧写镜像名 of=/dev/sdb seek=1
uboot启动后一定要先执行一次fdisk -c 0 进行分区
uboot中要设置bootcmd和bootargs给内核传参
set bootcmd ‘movi read kernel 30008000;bootm 30008000’
set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3
save进行保存
刷机
uboot设置完成并正常启动后,可以用fastboot进行刷机
#linux先安裝 android-libadb
sudo apt install android-libadb
#进行安装fastboot
sudo apt install fastboot
连接好usb(win下要安装驱动)
uboot下输入fastboot命令
#查看连接的设备
fastboot devices
#SMDKC110-01fastboot
#烧录命令
fastboot flash xxx
#重启设备
fastboot reboot
烧写以下文件
#烧写uboot,分区可在uboot下看到
fastboot flash bootloader 烧写镜像pathname
#烧写内核
fastboot flash kernel 烧写镜像pathname
#烧写系统
fastboot flash system 烧写镜像pathname
执行fastboot reboot重启
arm手机刷linux,arm-从0开始刷机(linux下)相关推荐
- 红旗linux 操作系统,红旗Linux操作系统9.0官方下载-红旗Linux操作系统9.0正式版(基于c语言)免费版 - 维维软件园...
说到操作系统相信大家首先想到的是微软的吧,而今天要给大家分享下载的是红旗Linux操作系统9.0官方正式版,该版本是最近发布的全新版本的红旗Linux系统,该操作系统是基于专业的c语言编写,并且它还拥 ...
- 刷原生android 8.0,怎样刷入安卓原生系统 小米古董机刷完安卓8.0健步如飞!感觉比MIUI9还快...
原标题:小米古董机刷完安卓8.0健步如飞!感觉比MIUI9还快 小米2S算是小米手机史上的一代神机,雷布斯当年主持发布会时,更是激动说出了"小米2S性能屌爆了"的经典语句.怎样刷入 ...
- linux firefox 10.0.12字体模糊,centos下字体模糊,firefox字体模糊解决方法
scim输入法是我们经常使用的一种输入法,而firefox字体也是同样如此,而在CentOS系统中如何scim输入法设置和firefox字体修改呢?下面我们就来解决这2个问题. CentOS系统sci ...
- linux使用ping命令ping本机,Linux下使用ping命令判断网络的好坏
简介 在Linux系统里面如果想判断网络的好坏,脑海中蹦出的第一个命令就是ping了. ping命令基本是最常用的网络命令,它可以用来测试与目标主机的连通性. ping通过发送ICMP ECHO_RE ...
- 如何在Ubuntu/CentOS上安装Linux内核4.0
如何在Ubuntu/CentOS上安装Linux内核4.0 大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为'Hurr durr I'm a sheep'的 ...
- 用Docker跑Android系统,在x86电脑玩ARM手机游戏
ReDroid (Remote anDroid) 是自架「云手机」的方案,透过docker在电脑上跑Android系统容器,再利用Scrcpy的镜射萤幕功能连线到Android桌面. ReDroid也 ...
- 应聘linux/ARM嵌入式开发岗位
**************************************************************** 因为发在中华英才和智联招聘没有人采我所以我 在这里发布我的个人简历希望 ...
- 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD.ARM.x86.x86_64.pcc 文章目录: 1 ...
- arm linux 内核启动,Linux(ARM)内核启动地址
最近在网上看到一位网友写得一篇文章,写得很好,加深了对Linux启动的认识,特意贴在这里: 内核编译链接过程是依靠vmlinux.lds文件,以arm为例vmlinux.lds文件位于kernel/a ...
最新文章
- 本机安装PaddlePaddle - 安装指南
- Leetcode224 基本加减计算器-双栈和状态转换
- 甘特图 知乎_安利!拥有这5款甘特图工具,项目管理、生产排程轻松搞定!
- 正确使用cookie中的domain
- 前端渲染引擎doT.js解析
- 如何基于云通讯构建企业移动信息化竞争力
- SVM + HOG实现图像分类
- ctf 实验吧 围在栅栏中的爱 (最近一直在好奇一个问题,QWE到底等不等于ABC? )
- 用移动硬盘安装linux系统教程,利用移动硬盘安装centos
- 分门别类刷leetcode——贪心算法(C++实现)
- 【转】未能加载文件或程序集“XXX”或它的某一个依赖项。试图加载格式不正确的程序。...
- Ubuntu 10.04环境下载编译Android-2.2.1 (froyo) 源代码 1/2
- Python语句十大优雅写法
- 微信公众平台自定义菜单
- 软工实践 第三次作业 结对作业一
- 大学生IT博客大赛 大赛评委
- python链接hbase模块_利用python访问Hbase(Thrift模块安装与测试)
- Flash 游戏 大富翁 黄金矿工 台球
- 计算机二级培训 策划,计算机二级培训策划书.doc
- 我们为什么需要论坛?