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


    一、搭建编译环境

    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、挂载异常解决

  • 相关阅读:
    迪士尼FAMA认证作用及取得FAMA注意事项
    定时器与requestAnimationFrame、requestIdleCallback
    IDEA的优化配置教程
    Mysql 分页,排序 打字练习
    C++ Qt QMainWindow实现无边框窗口自定义标题栏可拖拽移动拉伸改变窗口大小
    满地坑!细数List的10个坑
    【Linux】七、基础IO
    系列七、Nginx负载均衡配置
    录屏功能怎么打开?教你4个打开方法
    C++基类和派生类的内存分配,多态的实现
  • 原文地址:https://blog.csdn.net/OnlyLove_/article/details/126443465