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:
                   \\\\\\\\\\\\\\\\\\\//////////////

一. 获取目录的读写权限:
    1. 嵌入式重新挂根目录
        mount -o rw -o remount /dev/block/actb /
    2. 嵌入式重新挂载/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 

三. 查看网络方法:
    1. netcfg
    2. busybox ifconfig

四. 配置网络方法:
    1. ifconfig eth0 192.168.1.1
    2. busybox ifconfig eth0 192.168.1.1/24

五. dhcp的配置方法:
    1. netcfg eth0 up
    2. netcfg eth0 dhcp 

六. boot.img pack unpack:
    1. 下载工具:[TOOL] Boot.img tools [unpack, repack, ramdisk]
        http://forum.xda-developers.com/showthread.php?t=2319018
    2. 看1中网站对工具的描述说明、使用说明
    3. 封装一个repack工具:
        cat repack << EOF
        #!/bin/sh

        echo "begin to repacking boot.img"

        KERNEL=boot/boot.img-kernel
        RAMDISK=boot/new-ramdisk.cpio.gz
        PAGESIZE=2048
        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 0
        fi

        if [ ! -f $KERNEL ] ; then
            echo "    \nCan't find the boot/boot.img-kernel file.\n "
            exit 0
        fi

        if [ ! -d boot/ramdisk ] ; then
            echo "    \nCan't find the  boot/ramdisk directory.\n "
            exit 0
        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
    4. 如果我们是使用虚拟机和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:
    1. 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 <目标路径>
    2. 可以考虑做同样的事,写个脚本,让电脑代劳拷贝之类的工作

 

时间: 2024-10-16 05:29:48

I.MX6 working note for high efficiency的相关文章

I.MX6 Android stlport 使用

/****************************************************************** * I.MX6 Android stlport 使用 * 说明: * 在移植JNI过程中使用了C++ stlport lib,而在Android源码中编译 * 和在NDK中使用,其配置方式是不一样. * * 2016-8-11 深圳 南山平山村 曾剑锋 *******************************************************

I.MX6 Manufacturing Tool V2 (MFGTool2) Update Command List (UCL) User Guide translate

  Manufacturing Tool V2 (MFGTool2)  Update Command List (UCL) User Guide     Contents(目录) Contents(目录)                                                        1 1 Overview(概述)                                                      2 2 UTP mode operation

I.MX6 linux kernel编译错误处理

/******************************************************************************** * I.MX6 linux kernel编译错误处理 * 声明: * 本文仅仅是对I.MX6的linux内核编译出错,记录其对应的处理方法. * * 2015-10-15 晴 深圳 南山平山村 曾剑锋 *******************************************************************

I.MX6 AR8031 寄存器操作

/*************************************************************************** * I.MX6 AR8031 寄存器操作 * 说明: * 解读一下AR8031这颗PHY的寄存器要如何操作,了解PHY的MDIO是如何操作的. * * 2017-4-12 深圳 龙华民治樟坑村 曾剑锋 ************************************************************************

I.MX6 Android can-utils 移植

/******************************************************************* * I.MX6 Android can-utils 移植 * 说明: * 由于最近要用到CAN,于是先移植一下can-tuils来看一下情况. * * 2016-8-1 深圳 南山平山村 曾剑锋 ******************************************************************/ 一.获取源码: https:/

I.MX6 Android shutdown shell command

/******************************************************************************* * I.MX6 Android shutdown shell command * 说明: * 想在I.MX6上执行shell关机命令,不过效果貌似不是很好,开关键多按两下又亮了. * * 2016-7-25 深圳 南山平山村 曾剑锋 ****************************************************

I.MX6 PLL5 clock hakcing

/************************************************************************** * I.MX6 PLL5 clock hakcing * 说明: * 由于需要调整I.MX6的PLL5工作clock,所以需要了解I.MX6的PLL5 clock设置 * 细节. * * 2016-7-12 深圳 南山平山村 曾剑锋 *********************************************************

I.MX6 Android 移除 Settings wifi功能

/********************************************************************* * I.MX6 Android 移除 Settings wifi功能 * 说明: * 本文主要记录如何修改Android Settings中的主选项,初衷是有些 * 设置并不是我们需要,隐藏掉还是比较好的. * * 2016-3-5 深圳 南山平山村 曾剑锋 *************************************************

I.MX6 Ethernet UI patch failed

/*********************************************************************** * I.MX6 Ethernet UI patch failed * 说明: * 最近想要在I.MX6的Android上添加Ethernet UI界面,但是使用NXP提供的 * patch,结果失败了. * * 2016-4-21 深圳 南山平山村 曾剑锋 ************************************************