I.MX6 working note for high efficiency
/****************************************************************************
* I.MX6 working note for high efficiency
*
* 主要是将在I.MX6 Android工作中的用到的特殊需求用法的记录,并对boot.img
* 分解、合成进行了说明,另外增加了一个shell脚本自动完成boot.img合成与拷贝。
*
* 深圳 南山平山村 晴 2015/05/13 周三 曾剑锋
***************************************************************************/ \\\\\\\\\\\-*- 目录 -*-///////////
| 一. 获取目录的读写权限:
| 二. vi编辑器:
| 三. 查看网络方法:
| 四. 配置网络方法:
| 五. dhcp的配置方法:
| 六. boot.img pack unpack:
| 七. system.img pack unpack:
\\\\\\\\\\\\\\\\\\\////////////// 一. 获取目录的读写权限:
. 嵌入式重新挂根目录
mount -o rw -o remount /dev/block/actb /
. 嵌入式重新挂载/system
mount -o remount /dev/block/mtdblock2 /system
3. Ubuntu脚本挂载
echo "aplex" | sudo -S mount -t ext4 system.img yaffs
4. Ubuntu脚本卸载
echo "aplex" | sudo umount yaffs
二. vi编辑器:
busybox vi 三. 查看网络方法:
. netcfg
. busybox ifconfig 四. 配置网络方法:
. ifconfig eth0 192.168.1.1
. busybox ifconfig eth0 192.168.1.1/ 五. dhcp的配置方法:
. netcfg eth0 up
. netcfg eth0 dhcp 六. boot.img pack unpack:
. 下载工具:[TOOL] Boot.img tools [unpack, repack, ramdisk]
http://forum.xda-developers.com/showthread.php?t=2319018
. 看1中网站对工具的描述说明、使用说明
. 封装一个repack工具:
cat repack << EOF
#!/bin/sh echo "begin to repacking boot.img" KERNEL=boot/boot.img-kernel
RAMDISK=boot/new-ramdisk.cpio.gz
PAGESIZE=
BASE=0x10800000
RAMDISKADDR=0x11800000
CMDLINE="console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:off video=mxcfb2:off fbmem=10M fb0base=0x27b00000 vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale" out=${out:-"/home/myzr/myandroid/out/target/product/sabresd_6dq"}
# 检查必要的文件或者文件夹
if [ ! -f $RAMDISK ] ; then
echo " \nCan't find the boot/new-ramdisk.cpio.gz file.\n "
exit
fi if [ ! -f $KERNEL ] ; then
echo " \nCan't find the boot/boot.img-kernel file.\n "
exit
fi if [ ! -d boot/ramdisk ] ; then
echo " \nCan't find the boot/ramdisk directory.\n "
exit
fi ./repack_ramdisk boot/ramdisk ./mkbootimg --kernel $KERNEL --ramdisk $RAMDISK --pagesize $PAGESIZE --base $BASE --ramdiskaddr $RAMDISKADDR --cmdline "$CMDLINE" -o newboot.img echo "repacking boot.img over EOF
. 如果我们是使用虚拟机和Windows,协同工作,何不让让shell脚本帮我们再多做点事,
编译内核时,合成boot.img,并拷贝boot.img到固定的目录Windows制定目录下去:
cat remake.sh << EOF
#!/bin/sh make uImage out=${out:-"/home/myzr/myandroid/out/target/product/sabresd_6dq"}
if [ ! -d $out/bootimgTools/boot/ ]; then
mkdir $out/bootimgTools/boot -p
echo "mkdir $out/bootimgTools/boot "
fi
echo "cp arch/arm/boot/zImage $out/bootimgTools/boot/boot.img-kernel"
cp arch/arm/boot/zImage $out/bootimgTools/boot/boot.img-kernel #repack boot.img file
cd $out/bootimgTools #跳到工具所在的目录
./repack #执行上3中封装的合成脚本
echo "boot.img repacked over." #共享目录下的目录路径,本人的共享目录是PC机的桌面
WIN_PATH="MY-I.MX6DL-MFG-TOOL-V2.5/MY-I.MX6DL-MFG-TOOL-V2.5/Profiles/MX6DL Linux Update/OS Firmware/files/android" cp newboot.img "${win}/${WIN_PATH}/boot.img"
echo "move over. :)" EOF 七. system.img pack unpack:
. shell命令:file system.img
输出结果:system.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files)
由上面的结果分析可知,我们只需要挂载system.img,然后就可以直接修改其中的内容了,很幸运而已:
sudo mount -t ext4 system.img <目标路径>
. 可以考虑做同样的事,写个脚本,让电脑代劳拷贝之类的工作
I.MX6 working note for high efficiency的更多相关文章
- ROS_Kinetic_x ROS栅格地图庫 Grid Map Library
源自:https://github.com/ethz-asl/grid_map Grid Map Overview This is a C++ library with ROS interface t ...
- CRC 详解
http://www.barrgroup.com/Embedded-Systems/How-To/Additive-Checksums CRC Series, Part 1: Additive Che ...
- SLVA299A : Load Disconnect ( Input to Output Isolation ) for the TPS61040
http://www.ti.com/lit/an/slva299a/slva299a.pdf Many boost converters have an external rectifier diod ...
- [源码解析] 模型并行分布式训练 Megatron (4) --- 如何设置各种并行
[源码解析] 模型并行分布式训练 Megatron (4) --- 如何设置各种并行 目录 [源码解析] 模型并行分布式训练 Megatron (4) --- 如何设置各种并行 0x00 摘要 0x0 ...
- Design and Analysis of Algorithms_Fundamentals of the Analysis of Algorithm Efficiency
I collect and make up this pseudocode from the book: <<Introduction to the Design and Analysis ...
- I.MX6 Ethernet UI patch failed
/*********************************************************************** * I.MX6 Ethernet UI patch f ...
- I.MX6 Android U-blox miniPCI 4G porting
/************************************************************************** * I.MX6 Android U-blox m ...
- I.MX6 Goodix GT9xx touchscreen driver porting
/************************************************************************ * I.MX6 Goodix GT9xx touch ...
- I.MX6 Android 移除 Settings wifi功能
/********************************************************************* * I.MX6 Android 移除 Settings w ...
随机推荐
- CKEditor5 基本使用
1.引入 <script type="text/javascript" src="/plugin/ckeditor5/ckeditor.js">&l ...
- windows与kali双系统安装基本教程
以前写过一篇在虚拟机中安装kali的基本教程的文章,那时候的kali还是1.0时代,现如今已经kali2.0了,在虚拟机中运行kali还是会受到性能的影响,所以还是装到自己电脑上跑起来最爽.当然如果你 ...
- Struts2文件上传的大小限制问题
问题:上传大文件报错…… 解决:修改struts.xml文件中的参数如下 <constant name="struts.multipart.maxSize" value= ...
- 动态规划-最长可互除子序列 Largest Divisible Subset
2018-08-28 17:51:04 问题描述: 问题求解: 本题是一个求最优解的问题,很自然的会想到动态规划来进行解决.但是刚开始还是陷入了僵局,直到看到了hint:LIS,才有了进一步的思路.下 ...
- SQL 基础学习(2) Joining 和function , 作业没有做,需要看百宝箱。NOsql的概念
SQL 基础学习(2) Joining 可以同时关联(joining)多张表进行复杂的查询. 相比于用Rails捞出数据再用Ruby进行过滤组合,使用SQL更加高效,节能. 以下是 users has ...
- Confluence 6 从外部目录中同步数据支持的目录类型
针对一些特定的用户目录类型,Confluence 在系统的数据库中保存了目录的缓存信息(用户和用户组),这样能够让系统更快速的访问用户和用户组数据.一个数据同步的进程将会间歇性的在系统中运行来将远程的 ...
- yarn的淘宝镜像
现在有很多人使用npm但是很多人也开始使用了更快的更方便额的yarn,可是yarn也有下载速度慢,容易被墙的担忧~又不能像npm那样直接安装淘宝镜像,所以就有了更改yarn的yarn源~ yarn c ...
- SSH 不分配远程主机tty
$ host N参数,表示只连接远程主机,不打开远程shell:T参数,表示不为这个连接分配TTY.这个两个参数可以放在一起用,代表这个SSH连接只用来传数据,不执行远程操作.
- PHP:第二章——PHP中的switch语句
<?php header("Content-Type:text/html;charset=utf-8"); /* switch语句: */ //例1: /*$i = 99; ...
- CSS中的长度单位及颜色表示
CSS中的长度单位及颜色表示 长度单位: px:像素,绝对单位 em:相对单位,如果用于font-size属性本身,则是相对于父元素的font-size.若用于其他属性(width,height ...