该 Issue 用于管理 Linux Lab v0.6 的开发工作,主要目标为添加第一块真实的硬件开发板支持。
欢迎各大硬件厂商通过微信号 tinylab 联系我们,一起合作为 Linux Lab 新增其他开发板支持
1.1 立即购买
https://shop155917374.taobao.com/
1.2 相关资料
https://ebf-products.readthedocs.io/zh_CN/latest/linux/ebf_i.mx6ull.html
https://embed-linux-tutorial.readthedocs.io/zh_CN/latest/index.html
https://gitee.com/tinylab/qemu-arm-mcimx6ul-evk
板子现在使用这里的kernel和uboot,大家编译的时候使用这两个仓库,教程里还是旧的没更新。
(gitee超出限制了)https://gitee.com/Embedfire/ebf_linux_kernel.git (ebf_4.19.35_imx6ul分支)
(github)https://github.com/Embedfire/ebf_linux_kernel (ebf_4.19.35_imx6ul分支)
https://gitee.com/Embedfire/ebf_linux_uboot.git (ebf_v2020_10_imx分支)
image-builder(用来构建文件系统及整个镜像的)使用这个仓库的image-builder_2.0分支:
https://gitee.com/Embedfire/ebf-image-builder.git (image-builder_2.0分支)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
github 正确地址:https://github.com/Embedfire/ebf_linux_kernel ebf_4.19_imx
Linux Lab 第一块真板初步支持已经 Ready,make kernel
ok,make boot
这块还需要解决上传自动化。
欢迎大家体验,更新后,切到 next 分支,文档在 boards/arm/ebf-imx6ull/README.md
nand uboot可以在板子里面自更新,直接使用板子linux系统自带的kobs-ng工具烧录就可以了,用法:kobs-ng init -x -v --chip_0_device_path=/dev/mtd0 xxx.imx。参考脚本:https://gitee.com/Embedfire/ebf_6ull_bootscripts/blob/master/tools/Nand/functions.sh
今日新增 “一键” 自动上传功能,仅需简单配置一下 root 和普通用户的登陆密码即可,详情请参考 next 分支的 boards/arm/ebf-imx6ull/README.md
$ make kernel-upload
$ make dtb-upload
$ make modules-upload
另有新增 boot, test 和 debug,boot 直接调用了 minicom,而 test 和 debug 目前实现为空。
新内核的触屏换到内核的驱动了,名字跟旧的不一样,qt app输入里用了旧驱动的名字
sudo apt install evtest
sudo evtest
运行 evtest 可以直接测试触摸屏
新板的名称统一更新为 arm/ebf-imx6ull
,使用时请用如下命令切换:
$ make B=arm/ebf-imx6ull
当前开发成果已经合并到 next 分支,欢迎大家体验,涉及仓库如下:
详细用法请参考:boards/arm/ebf-imx6ull/README.md
USB虚拟串口、网络及U盘需要预览版镜像才支持。
预览版镜像链接:
云盘资料:imx6ul Debian镜像百度云链接
链接:https://pan.baidu.com/s/1pqVHVIdY97VApz-rVVa8pQ
提取码:uge1
板子现在使用这里的kernel和uboot,大家编译的时候使用这两个仓库,教程里还是旧的没更新。
(gitee超出限制了)https://gitee.com/Embedfire/ebf_linux_kernel.git (ebf_4.19.35_imx6ul分支)
(github)https://github.com/Embedfire/ebf_linux_kernel (ebf_4.19.35_imx6ul分支)
https://gitee.com/Embedfire/ebf_linux_uboot.git (ebf_v2020_10_imx分支)
image-builder(用来构建文件系统及整个镜像的)使用这个仓库的image-builder_2.0分支:
https://gitee.com/Embedfire/ebf-image-builder.git (image-builder_2.0分支)
@flyleaf91 gitee的地支好像错了,应该是下面这个:
$git clone git://git.busybox.net/buildroot
$cd buildroot
$make imx6ullevk_defconfig
$make menuconfig
这里选择kernel和Bootloader版本如下,其他默认即可
kernel-> kernel version : 5.10
Bootloader -> U-boot Version : 2020.10
$ make -j8
$ ls output/images/ -al
total 91656
drwxr-xr-x 2 vmuser vmuser 4096 1月 2 16:47 .
drwxr-xr-x 6 vmuser vmuser 4096 1月 1 23:51 ..
-rw-r--r-- 1 vmuser vmuser 16777216 1月 2 16:47 boot.vfat
-rwxr-xr-x 1 vmuser vmuser 30847 1月 2 16:46 imx6ull-14x14-evk.dtb
-rw-r--r-- 1 vmuser vmuser 62914560 1月 2 16:47 rootfs.ext2
lrwxrwxrwx 1 vmuser vmuser 11 1月 2 16:47 rootfs.ext4 -> rootfs.ext2
-rw-r--r-- 1 vmuser vmuser 18923520 1月 2 16:47 rootfs.tar
-rw-r--r-- 1 vmuser vmuser 88080384 1月 2 16:47 sdcard.img
-rw-r--r-- 1 vmuser vmuser 371855 1月 2 16:14 u-boot.bin
-rw-r--r-- 1 vmuser vmuser 375808 1月 2 16:14 u-boot-dtb.imx
-rw-r--r-- 1 vmuser vmuser 9528384 1月 2 16:46 zImage
这里的sdcard.img 就是我们要烧写的SD卡的镜像
准备SD卡镜像(Linux PC或虚拟机下)
注意:这里X为你的SD卡插入到Linux PC或虚拟机下的设备符,正确识别
$ sudo dd if=output/images/sdcard.img of=/dev/sdX && sync
将SD(TF)卡插入板子的TF卡槽,连接串口线
打开串口终端并给开发板上电
在u-boot console下执行如下命令:
=> fatload mmc 0 80800000 /zImage
=> run mmcboot
就可以运行起来5.10内核啦。。。。。。
Todo List:
1)u-boot 为何不能正确加载zImage?
2)rootfs还是用的emmc上的,而不是SD卡上的?是mmcroot=/dev/mmcblk1p2 这里配置的不对吗?
3)将u-boot 2020.10 和linux 5.10.0 版本适配到Linux Lab
附上最新u-boot的env:
=> printenv
baudrate=115200
board_name=EVK
board_rev=14X14
boot_fdt=try
bootargs=console=ttymxc0,115200 root=/dev/nfs ip=dhcp nfsroot=:,v3,tcp
bootcmd=run findfdt;mmc dev ${mmcdev};mmc dev ${mmcdev}; if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; else run netboot; fi; fi; else run netboot; fi
bootdelay=2
bootscript=echo Running bootscript from mmc ...; source
console=ttymxc0
ethprime=eth1
fdt_addr=0x83000000
fdt_file=imx6ull-14x14-evk.dtb
fdt_high=0xffffffff
fdtcontroladdr=9ef95f30
fileaddr=80800000
filesize=916440
findfdt=if test $fdt_file = undefined; then if test $board_name = ULZ-EVK && test $board_rev = 14X14; then setenv fdt_file imx6ulz-14x14-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;
get_cmd=dhcp
image=uImage
initrd_high=0xffffffff
ip_dyn=yes
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}
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/mmcblk1p2 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;
script=boot.scr
stderr=serial
stdin=serial
stdout=serial
videomode=video=ctfb:x:480,y:272,depth:24,pclk:108695,le:8,ri:4,up:2,lo:4,hs:41,vs:10,sync:0,vmode:0
Environment size: 2259/8188 bytes
linux version uuu tool download url: https://github.com/NXPmicro/mfgtools/releases/download/uuu_1.4.69/uuu
linux-lab 操作流程 https://mp.csdn.net/editor/html/112131298
linux-lab 操作流程 https://mp.csdn.net/editor/html/112131298
@kyo1 这个好像还需要登陆才能查看 ;-)
这块开发板的外设配置以 dtb 插件 dtbo 的形式存在,相关资料请参考:
debian镜像源码: linux/debian/ebf-linux-dtoverlays
gitee链接:https://gitee.com/Embedfire/ebf-linux-dtoverlays
github链接:https://github.com/Embedfire/ebf-linux-dtoverlays
编译说明参考这个文档:
http://doc.embedfire.com/linux/imx6/base/zh/latest/linux_driver/dynamic_device_tree.html
Sign in to comment