6762|11

862

帖子

2

TA的资源

纯净的硅(初级)

楼主
 

[linux学习笔记]之二:Debian系统烧录全流程 [复制链接]

 
本帖最后由 wo4fisher 于 2016-11-10 00:56 编辑

1、准备工作:

        硬件:开发板(全志A13主控),sd卡,读卡器,USB转串口线...

        软件:系统ubuntu14.04 64位

        *官方相关网址:http://linux-sunxi.org/Main_Page,软硬件大百科,都有。在这里可以找到一些源代码的下载链接

      Welcome to the wiki of the linux-sunxi community, an open source software community dedicated to providing open source operating system support for Allwinner SoC based devices.

2、1)首先安装ubuntu14.04 64位系统,ubuntu已经更新到更高的版本,选择14.04是为了与发布的镜像文件等编译工具更好的兼容,以免版本升级给宝宝带来困扰。坑太多了///

     2)安装linux-sunxi开源SDK




下载这三个git文件包,分别是linux内核工程、u-boot工程和开发涉及到的一些工具。

   3)sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev \ lib32ncurses5-dev gcc-multilib x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev \ g++-multilib mingw32 tofrodos python-markdown libxml2-utilssudo apt-get install gcc-arm-linux-gnueabihf

      apt-get install device-tree-compiler   

安装一些依赖包、设备树编译器,根据编译提示补全相关依赖还有版本的更新


   4)拷贝修改过的三个文件到u-boot相应的目录

      cp A13-Lichee_defconfig configs/    //修改过的配置未见

    cp sun5i-a13-lichee.dts arch/arm/dts/   //修改过的设备树文件

    cp Makefile arch/arm/dts/               //修改过的makefile

    5)编译:

         设置开发板默认配置: make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- _defconfig

         * _defconfig文件为u-boot的configs/目录下的配置文件,有好多,与自己板子兼容,可以直接使用,不兼容,可以做相应修改。

        *相关链接:

http://linux-sunxi.org/Manual_build_howto#Build_the_kernel


         使用半图形化配置菜单编辑配置:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

        做相应的更改后保存退出

        编译u-boot:  time make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 2>&1 | tee build.log

        编译成功的话,会生成一些u-boot开头的文件,记住u-boot-sunxi-with-spl.bin备用。

      6)准备sd卡,至少2G大小,分2个区,一分区16M,fat32,剩下的二分区,ext4。



Identify the card
First identify the device of the card and export it as ${card}. The commands

    cat /proc/partitions

   or

    blkid -c /dev/null

can help with finding available/correct partition names.

  • If the SD card is connected via USB and is sdX (replace X for a correct letter)

    export card=/dev/sdX
    export p=""



  • If the SD card is connected via mmc and is mmcblk0
       export card=/dev/mmcblk0
    export p=p

Cleaning
To be on safe side erase the first part of your SD Card (also clears the partition table).
dd if=/dev/zero of=${card} bs=1M count=1
If you wish to keep the partition table, run:  dd if=/dev/zero of=${card} bs=1k count=1023 seek=1
Partitioning
With recent U-Boot it's fine to use ext2/ext3 as boot partition, and other filesystems in the root partition too.
With separate boot partition
Partition the card with a 16MB boot partition starting at 1MB, and the rest as root partition

    sfdisk -R ${card}
    cat <
    1,16,c
    ,,L
    EOT

sfdisk v2.26 and newer does not provide the -R flag, blockdev can be used instead. sfdisk also deprecated the use of -u recently as all sizes are now in sectors. -L flag is also deprecated and ignored so we skip it. --in-order is gone and is the default.
Partitioning the card with this in mind:
    blockdev --rereadpt ${card}
    cat <
    1M,16M,c
    ,,L
    EOT
You should now be able to create the actual filesystems:
    mkfs.vfat ${card}${p}1
    mkfs.ext4 ${card}${p}2
    cardroot=${card}${p}2

           使用命令:dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8   将生成的bin文件烧写入sd卡,/dev/sdX 为sd卡挂在目录。有可能是/dev/mmcblkX,我的是/dev/mmcblk0,因为用的大sd卡卡托

    7)建立boot.cmd文件,(//http://linux-sunxi.org/U-Boot#UART)内容如下

           

转换为boot.scr文件: mkimage -C none -A arm -T script -d boot.cmd boot.scr
    建立A13外设配置文件A13-lichee.fex,并将fex文件转换为.bin文件,使用到u-boot-tools  //http://linux-sunxi.org/Fex_Guide

    :sunxi-tools/fex2bin .fex script.bin

    将linux-sunxi工程编译得到uImage文件。

    8)将步骤7的三个文件cp到sd卡第一分区。

    mount ${card}${p}1 /mnt/
    mkdir /mnt/boot
    cp linux-sunxi/arch/arm/boot/uImage /mnt/boot       //见10)
    cp sunxi-boards/sys_config/a10/script.bin /mnt/boot
    cp boot.scr /mnt/boot
    umount /mnt/
    9)  根文件系统:下载地址:https://uk.images.linuxcontainers.org/images/

           解压到sd卡的第二个分区
    mount ${card}${p}2 /mnt/
    tar -C /mnt/ -xjpf my-chosen-rootfs.tar.bz2
    umount /mnt
    10)编译linux-sunxi内核

    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- sun5i_defconfig

    apt-get install libncurses5-dev

    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

    make -j$(nproc) ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage modules

    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=output modules_install

    生成相关文件:

       arch/arm/boot/uImage

       output/lib/modules/3.4.XXX/

    11)更新modules

    mount ${card}${p}2 mnt
    rm rm -rf mnt/lib/modules/*   
    time cp -rf lib/modules/3.4.104/ mnt/lib/modules/
    sync
    umount mnt
大概步骤就是这样,做完这几步后就可以把sd卡插入开发板,usb转串口线连接开发板与电脑,在电脑端设置好串口参数,启动串口终端软件,给开发板连接电源,系统就会运行了
简单的几步却涵盖了linux软硬件协同工作的方方面面。从硬件设计,到软件工具链安装、u-boot、内核参数设置、编辑脚本文件到编译,sd卡挂载、分区、cp/dd文件等基本操作。(*@ο@*) 哇~,太多了,偶要去睡觉了。
本文档只做A13 debian系统安装基本参考,有多处编写不够严谨,需要实际参考官方文档进行验证。
本人也刚开始学嵌入式linux,共勉!




最新回复

最近也在用这块板子,希望以后多多交流。  详情 回复 发表于 2017-1-11 14:48
点赞 关注
个人签名水不撩不知深浅 人不拼怎知输赢

回复
举报

604

帖子

1

TA的资源

一粒金砂(中级)

沙发
 
這板子可是荔枝派?

点评

官网还是有好多资源的  详情 回复 发表于 2016-11-10 14:40
真是火眼金睛啊,你也入了??  详情 回复 发表于 2016-11-10 14:40
 
个人签名疏雨客晚归,荒烟乱,几许江南无晴!又落花,残香织梦,莫  莫  莫,白首衷肠……
 

回复

862

帖子

2

TA的资源

纯净的硅(初级)

板凳
 
wajuka 发表于 2016-11-10 10:13
這板子可是荔枝派?

真是火眼金睛啊,你也入了??

点评

我也入了 只不过还没发货  详情 回复 发表于 2016-11-10 18:37
 
个人签名水不撩不知深浅 人不拼怎知输赢
 
 

回复

862

帖子

2

TA的资源

纯净的硅(初级)

4
 
wajuka 发表于 2016-11-10 10:13
這板子可是荔枝派?

官网还是有好多资源的

点评

官网是全志官网?  详情 回复 发表于 2016-11-10 18:38
 
个人签名水不撩不知深浅 人不拼怎知输赢
 
 

回复

604

帖子

1

TA的资源

一粒金砂(中级)

5
 
wo4fisher 发表于 2016-11-10 14:40
真是火眼金睛啊,你也入了??

我也入了 只不过还没发货
 
个人签名疏雨客晚归,荒烟乱,几许江南无晴!又落花,残香织梦,莫  莫  莫,白首衷肠……
 
 

回复

604

帖子

1

TA的资源

一粒金砂(中级)

6
 
wo4fisher 发表于 2016-11-10 14:40
官网还是有好多资源的

官网是全志官网?

点评

是啊,应该是他们维护的  详情 回复 发表于 2016-11-10 20:46
 
个人签名疏雨客晚归,荒烟乱,几许江南无晴!又落花,残香织梦,莫  莫  莫,白首衷肠……
 
 

回复

862

帖子

2

TA的资源

纯净的硅(初级)

7
 
wajuka 发表于 2016-11-10 18:38
官网是全志官网?

是啊,应该是他们维护的

点评

全志官网都是一些产品介绍 开发相关的在哪 我打开错了?  详情 回复 发表于 2016-11-10 21:49
 
个人签名水不撩不知深浅 人不拼怎知输赢
 
 

回复

604

帖子

1

TA的资源

一粒金砂(中级)

8
 
wo4fisher 发表于 2016-11-10 20:46
是啊,应该是他们维护的

全志官网都是一些产品介绍 开发相关的在哪 我打开错了?

点评

:http://linux-sunxi.org/Main_Page,软硬件大百科,都有。在这里可以找到一些源代码的下载链接,用这个,手机复制,你直接打开网站就可以  详情 回复 发表于 2016-11-11 11:11
 
个人签名疏雨客晚归,荒烟乱,几许江南无晴!又落花,残香织梦,莫  莫  莫,白首衷肠……
 
 

回复

862

帖子

2

TA的资源

纯净的硅(初级)

9
 
wajuka 发表于 2016-11-10 21:49
全志官网都是一些产品介绍 开发相关的在哪 我打开错了?

http://linux-sunxi.org/Main_Page,软硬件大百科,都有。在这里可以找到一些源代码的下载链接,用这个,手机复制,你直接打开网站就可以

点评

哦 原来在這里 我说怎么全志气的资料都找不到呢  详情 回复 发表于 2016-11-11 18:49
 
个人签名水不撩不知深浅 人不拼怎知输赢
 
 

回复

604

帖子

1

TA的资源

一粒金砂(中级)

10
 
wo4fisher 发表于 2016-11-11 11:11
:http://linux-sunxi.org/Main_Page,软硬件大百科,都有。在这里可以找到一些源代码的下载链接,用这个 ...

哦 原来在這里  我说怎么全志气的资料都找不到呢
 
个人签名疏雨客晚归,荒烟乱,几许江南无晴!又落花,残香织梦,莫  莫  莫,白首衷肠……
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

11
 
最近也在用这块板子,希望以后多多交流。

点评

好的  详情 回复 发表于 2017-1-12 08:01
 
 
 

回复

862

帖子

2

TA的资源

纯净的硅(初级)

12
 
LV_mcu 发表于 2017-1-11 14:48
最近也在用这块板子,希望以后多多交流。

好的
 
个人签名水不撩不知深浅 人不拼怎知输赢
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表