• 4412 使用搭建好的环境编译系统


    一、运行虚拟机

    下载后,打开载入后就能运行。ubuntu的密码是:topeet

    打开中终端,设置超级用户密码:

    sudo passwd

     然后需要联网更新一下:

    su
    apt-get update
    apt-get install vim
    apt-get install ssh
    apt-get install uboot-mkimage

    1.1 安装windows工具ssh secure shell

    然后在ubuntu中ifconfig,打开软件使用quick connect:

    输入IP地址,"root"。

    这里介绍使用搭建好的编译环境编译uboot、linux3.0.15、Android4.0.3、Android4.4、QtE4.7、Qtopia

    Uboot、Kernel以及Android等编译环境看似复杂,需要抓住以下几点:

    1、Uboot、Kernel编译器,光盘中提供

    2、设置环境变量,编译的时候系统需要找到对应的环境变量

    3、Android文件系统编译器,ubuntu系统自带gcc编译器,需要降低版本。

    4、库文件,通过执行脚本安装库文件。

    具体细节,可以学习脚本熟悉搭建过程。

    uboot编译

    1)编译器是在“02_编译器以及烧写工具 ”-> "arm 交叉编译器”下的“arm-2009q3.tar.bz2

    2)打开环境变量配置文件命令: "vim .bashrc"

    修改完之后更新环境变量命令: "source .bashrc"

    export PATH=$PATH:/usr/local/arm/arm-2009q3/bin

     3)编译uboot的脚本是源码文件夹中的"build_uboot.sh",根据硬件不同,脚本参数也有所不同:

    总结:根据不同的硬件选择不同的uboot编译包,然后在运行编译脚本时,选择对应的参数。

    最后生成u-boot-iTOP-4412.bin文件。

    linux内核的编译

    1)编译器和uboot的一样

    2)内核的编译配置文件,需要选对赢的硬件文件

    3)使用编译命令make zImage

    4)编译后的zIamge在arch/arm/boot中

    Android4.0.3的编译

    1)文件在光盘07目录下

    2)比那一起是gcc4.4.7版本

    3)所有硬件都对应同一种源码,脚本是build_android.sh

    4)解压后的iTop4412_ICS_git和iTop4412_Kernel_3.0需要放在同一个目录下

    5)使用命令./build_android.sh

    6)生成镜像在iTop4412_ICS/out/target/product/smdk4x12中的ranmdisk-uboot.img和system.img

    如果想要支持wifi,还需要在内核目录中,执行模块命令make modules,在执行Android编译脚本

    最小系统制作

    制作文件系统需要busybox工具,拷贝busybox-1.21.1.tar.bz2,并解压

    make menuconfig
    Busybox Settings”→“Build Optiions”→“Cross Compiler prefix”将
    其配置为"arm-none-linux-gnueabi-"
    返回到"Build Options"
    
    进入界面“Installation Options”→“BusyBox installation prefix”将其配置为
    “../system”
    保存退出

    make
    make install

    然后需要添加一些文件

    进入system目录完善最小系统
    – 创建文件夹mkdir dev etc lib mnt proc sys tmp var
    进入新创建的etc目录
    – 创建文件夹mkdir init.d rc.d
    进入新创建的rc.d文件夹
    – 创建文件夹mkdir init.d
    返回到system目录,进入var目录
    – 新建目录mkdir lib lock log run tmp
    进入创建的etc目录
    – 将eth0-setting passwd profile三个文件拷贝进去,将文件的权限改为755
    进入etc目录下的init.d目录
    – 将ifconfig-eth0和rcS两个文件拷贝进去,将文件的权限改为755
    进入 etc/rc.d/init.d目录
    – 将netd文件拷贝进去,将文件的权限改为755
    
    返回到system目录下,进入lib文件夹下
    – 将编译器的库文件拷贝进去
    – "cp /usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/libc/lib/* ./"
    返回到system的上一级目录,制作完毕
    
    打包工具使用make_ext4fs
    – 工具在光盘“tools”目录下的“linux_tools.tgz”压缩文件
    – 将工具拷贝到“/”目录下,并解压
    进入到目录“/home/minilinux/”,使用下面的命令编译可生成文件系统
    – “make_ext4fs -s -l 314572800 -a root -L linux system.img system”
    
    然后烧录
    无欲速,无见小利。欲速,则不达;见小利,则大事不成。
  • 相关阅读:
    学习Python的一些Tips
    读书笔记《深入理解计算机系统》(第三版) 第二章 信息的表示
    读书笔记《深入理解计算机系统》(第三版) 第一章 计算机系统漫游
    C 标准库系列之locale.h
    C 标准库系列之limits.h
    C 标准库系列之float.h
    C 标准库系列之errno.h
    C 标准库系列之ctype.h
    C 标准库系列之assert.h
    C 标准库系列之概述
  • 原文地址:https://www.cnblogs.com/ch122633/p/9246135.html
Copyright © 2020-2023  润新知