当前位置:   article > 正文

i.MX 6ULL 驱动开发 一:搭建开发环境_6nonnodemx

6nonnodemx

一、搭建编译环境

1、工具

工具版本
开发板正点原子 imx6ull 开发板
gccgcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf
ubootuboot-imx-2016.03-2.1.0
linuxlinux-imx-4.1.15

2、搭建 tftp 服务器

ubuntu20.04 搭建tftp服务器_lqonlylove的博客-CSDN博客_ubuntu配置tftp服务器

3、搭建 nfs 服务器

ubuntu20.04 搭建NFS服务器_lqonlylove的博客-CSDN博客

二、配置编译工具链

1、版本选择

在这里插入图片描述

2、解压

sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
  • 1

解压后名字太长,更改 gcc 文件夹名:

onlylove@ubuntu:~/my/gcc$ ls
gcc-linaro-4.9.4  gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
onlylove@ubuntu:~/my/gcc$
  • 1
  • 2
  • 3

3、配置

打开/etc/profile 以后,在最后面输入如下所示内容:

export PATH=$PATH:/home/onlylove/my/gcc/gcc-linaro-4.9.4/bin
  • 1

配置完后,重启主机。

4、验证

onlylove@ubuntu:~$ ls
Desktop  Documents  Downloads  Music  my  Pictures  Public  Templates  Videos
onlylove@ubuntu:~$ arm-linux-gnueabihf-gcc -v
Using built-in specs.
COLLECT_GCC=arm-linux-gnueabihf-gcc
COLLECT_LTO_WRAPPER=/home/onlylove/my/gcc/gcc-linaro-4.9.4/bin/../libexec/gcc/arm-linux-gnueabihf/4.9.4/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: /home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/snapshots/gcc-linaro-4.9-2017.01/configure SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-lto --enable-objc-gc --enable-shared --without-included-gettext --enable-nls --disable-sjlj-exceptions --enable-gnu-unique-object --enable-linker-build-id --disable-libstdcxx-pch --enable-c99 --enable-clocale=gnu --enable-libstdcxx-debug --enable-long-long --with-cloog=no --with-ppl=no --with-isl=no --disable-multilib --with-float=hard --with-mode=thumb --with-tune=cortex-a9 --with-arch=armv7-a --with-fpu=vfpv3-d16 --enable-threads=posix --enable-multiarch --enable-libstdcxx-time=yes --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/sysroots/arm-linux-gnueabihf --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu/arm-linux-gnueabihf/libc --enable-checking=release --disable-bootstrap --enable-languages=c,c++,fortran,lto --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=arm-linux-gnueabihf --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/arm-linux-gnueabihf/_build/builds/destdir/x86_64-unknown-linux-gnu
Thread model: posix
gcc version 4.9.4 (Linaro GCC 4.9-2017.01) 
onlylove@ubuntu:~$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

三、uboot

1、版本选择

因使用正点原子开发板,因此选择正点原子提供uboot版本。
在这里插入图片描述

2、解压

tar -xvf uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2
  • 1
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ pwd
/home/onlylove/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls 
api        disk         imxdownload.c  load.imx                  net              tools                 u-boot.map
arch       doc          imxdownload.h  MAINTAINERS               post             u-boot                u-boot-nodtb.bin
board      drivers      include        MAKEALL                   README           u-boot.bin            u-boot.srec
cmd        dts          Kbuild         Makefile                  scripts          u-boot.cfg            u-boot.sym
common     examples     Kconfig        mx6ull_14x14_evk_emmc.sh  snapshot.commit  uboot.code-workspace
config.mk  fs           lib            mx6ull_alientek_emmc.sh   System.map       u-boot.imx
configs    imxdownload  Licenses       mx6ull_alientek_nand.sh   test             u-boot.lds
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

3、编译脚本

onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
api        disk         imxdownload.c  load.imx                  net              tools                 u-boot.map
arch       doc          imxdownload.h  MAINTAINERS               post             u-boot                u-boot-nodtb.bin
board      drivers      include        MAKEALL                   README           u-boot.bin            u-boot.srec
cmd        dts          Kbuild         Makefile                  scripts          u-boot.cfg            u-boot.sym
common     examples     Kconfig        mx6ull_14x14_evk_emmc.sh  snapshot.commit  uboot.code-workspace
config.mk  fs           lib            mx6ull_alientek_emmc.sh   System.map       u-boot.imx
configs    imxdownload  Licenses       mx6ull_alientek_nand.sh   test             u-boot.lds
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ cat mx6ull_alientek_emmc.sh 
#!/bin/bash
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_alientek_emmc_defconfig
make V=0  ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

4、编译

onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
api        disk         imxdownload.c  load.imx                  net              tools                 u-boot.map
arch       doc          imxdownload.h  MAINTAINERS               post             u-boot                u-boot-nodtb.bin
board      drivers      include        MAKEALL                   README           u-boot.bin            u-boot.srec
cmd        dts          Kbuild         Makefile                  scripts          u-boot.cfg            u-boot.sym
common     examples     Kconfig        mx6ull_14x14_evk_emmc.sh  snapshot.commit  uboot.code-workspace
config.mk  fs           lib            mx6ull_alientek_emmc.sh   System.map       u-boot.imx
configs    imxdownload  Licenses       mx6ull_alientek_nand.sh   test             u-boot.lds
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ./mx6ull_alientek_emmc.sh
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
api    common     doc       fs             include  Licenses     Makefile                  net      snapshot.commit
arch   config.mk  drivers   imxdownload    Kbuild   load.imx     mx6ull_14x14_evk_emmc.sh  post     test
board  configs    dts       imxdownload.c  Kconfig  MAINTAINERS  mx6ull_alientek_emmc.sh   README   tools
cmd    disk       examples  imxdownload.h  lib      MAKEALL      mx6ull_alientek_nand.sh   scripts  uboot.code-workspace
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ 
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ 
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ 
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ./mx6ull_alientek_emmc.sh 
  CLEAN   scripts/basic
  CLEAN   scripts/kconfig
  CLEAN   include/config include/generated
  CLEAN   .config include/config.h
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
In file included from scripts/kconfig/zconf.tab.c:2534:
scripts/kconfig/confdata.c: In function ‘conf_write’:
scripts/kconfig/confdata.c:771:19: warning: ‘%s’ directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
  771 |  sprintf(newname, "%s%s", dirname, basename);
      |                   ^~~~~~
scripts/kconfig/confdata.c:771:19: note: assuming directive output of 7 bytes
In file included from /usr/include/stdio.h:867,
                 from scripts/kconfig/zconf.tab.c:84:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output 1 or more bytes (assuming 4104) into a destination of size 4097
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from scripts/kconfig/zconf.tab.c:2534:
scripts/kconfig/confdata.c:774:20: warning: ‘.tmpconfig.’ directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
  774 |   sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid());
      |                    ^~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:867,
                 from scripts/kconfig/zconf.tab.c:84:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:10: note: ‘__builtin___sprintf_chk’ output between 13 and 4119 bytes into a destination of size 4097
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |       __bos (__s), __fmt, __va_arg_pack ());
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config.h
  UPD     include/config.h
  GEN     include/autoconf.mk
  GEN     include/autoconf.mk.dep
  CHK     include/config/uboot.release
  CHK     include/generated/timestamp_autogenerated.h
  UPD     include/generated/timestamp_autogenerated.h
  UPD     include/config/uboot.release
  CFG     u-boot.cfg
  CHK     include/generated/version_autogenerated.h
  UPD     include/generated/version_autogenerated.h
  CC      lib/asm-offsets.s
  CC      arch/arm/lib/asm-offsets.s
  CHK     include/generated/generic-asm-offsets.h
  CHK     include/generated/asm-offsets.h
  UPD     include/generated/generic-asm-offsets.h
  UPD     include/generated/asm-offsets.h
  HOSTCC  tools/bmp_logo
  HOSTCC  tools/gen_eth_addr
  HOSTCC  tools/img2srec
  LDS     u-boot.lds
  HOSTCC  tools/mkenvimage.o
  HOSTCC  tools/os_support.o
  WRAP    tools/lib/crc32.c
  HOSTCC  tools/aisimage.o
  HOSTCC  tools/atmelimage.o
  WRAP    tools/common/bootm.c
  HOSTCC  tools/default_image.o
  WRAP    tools/lib/fdtdec_common.c
  WRAP    tools/lib/fdtdec.c
  HOSTCC  tools/fit_common.o
  HOSTCC  tools/fit_image.o
  HOSTCC  tools/gpimage.o
  HOSTCC  tools/gpimage-common.o
  WRAP    tools/common/image-fit.c
  HOSTCC  tools/image-host.o
  WRAP    tools/common/image.c
  HOSTCC  tools/imagetool.o
  HOSTCC  tools/imximage.o
  HOSTCC  tools/kwbimage.o
  WRAP    tools/lib/md5.c
  HOSTCC  tools/lpc32xximage.o
  HOSTCC  tools/mxsimage.o
  HOSTCC  tools/omapimage.o
  HOSTCC  tools/pblimage.o
  HOSTCC  tools/pbl_crc32.o
  WRAP    tools/lib/rc4.c
  HOSTCC  tools/rkcommon.o
  HOSTCC  tools/rkimage.o
  HOSTCC  tools/rksd.o
  HOSTCC  tools/rkspi.o
  HOSTCC  tools/socfpgaimage.o
  WRAP    tools/lib/sha1.c
  WRAP    tools/lib/sha256.c
  WRAP    tools/common/hash.c
  HOSTCC  tools/ublimage.o
  HOSTCC  tools/zynqimage.o
  WRAP    tools/lib/libfdt/fdt.c
  WRAP    tools/lib/libfdt/fdt_ro.c
  WRAP    tools/lib/libfdt/fdt_rw.c
  WRAP    tools/lib/libfdt/fdt_strerror.c
  WRAP    tools/lib/libfdt/fdt_wip.c
  WRAP    tools/lib/libfdt/fdt_region.c
  HOSTCC  tools/dumpimage.o
  HOSTCC  tools/mkimage.o
  HOSTCC  tools/proftool
  HOSTCC  tools/fdtgrep.o
tools/bmp_logo --gen-info ./tools/logos/freescale.bmp > include/bmp_logo.h
tools/bmp_logo --gen-data ./tools/logos/freescale.bmp > include/bmp_logo_data.h
  HOSTCC  tools/lib/crc32.o
  HOSTCC  tools/common/bootm.o
  HOSTCC  tools/lib/fdtdec_common.o
  HOSTCC  tools/lib/fdtdec.o
  HOSTCC  tools/common/image-fit.o
  HOSTCC  tools/common/image.o
  HOSTCC  tools/lib/md5.o
  HOSTCC  tools/lib/rc4.o
  HOSTCC  tools/lib/sha1.o
  HOSTCC  tools/lib/sha256.o
  HOSTCC  tools/common/hash.o
  HOSTCC  tools/lib/libfdt/fdt.o
  HOSTCC  tools/lib/libfdt/fdt_ro.o
  HOSTCC  tools/lib/libfdt/fdt_rw.o
  HOSTCC  tools/lib/libfdt/fdt_strerror.o
  HOSTCC  tools/lib/libfdt/fdt_wip.o
  HOSTCC  tools/lib/libfdt/fdt_region.o
  HOSTLD  tools/mkenvimage
  HOSTLD  tools/dumpimage
  HOSTLD  tools/mkimage
  HOSTLD  tools/fdtgrep
  LD      arch/arm/cpu/built-in.o
  CC      arch/arm/cpu/armv7/cache_v7.o
  CC      arch/arm/imx-common/iomux-v3.o
  CC      board/freescale/common/mmc.o
  AS      arch/arm/lib/vectors.o
  AS      arch/arm/lib/crt0.o
  AS      arch/arm/lib/relocate.o
  LD      board/freescale/common/built-in.o
  CC      arch/arm/imx-common/cpu.o
  CC      arch/arm/lib/bootm-fdt.o
  CC      board/freescale/mx6ull_alientek_emmc/mx6ull_alientek_emmc.o
  CC      arch/arm/cpu/armv7/cpu.o
  CC      arch/arm/lib/bootm.o
  CC      arch/arm/cpu/armv7/cp15.o
  CC      arch/arm/imx-common/speed.o
board/freescale/mx6ull_alientek_emmc/mx6ull_alientek_emmc.c:127:22: warning: ‘seq’ defined but not used [-Wunused-variable]
 static enum qn_level seq[3][2] = {
                      ^
board/freescale/mx6ull_alientek_emmc/mx6ull_alientek_emmc.c:131:21: warning: ‘qn_output’ defined but not used [-Wunused-variable]
 static enum qn_func qn_output[8] = {
                     ^
  CC      arch/arm/cpu/armv7/syslib.o
  CC      arch/arm/lib/sections.o
  CC      arch/arm/imx-common/i2c-mxv7.o
  CC      arch/arm/lib/stack.o
  LD      board/freescale/mx6ull_alientek_emmc/built-in.o
  AS      arch/arm/cpu/armv7/lowlevel_init.o
  CC      arch/arm/cpu/armv7/mx6/soc.o
  CC      arch/arm/lib/interrupts.o
  CC      arch/arm/imx-common/misc.o
  CC      cmd/boot.o
  CC      arch/arm/imx-common/cache.o
  CC      arch/arm/lib/reset.o
  CC      cmd/bootm.o
  CC      arch/arm/imx-common/init.o
  CC      arch/arm/lib/cache.o
  CC      arch/arm/cpu/armv7/mx6/clock.o
  CC      arch/arm/lib/cache-cp15.o
  CC      cmd/help.o
  CC      arch/arm/imx-common/video.o
  CC      cmd/version.o
  CC      arch/arm/imx-common/syscounter.o
  AR      arch/arm/lib/lib.a
  CC      arch/arm/lib/eabi_compat.o
  CC      cmd/source.o
  LD      arch/arm/lib/built-in.o
  CC      arch/arm/imx-common/cmd_bmode.o
  CC      cmd/bdinfo.o
  CC      common/init/board_init.o
  LD      arch/arm/imx-common/built-in.o
  CC      cmd/bmp.o
  CC      disk/part.o
  LD      arch/arm/cpu/armv7/mx6/built-in.o
  AS      arch/arm/cpu/armv7/start.o
  LD      common/init/built-in.o
  CC      common/main.o
  LD      arch/arm/cpu/armv7/built-in.o
  LD      drivers/adc/built-in.o
  CC      drivers/block/disk-uclass.o
  CC      cmd/cache.o
  CC      common/exports.o
  LD      drivers/block/built-in.o
  CC      disk/part_dos.o
  CC      drivers/core/device.o
  CC      cmd/console.o
  CC      common/hash.o
  CC      cmd/echo.o
  CC      common/cli_hush.o
  LD      disk/built-in.o
  LD      drivers/dma/built-in.o
  CC      cmd/elf.o
  CC      drivers/gpio/mxc_gpio.o
  LD      drivers/gpio/built-in.o
  CC      drivers/core/lists.o
  CC      drivers/i2c/i2c_core.o
  CC      cmd/exit.o
  CC      cmd/ext4.o
  CC      drivers/core/root.o
  CC      drivers/i2c/mxc_i2c.o
  CC      cmd/ext2.o
  CC      drivers/core/uclass.o
  CC      cmd/fat.o
  CC      cmd/fdt.o
  CC      common/autoboot.o
  LD      drivers/i2c/built-in.o
  CC      drivers/mmc/fsl_esdhc.o
  CC      drivers/core/util.o
  CC      common/board_f.o
  CC      drivers/core/device-remove.o
  CC      drivers/mmc/mmc.o
  CC      drivers/core/dump.o
  CC      common/board_r.o
  CC      cmd/flash.o
  LD      drivers/core/built-in.o
  CC      drivers/crypto/fsl/sec.o
  CC      cmd/fs.o
  CC      common/board_info.o
  CC      cmd/fuse.o
  LD      drivers/crypto/fsl/built-in.o
  LD      drivers/crypto/rsa_mod_exp/built-in.o
  LD      drivers/crypto/built-in.o
  LD      drivers/dfu/built-in.o
  CC      common/bootm.o
  LD      drivers/hwmon/built-in.o
  CC      drivers/input/input.o
  CC      cmd/gpio.o
  CC      cmd/i2c.o
  CC      common/bootm_os.o
  LD      drivers/input/built-in.o
  LD      drivers/memory/built-in.o
  CC      drivers/misc/mxc_ocotp.o
  CC      drivers/mmc/mmc_write.o
  CC      common/env_attr.o
  LD      drivers/mmc/built-in.o
  CC      drivers/mtd/mtdcore.o
  LD      drivers/misc/built-in.o
  CC      cmd/itest.o
  CC      drivers/pcmcia/tqm8xx_pcmcia.o
  CC      common/env_callback.o
  LD      drivers/pcmcia/built-in.o
  LD      drivers/pwm/built-in.o
  CC      drivers/rtc/date.o
  CC      cmd/load.o
  CC      common/env_flags.o
  LD      drivers/rtc/built-in.o
  LD      drivers/soc/built-in.o
  LD      drivers/sound/built-in.o
  CC      drivers/thermal/thermal-uclass.o
  CC      drivers/mtd/mtd_uboot.o
  CC      drivers/thermal/imx_thermal.o
  CC      common/env_mmc.o
  LD      drivers/mtd/built-in.o
  LD      drivers/mtd/onenand/built-in.o
  CC      cmd/mem.o
  CC      drivers/mtd/spi/sf_probe.o
  LD      drivers/thermal/built-in.o
  LD      drivers/timer/built-in.o
  CC      common/fdt_support.o
  LD      drivers/tpm/built-in.o
  LD      drivers/twserial/built-in.o
  CC      drivers/video/cfb_console.o
  CC      drivers/mtd/spi/spi_flash.o
  CC      cmd/mii.o
  CC      cmd/mdio.o
  CC      common/miiphyutil.o
  CC      drivers/mtd/spi/sf_params.o
  CC      cmd/misc.o
  CC      drivers/mtd/spi/sf.o
  CC      common/usb.o
  CC      cmd/mmc.o
  LD      drivers/mtd/spi/built-in.o
  CC      cmd/net.o
  CC      drivers/video/mxsfb.o
  CC      cmd/pcmcia.o
  CC      drivers/video/videomodes.o
  CC      cmd/sf.o
  CC      cmd/setexpr.o
  CC      common/usb_hub.o
  CC      cmd/test.o
  LD      drivers/video/bridge/built-in.o
  LD      drivers/video/built-in.o
  CC      drivers/watchdog/imx_watchdog.o
  CC      cmd/usb.o
  LD      drivers/watchdog/built-in.o
  LD      drivers/built-in.o
  CC      cmd/ximg.o
  CC      drivers/net/fec_mxc.o
  CC      common/usb_storage.o
  CC      cmd/nvedit.o
  CC      cmd/disk.o
  LD      drivers/net/built-in.o
  CC      drivers/net/phy/phy.o
  CC      common/flash.o
  LD      cmd/built-in.o
  CC      common/splash.o
  CC      drivers/net/phy/smsc.o
  CC      common/env_common.o
  LD      drivers/pci/built-in.o
  CC      drivers/power/power_core.o
  CC      drivers/power/power_i2c.o
  CC      common/bouncebuf.o
  LD      drivers/net/phy/built-in.o
  LD      drivers/power/built-in.o
  LD      drivers/power/battery/built-in.o
  CC      common/console.o
  CC      common/dlmalloc.o
  LD      drivers/power/fuel_gauge/built-in.o
  LD      drivers/power/mfd/built-in.o
  CC      common/malloc_simple.o
  CC      drivers/power/pmic/pmic_pfuze3000.o
  LD      drivers/power/pmic/built-in.o
  LD      drivers/power/regulator/built-in.o
  CC      drivers/serial/serial.o
  CC      common/image.o
  CC      common/image-fdt.o
  CC      drivers/serial/serial_mxc.o
  CC      common/memsize.o
  CC      common/stdio.o
  CC      common/cli_simple.o
  CC      common/cli.o
  LD      drivers/serial/built-in.o
  CC      drivers/spi/spi.o
  CC      common/cli_readline.o
  CC      common/command.o
  CC      common/s_record.o
  CC      drivers/spi/fsl_qspi.o
  CC      common/xyzModem.o
  LD      drivers/spi/built-in.o
  LD      drivers/usb/dwc3/built-in.o
  LD      drivers/usb/emul/built-in.o
  LD      drivers/usb/gadget/built-in.o
  CC      drivers/usb/eth/usb_ether.o
  LD      drivers/usb/gadget/udc/built-in.o
  CC      drivers/usb/host/ehci-hcd.o
  LD      common/built-in.o
  CC      drivers/usb/eth/asix.o
  LD      drivers/usb/musb/built-in.o
  LD      drivers/usb/phy/built-in.o
  LD      drivers/usb/ulpi/built-in.o
  LD      drivers/usb/musb-new/built-in.o
  CC      fs/fs.o
  CC      lib/libfdt/fdt.o
  LD      drivers/usb/eth/built-in.o
  CC      net/checksum.o
  CC      lib/libfdt/fdt_ro.o
  CC      fs/ext4/ext4fs.o
  CC      net/arp.o
  CC      drivers/usb/host/ehci-mx6.o
  CC      net/bootp.o
  CC      fs/ext4/ext4_common.o
  LD      drivers/usb/host/built-in.o
  LD      test/built-in.o
  CC      test/dm/cmd_dm.o
  CC      lib/libfdt/fdt_rw.o
  LD      test/dm/built-in.o
  CC      lib/libfdt/fdt_strerror.o
  CC      net/eth_legacy.o
  CC      lib/libfdt/fdt_sw.o
  CC      lib/libfdt/fdt_wip.o
  CC      lib/libfdt/fdt_empty_tree.o
  CC      net/eth_common.o
  CC      lib/libfdt/fdt_addresses.o
  CC      lib/libfdt/fdt_region.o
  CC      net/net.o
  CC      net/nfs.o
  LD      lib/libfdt/built-in.o
  CC      lib/zlib/zlib.o
  CC      net/ping.o
  CC      fs/ext4/dev.o
  CC      net/tftp.o
  CC      fs/ext4/ext4_write.o
  CC      fs/ext4/ext4_journal.o
  LD      net/built-in.o
  CC      fs/ext4/crc16.o
  CC      lib/crc7.o
  CC      lib/crc8.o
  CC      lib/crc16.o
  CC      lib/gunzip.o
  CC      lib/initcall.o
  CC      lib/lmb.o
  LD      fs/ext4/built-in.o
  LD      lib/zlib/built-in.o
  CC      fs/fat/fat_write.o
  CC      lib/ldiv.o
  CC      lib/net_utils.o
  CC      lib/qsort.o
  CC      lib/rc4.o
  CC      lib/strmhz.o
  CC      lib/list_sort.o
  CC      lib/hashtable.o
  CC      lib/errno.o
  CC      lib/display_options.o
  CC      lib/crc32.o
  CC      lib/ctype.o
  CC      lib/div64.o
  CC      lib/hang.o
  CC      lib/linux_compat.o
  CC      lib/linux_string.o
  CC      lib/membuff.o
  CC      lib/slre.o
  CC      lib/string.o
  CC      lib/time.o
  CC      lib/vsprintf.o
  CC      fs/fat/file.o
  CC      lib/panic.o
  CC      lib/strto.o
  LD      fs/fat/built-in.o
  LD      fs/built-in.o
  LD      lib/built-in.o
  CC      examples/standalone/stubs.o
  CC      examples/standalone/hello_world.o
  LD      examples/standalone/libstubs.o
  LD      examples/standalone/hello_world
  OBJCOPY examples/standalone/hello_world.srec
  OBJCOPY examples/standalone/hello_world.bin
  LD      u-boot
  OBJCOPY u-boot-nodtb.bin
  OBJCOPY u-boot.srec
  SYM     u-boot.sym
  COPY    u-boot.bin
  CFGS    board/freescale/mx6ull_alientek_emmc/imximage.cfg.cfgtmp
  MKIMAGE u-boot.imx
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
api        disk         imxdownload.c  load.imx                  net              tools                 u-boot.map
arch       doc          imxdownload.h  MAINTAINERS               post             u-boot                u-boot-nodtb.bin
board      drivers      include        MAKEALL                   README           u-boot.bin            u-boot.srec
cmd        dts          Kbuild         Makefile                  scripts          u-boot.cfg            u-boot.sym
common     examples     Kconfig        mx6ull_14x14_evk_emmc.sh  snapshot.commit  uboot.code-workspace
config.mk  fs           lib            mx6ull_alientek_emmc.sh   System.map       u-boot.imx
configs    imxdownload  Licenses       mx6ull_alientek_nand.sh   test             u-boot.lds
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392
  • 393
  • 394
  • 395
  • 396
  • 397
  • 398
  • 399
  • 400
  • 401
  • 402
  • 403
  • 404
  • 405
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 413
  • 414
  • 415
  • 416
  • 417
  • 418
  • 419
  • 420
  • 421
  • 422
  • 423
  • 424
  • 425
  • 426
  • 427
  • 428
  • 429
  • 430
  • 431
  • 432
  • 433
  • 434
  • 435
  • 436
  • 437
  • 438
  • 439
  • 440
  • 441
  • 442
  • 443
  • 444
  • 445
  • 446
  • 447
  • 448
  • 449

5、将 uboot 烧录到 SD卡中

sudo dd if=u-boot.imx of=/dev/sdb bs=1k seek=1 conv=fsync
  • 1
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
api        disk         imxdownload.c  load.imx                  net              tools                 u-boot.map
arch       doc          imxdownload.h  MAINTAINERS               post             u-boot                u-boot-nodtb.bin
board      drivers      include        MAKEALL                   README           u-boot.bin            u-boot.srec
cmd        dts          Kbuild         Makefile                  scripts          u-boot.cfg            u-boot.sym
common     examples     Kconfig        mx6ull_14x14_evk_emmc.sh  snapshot.commit  uboot.code-workspace
config.mk  fs           lib            mx6ull_alientek_emmc.sh   System.map       u-boot.imx
configs    imxdownload  Licenses       mx6ull_alientek_nand.sh   test             u-boot.lds
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ sudo dd if=u-boot.imx of=/dev/sdb bs=1k seek=1 conv=fsync
[sudo] password for onlylove: 
419+0 records in
419+0 records out
429056 bytes (429 kB, 419 KiB) copied, 0.0837758 s, 5.1 MB/s
onlylove@ubuntu:~/my/uboot/uboot-imx-rel_imx_4.1.15_2.1.0_ga_alientek$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

6、启动 uboot

U-Boot 2016.03 (Aug 20 2022 - 00:46:14 -0700)

CPU:   Freescale i.MX6ULL rev1.1 69 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 43C
Reset cause: POR
Board: MX6ULL ALIENTEK EMMC
I2C:   ready
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
unsupported panel ATK-LCD-7-1024x600
In:    serial
Out:   serial
Err:   serial
switch to partitions #0, OK
mmc0 is current device
Net:   FEC1
Normal Boot
Hit any key to stop autoboot:  0
=> help
?       - alias for 'help'
base    - print or set address offset
bdinfo  - print Board Info structure
bmode   - sd1|sd2|qspi1|normal|usb|sata|ecspi1:0|ecspi1:1|ecspi1:2|ecspi1:3|esdhc1|esdhc2|esdhc3|esdhc4 [noreset]
bmp     - manipulate BMP image data
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootelf - Boot from an ELF image in memory
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootvx  - Boot vxWorks from an ELF image
bootz   - boot Linux zImage image from memory
clocks  - display clocks
clrlogo - fill the boot logo area with black
cmp     - memory compare
coninfo - print console devices and information
cp      - memory copy
crc32   - checksum calculation
dcache  - enable or disable data cache
dhcp    - boot image via network using DHCP/TFTP protocol
dm      - Driver model low level access
echo    - echo args to console
editenv - edit environment variable
env     - environment handling commands
erase   - erase FLASH memory
exit    - exit script
ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
ext4load- load binary file from a Ext4 filesystem
ext4ls  - list files in a directory (default /)
ext4size- determine a file's size
ext4write- create a file in the root directory
false   - do nothing, unsuccessfully
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fatsize - determine a file's size
fatwrite- write file into a dos filesystem
fdt     - flattened device tree utility commands
flinfo  - print FLASH memory information
fstype  - Look up a filesystem type
fuse    - Fuse sub-system
go      - start application at address 'addr'
gpio    - query and control gpio pins
help    - print command description/usage
i2c     - I2C sub-system
icache  - enable or disable instruction cache
iminfo  - print header information for application image
imxtract- extract a part of a multi-image
itest   - return true/false on integer compare
load    - load binary file from a filesystem
loadb   - load binary file over serial line (kermit mode)
loads   - load S-Record file over serial line
loadx   - load binary file over serial line (xmodem mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
ls      - list files in a directory (default /)
md      - memory display
mdio    - MDIO utility commands
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - display MMC info
mtest   - simple RAM read/write test
mw      - memory write (fill)
nfs     - boot image via network using NFS protocol
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
pmic    - PMIC
printenv- print environment variables
protect - enable or disable FLASH write protection
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
save    - save file to a filesystem
saveenv - save environment variables to persistent storage
setenv  - set environment variables
setexpr - set environment variable as the result of eval expression
sf      - SPI flash sub-system
showvar - print local hushshell variables
size    - determine a file's size
sleep   - delay execution for some time
source  - run script from memory
test    - minimal test like /bin/sh
tftpboot- boot image via network using TFTP protocol
true    - do nothing, successfully
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor, compiler and linker version
=> printenv
baudrate=115200
board_name=EVK
board_rev=14X14
boot_fdt=try
bootargs=console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.1.15:/home/onlylove/my/nfs/rootfs,proto=tcp rw ip=192.168.1.20:192.168.1.15:192.168.1.1:255.255.255.0::eth0:off
bootcmd=tftp 80800000 zImage;tftp 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000;
bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};
bootdelay=3
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc0
ethact=FEC1
ethaddr=b8:ae:1d:01:00:00
ethprime=FEC
fdt_addr=0x83000000
fdt_file=imx6ull-14x14-emmc-7-1024x600-c.dtb
fdt_high=0xffffffff
fileaddr=83000000
filesize=9727
findfdt=if test $fdt_file = undefined; then if test $board_name = EVK && test $board_rev = 9X9; then setenv fdt_file imx6ull-9x9-evk.dtb; fi; if test $board_name = EVK && test $board_rev = 14X14; then setenv fdt_file imx6ull-14x14-evk.dtb; fi; if test $fdt_file = undefined; then echo WARNING: Could not determine dtb to use; fi; fi;
gatewayip=192.168.1.1
get_cmd=dhcp
image=zImage
initrd_addr=0x83800000
initrd_high=0xffffffff
ip_dyn=yes
ipaddr=192.168.1.10
loadaddr=0x80800000
loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};
loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}
loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
mfgtool_args=setenv bootargs console=${console},${baudrate} rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber="" clk_ignore_unused
mmcargs=setenv bootargs console=${console},${baudrate} root=${mmcroot}
mmcautodetect=yes
mmcboot=echo Booting from mmc ...; run mmcargs; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
mmcdev=0
mmcpart=1
mmcroot=/dev/mmcblk0p2 rootwait rw
netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
netboot=echo Booting from net ...; run netargs; if test ${ip_dyn} = yes; then setenv get_cmd dhcp; else setenv get_cmd tftp; fi; ${get_cmd} ${image}; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if ${get_cmd} ${fdt_addr} ${fdt_file}; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
netmask=255.255.255.0
panel=ATK-LCD-7-1024x600
script=boot.scr
serverip=192.168.1.15

Environment size: 2704/8188 bytes
=>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154

7、配置 uboot 参数

根据实际情况配置:

setenv ipaddr 192.168.6.200
setenv gatewayip 192.168.6.2
setenv serverip 192.168.6.129
saveenv
  • 1
  • 2
  • 3
  • 4

四、rootfs

1、版本选择

在这里插入图片描述

2、解压

tar -xvf rootfs.tar.bz2
  • 1

五、Linux

1、版本选择

在这里插入图片描述

2、解压

tar -xvf linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek.tar.bz2
  • 1
onlylove@ubuntu:~/my/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ pwd
/home/onlylove/my/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek
onlylove@ubuntu:~/my/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
arch     Documentation  init     lib                   mx6ull_14x14_evk_nand.sh  REPORTING-BUGS  tools
block    drivers        ipc      linux.code-workspace  mx6ull_alientek_emmc.sh   samples         usr
COPYING  firmware       Kbuild   MAINTAINERS           mx6ull_alientek_nand.sh   scripts         virt
CREDITS  fs             Kconfig  Makefile              net                       security        vmlinux.dis
crypto   include        kernel   mm                    README                    sound
onlylove@ubuntu:~/my/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

3、编译

onlylove@ubuntu:~/my/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ ls
arch     Documentation  init     lib                   mx6ull_14x14_evk_nand.sh  REPORTING-BUGS  tools
block    drivers        ipc      linux.code-workspace  mx6ull_alientek_emmc.sh   samples         usr
COPYING  firmware       Kbuild   MAINTAINERS           mx6ull_alientek_nand.sh   scripts         virt
CREDITS  fs             Kconfig  Makefile              net                       security        vmlinux.dis
crypto   include        kernel   mm                    README                    sound
onlylove@ubuntu:~/my/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek$ cat mx6ull_alientek_emmc.sh 
#!/bin/sh
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_alientek_emmc_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all -j16
onlylove@ubuntu:~/my/linux/linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

编译成功后,将 zImage 和 设备树拷贝到 tftp 下载目录下。

onlylove@ubuntu:~/my/tftp$ pwd
/home/onlylove/my/tftp
onlylove@ubuntu:~/my/tftp$ ls
imx6ull-alientek-emmc.dtb  zImage
onlylove@ubuntu:~/my/tftp$
  • 1
  • 2
  • 3
  • 4
  • 5

4、uboot 加载启动 linux

1、uboot加载命令

tftp 80800000 zImage
tftp 83000000 imx6ull-alientek-emmc.dtb
bootz 80800000 - 83000000
  • 1
  • 2
  • 3

2、uboot加载参数配置

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.6.129:/home/onlylove/my/nfs,proto=tcp,nfsvers=4 rw ip=192.168.6.200:192.168.6.129:192.168.6.2:255.255.255.0::eth0:off'
setenv bootcmd 'tftp 80800000 zImage;tftp 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000;'
saveenv
  • 1
  • 2
  • 3

3、加载过程

U-Boot 2016.03 (Aug 20 2022 - 00:46:14 -0700)

CPU:   Freescale i.MX6ULL rev1.1 69 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 54C
Reset cause: POR
Board: MX6ULL ALIENTEK EMMC
I2C:   ready
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
unsupported panel ATK-LCD-7-1024x600
In:    serial
Out:   serial
Err:   serial
switch to partitions #0, OK
mmc0 is current device
Net:   FEC1
Normal Boot
Hit any key to stop autoboot:  0
FEC1 Waiting for PHY auto negotiation to complete.... done
Using FEC1 device
TFTP from server 192.168.6.129; our IP address is 192.168.6.20
Filename 'zImage'.
Load address: 0x80800000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #############
         2.3 MiB/s
done
Bytes transferred = 5901752 (5a0db8 hex)
Using FEC1 device
TFTP from server 192.168.6.129; our IP address is 192.168.6.20
Filename 'imx6ull-alientek-emmc.dtb'.
Load address: 0x83000000
Loading: ###
         3.4 MiB/s
done
Bytes transferred = 39280 (9970 hex)
Kernel image @ 0x80800000 [ 0x000000 - 0x5a0db8 ]
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8300c96f

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.1.15 (onlylove@ubuntu) (gcc version 4.9.4 (Linaro GCC 4.9-2017.01) ) #1 SMP PREEMPT Sat Aug 20 01:19:15 PDT 2022
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Freescale i.MX6 ULL 14x14 EVK Board
Reserved memory: created CMA memory pool at 0x8c000000, size 320 MiB
Reserved memory: initialized node linux,cma, compatible id shared-dma-pool
Memory policy: Data cache writealloc
PERCPU: Embedded 12 pages/cpu @8bb2f000 s16768 r8192 d24192 u49152
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.6.129:/home/onlylove/my/nfs,proto=tcp,nfsvers=4 rw ip=192.168.6.200:192.168.6.129:192.168.6.2:255.255.255.0::eth0:off
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 180220K/524288K available (7300K kernel code, 333K rwdata, 2524K rodata, 404K init, 439K bss, 16388K reserved, 327680K cma-reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xa0800000 - 0xff000000   (1512 MB)
    lowmem  : 0x80000000 - 0xa0000000   ( 512 MB)
    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
    modules : 0x7f000000 - 0x7fe00000   (  14 MB)
      .text : 0x80008000 - 0x809a0308   (9825 kB)
      .init : 0x809a1000 - 0x80a06000   ( 404 kB)
      .data : 0x80a06000 - 0x80a595e0   ( 334 kB)
       .bss : 0x80a5c000 - 0x80ac9fc4   ( 440 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
        Additional per-CPU info printed with stalls.
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
NR_IRQS:16 nr_irqs:16 16
mxc_clocksource_init 3000000
Switching to timer-based delay loop, resolution 333ns
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
clocksource mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
/cpus/cpu@0 missing clock-frequency property
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80008280 - 0x800082f0
Brought up 1 CPUs
SMP: Total of 1 processors activated (6.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
device-tree: Duplicate name in lcdif@021c8000, renamed to "display#1"
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
cpuidle: using governor menu
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 8 bytes.
imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6ul-evk/flexcan2grp
imx6ul-pinctrl 20e0000.iomuxc: Invalid fsl,pins property in node /soc/aips-bus@02000000/iomuxc@020e0000/imx6ul-evk/uart2dtegrp
imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
imx6ul-pinctrl 2290000.iomuxc-snvs: Invalid fsl,pins property in node /soc/aips-bus@02200000/iomuxc-snvs@02290000/imx6ul-evk/lcdifresetgrp
imx6ul-pinctrl 2290000.iomuxc-snvs: initialized IMX pinctrl driver
mxs-dma 1804000.dma-apbh: initialized
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c i2c-0: IMX I2C adapter registered
i2c i2c-0: can't use DMA
i2c i2c-1: IMX I2C adapter registered
i2c i2c-1: can't use DMA
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
Advanced Linux Sound Architecture Driver Initialized.
Switched to clocksource mxc_timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
imx rpmsg driver is registered.
Bus freq driver module loaded
futex hash table entries: 256 (order: 2, 16384 bytes)
VFS: Disk quotas dquot_6.6.0
VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.23)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
imx-weim 21b8000.weim: Driver registered.
backlight supply power not found, using dummy regulator
21c8000.lcdif supply lcd not found, using dummy regulator
mxsfb 21c8000.lcdif: failed to find mxc display driver
Console: switching to colour frame buffer device 128x37
mxsfb 21c8000.lcdif: initialized
imx-sdma 20ec000.sdma: no event needs to be remapped
imx-sdma 20ec000.sdma: loaded firmware 3.3
imx-sdma 20ec000.sdma: initialized
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 19, base_baud = 5000000) is a IMX
console [ttymxc0] enabled
21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 233, base_baud = 5000000) is a IMX
imx sema4 driver is registered.
[drm] Initialized drm 1.1.0 20060810
[drm] Initialized vivante 1.0.0 20120216 on minor 0
brd: module loaded
loop: module loaded
fsl-quadspi 21e0000.qspi: unrecognized JEDEC id bytes: ff, ff, ff
fsl-quadspi 21e0000.qspi: Freescale QuadSPI probe failed
spi_imx 2010000.ecspi: probed
CAN device driver interface
flexcan 2090000.can: device registered (reg_base=a09e8000, irq=25)
20b4000.ethernet supply phy not found, using dummy regulator
pps pps0: new PPS source ptp0
libphy: fec_enet_mii_bus: probed
fec 20b4000.ethernet eth0: registered PHC device 0
2188000.ethernet supply phy not found, using dummy regulator
pps pps1: new PPS source ptp1
fec 2188000.ethernet eth1: registered PHC device 1
PPP generic driver version 2.4.2
PPP BSD Compression module registered
PPP Deflate Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
usbcore: registered new interface driver rtl8187
usbcore: registered new interface driver rndis_wlan
usbcore: registered new interface driver r8152
usbcore: registered new interface driver asix
usbcore: registered new interface driver ax88179_178a
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver net1080
usbcore: registered new interface driver rndis_host
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver cdc_ncm
GobiNet: Quectel_WCDMA&LTE_Linux&Android_GobiNet_Driver_V1.3.0
usbcore: registered new interface driver GobiNet
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-mxc: Freescale On-Chip EHCI Host driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver option
usbserial: USB Serial support registered for GSM modem (1-port)
2184800.usbmisc supply vbus-wakeup not found, using dummy regulator
2184000.usb supply vbus not found, using dummy regulator
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
2184200.usb supply vbus not found, using dummy regulator
ci_hdrc ci_hdrc.1: EHCI Host Controller
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
mousedev: PS/2 mouse device common for all mice
input: 20cc000.snvs:snvs-powerkey as /devices/platform/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
usbcore: registered new interface driver xpad
usb 2-1: new high-speed USB device number 2 using ci_hdrc
input: EP0820M09 as /devices/platform/soc/2100000.aips-bus/21a4000.i2c/i2c-1/1-0038/input/input1
snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc0
i2c /dev entries driver
IR NEC protocol handler initialized
IR RC5(x/sz) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR SANYO protocol handler initialized
IR Sharp protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
IR XMP protocol handler initialized
pxp-v4l2 pxp_v4l2: initialized
imx2-wdt 20bc000.wdog: use WDOG_B to reboot.
imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
/soc/aips-bus@02100000/usdhc@02190000: voltage-ranges unspecified
sdhci-esdhc-imx 2190000.usdhc: Got CD GPIO
sdhci-esdhc-imx 2190000.usdhc: No vqmmc regulator found
hub 2-1:1.0: USB hub found
hub 2-1:1.0: 4 ports detected
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA
/soc/aips-bus@02100000/usdhc@02194000: voltage-ranges unspecified
sdhci-esdhc-imx 2194000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found
mmc0: host does not support reading read-only switch, assuming write-enable
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
mmc0: new high speed SDHC card at address aaaa
mmcblk0: mmc0:aaaa SC16G 14.8 GiB
 mmcblk0: p1
fsl-asrc 2034000.asrc: driver registered
imx-wm8960 sound: wm8960-hifi <-> 202c000.sai mapping ok
imx-wm8960 sound: snd-soc-dummy-dai <-> 2034000.asrc mapping ok
imx-wm8960 sound: wm8960-hifi <-> 202c000.sai mapping ok
mmc1: MAN_BKOPS_EN bit is not set
NET: Registered protocol family 10
mmc1: new HS200 MMC card at address 0001
mmcblk1: mmc1:0001 8GTF4R 7.28 GiB
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
mmcblk1boot0: mmc1:0001 8GTF4R partition 1 4.00 MiB
mmcblk1boot1: mmc1:0001 8GTF4R partition 2 4.00 MiB
mmcblk1rpmb: mmc1:0001 8GTF4R partition 3 512 KiB
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
 mmcblk1: p1 p2
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
lib80211: common routines for IEEE802.11 drivers
Key type dns_resolver registered
Registering SWP/SWPB emulation handler
input: gpio-keys as /devices/platform/gpio-keys/input/input2
snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:23:05 UTC (1385)
fec 20b4000.ethernet eth0: Freescale FEC PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=20b4000.ethernet:01, irq=-1)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
fec 20b4000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
IP-Config: Complete:
     device=eth0, hwaddr=b8:ae:1d:01:00:00, ipaddr=192.168.6.200, mask=255.255.255.0, gw=192.168.6.2
     host=192.168.6.200, domain=, nis-domain=(none)
     bootserver=192.168.6.129, rootserver=192.168.6.129, rootpath=
gpio_dvfs: disabling
can-3v3: disabling
ALSA device list:
  #0: wm8960-audio
VFS: Mounted root (nfs4 filesystem) on device 0:15.
devtmpfs: mounted
Freeing unused kernel memory: 404K (809a1000 - 80a06000)
ALSA: Restoring mixer setting......

Please press Enter to activate this console. random: nonblocking pool is initialized
/var/empty must be owned by root and not group or world-writable.

/ # ls
bin           home          mnt           share         video
dev           include       music         sys           中文测试
drivers       lib           proc          tmp
etc           linuxrc       root          usr
gdbtest       minicom.log   sbin          var
/ #
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309

5、挂载异常解决

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/406124
推荐阅读
相关标签
  

闽ICP备14008679号