搞了几天,终于收集了完整的一套,编译就可以用的包,先放地址
https://gitee.com/bailong_v3s/V3S_all 这个地址是国内的服务器,告别Github的蜗牛速度
git clone https://gitee.com/bubailong/u-boot.git -b v3s-current 这个是uboot
链接: https://pan.baidu.com/s/1BXHzOhCiQdF7YRohtO3gSw
提取码:ra2t
百度云这个是BSP内核的地址(内核大于100M不能上传到gitee,大家有什么资源可以上传到这个网站,速度非常快)
将下载的文件放到UBUNTU下解压(直接在UBUNTU下右键,点击提取到此处就可以了)
下面是使用说明:
一:uboot:
cd u-boot
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make LicheePi_Zero_480x272LCD_defconfig(因为配置文件里我默认的是4.3寸的屏幕)
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make LicheePi_Zero_800x480LCD_defconfig(这个也贴出来)
执行编译:
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make -j4
二:sunxi-tools
这个工具解压后不需要编译,直接就可以用
三:生成boot.scr文件(复制config里的bootBSP.cmd到u-boot目录)
mkimage -C none -A arm -T script -d bootBSP.cmd boot.scr
(执行这句就可以生成boot.scr)
四:生成 script.bin文件(复制config里的sys_config.fex到u-boot目录)默认4.3寸屏幕,根据需要自行修改
../sunxi-tools/fex2bin sys_config.fex > script.bin
五:编译内核(linux-3.4)(复制config里的lichee_BSP_config到linux-3.4目录)
cd linux-3.4
cp lichee_BSP_config .config
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage -j16
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j16 INSTALL_MOD_PATH=out modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j16 INSTALL_MOD_PATH=out modules_install
执行完后uImage 在 arch/arm/boot/uImage就会出现了(里面已经把OV5647、网口选择了,不需要额外的配置了)
六:文件系统buildroot2019.08(可以配置QT5,已经验证,选择内部的编译器就可以了)
cd buildroot2019.08
make menuconfig
下面这个是基本配置
下面是配置QT步骤
按照上面的步骤配置后就可以使用QT了(编译过程会下载很多包,后面会发出来)
make -j16
上面的 -j16 是电脑的线程数,我的是支持16线程的,大家根据自己的配置改
七:下载到板子
烧录TF卡启动盘:
1) 删除TF卡所有分区
2) 将uboot写入到sd卡8k偏移处
sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8
(进入u-boot目录后执行)
3) 建立第一个分区(boot),前面空出8MB 大小32M(可以随意填写), 格式FAT16, 把uImage,boot.src,script.bin,拷贝到 这个分区
4) 建立第二个分区(rootfs),用尽剩余空间,格式ext4, 把buildroot产生的rootfs.tar解压到该分区根目录(进入buildroot-2019.08后执行)
tar xvf output/images/rootfs.tar -C /挂载的tf卡第二个分区目录
把上面的步骤都执行完后,就可以退出TF卡,插到板子上就可以运行了,对于刚入门的新手来说够用了
以下由@哇酷小二 2020-05-12 添加
------------------------------------------
链接: https://pan.baidu.com/s/1BXHzOhCiQdF7YRohtO3gSw
提取码:ra2t
感谢楼主分享, 这个文件我已经传上来了: linux-3.4.tar.gz
校验值 CRC32是: 0x258be813
其他参考链接: licheepi zero BSP 内核(linux3.4) 编译教程
最近编辑记录 bubailong (2020-05-19 11:04:19)
离线
不错,可以把V3S完整的编译一遍了
离线
离线
感谢楼主分享, 这个文件我已经传上来了: linux-3.4.tar.gz
校验值 CRC32是: 0x258be813
哈哈,嗯,对,用的就是这个,编译后感觉挺好用的,就发出来了,借花献佛
离线
谢谢分享,期待更好的帖子
离线
感谢楼主分享!
离线
谢谢分享 写的真好
离线
这个BSP内核支持硬件编解码了吗
bsp linux 支持编解码的,但是楼主这个行不行不清楚呢。
离线
http://nano.lichee.pro/build_sys/rootfs.html
里面有一句 buildroot不能进行多线程编译
离线
http://nano.lichee.pro/build_sys/rootfs.html
里面有一句 buildroot不能进行多线程编译
buildroot用的不是他们的,我这可以使用多线程的,前提是你配置的UBUNTU支持多线程
最近编辑记录 bubailong (2020-05-19 15:52:20)
离线
链接: https://pan.baidu.com/s/1G1se3eJ3JIlSk4RisfzpVQ
提取码: 0cjr
这个里面包含内核和dl包(dl解压到buiildroot2019.08里面)
离线
感谢楼主分享
离线
做了一块V3S的小板,添加了4G模组,来个亮相!
离线
离线
标记一下,听说v3s要停产,不知道是不是真的
离线
标记一下,听说v3s要停产,不知道是不是真的
听谁说的,不可能吧!
离线
写的很详细,明天用刚到手的荔枝派Zero试试
离线
标记一下,听说v3s要停产,不知道是不是真的
热销型号是不会停产的,如果还能维持性价比,V3s/F1C100s还能卖10年。
离线
请教下,这个是TF卡启动,如何烧写到nor或者nandflash,
去除tf卡的依赖呢,直接从flash启动,?
离线
感谢LZ分享
离线
顺利编译完,但会反复重启,还不知道原因。
离线
请教下,这个是TF卡启动,如何烧写到nor或者nandflash,
去除tf卡的依赖呢,直接从flash启动,?
你可以参考这个的7楼,修改u-boot,写个打包脚本
https://whycan.cn/t_3138.html
离线
支持视频编解码功能吗?
离线
支持视频编解码功能吗?
这个内核还不支持的呦
离线
谢谢分享,楼主知道荔枝派V3S新版的内核(linux-4.14 linux-5.2这种)功能怎么样吗?
离线
离线
thank you so much, very helpful
离线
编译uboot的交叉编译器和 编译Linux的交叉编译器不一样的?CROSS_COMPILE=arm-linux-gnueabi- 这个编译器哪里可以下载了?apt install 没有下载的
离线
好东西啊,学习学习来咯,参考一下的
离线
按照这个编译,u-boot出错了,请问怎么回事?
离线
已经解决,是python版本问题,用python2可以。用python3就不行。
离线
编译uboot的交叉编译器和 编译Linux的交叉编译器不一样的?CROSS_COMPILE=arm-linux-gnueabi- 这个编译器哪里可以下载了?apt install 没有下载的
是啊,编译器不一样,arm-linux-gnueabi VS arm-linux-gnueabihf
可以这样安装:sudo apt install gcc-arm-linux-gnueabi,查看版本:arm-linux-gnueabi-gcc -v
$ arm-linux-gnueabi-gcc --version
arm-linux-gnueabi-gcc (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
离线
apt install arm-linux-gnueabi能用吗
离线
apt install arm-linux-gnueabi能用吗
能用 ubuntu18.04
离线
Thank you, it very helpful
离线
BSP内核 和 主线的区别是什么呀?
离线
收藏一下,非常感谢!!!
离线
多谢楼主,赶紧收藏
离线
感谢LZ分享
离线
请教一下楼主;在内核反复重启是何原因?猜测是根文件系统无法挂载,但找不到分析头绪,还请指导!
备注:根文件系统之前一直在用,换了bsp内核之后,同样将rootfs 解压缩到rootfs分区,
[ 2.844561] *******************sd init ok*******************
[ 2.851030] platform reg-20-cs-dcdc3: Driver reg-20-cs-dcdc3 requests probe deferral
[ 2.859829] platform reg-20-cs-ldo1: Driver reg-20-cs-ldo1 requests probe deferral
[ 2.868376] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe deferral
[ 2.877002] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe deferral
[ 2.885622] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe deferral
[ 2.894157] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests probe deferral
[ 2.951189] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
[ 2.961418] EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities
[ 2.971571] EXT4-fs (mmcblk0p2): couldn't mount RDWR because of unsupported optional features (400)
[ 2.985524] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
[ 2.995119] Backtrace:
[ 2.998049] [<c0013410>] (dump_backtrace+0x0/0x110) from [<c0354534>] (dump_stack+0x18/0x1c)
[ 3.007609] r6:00008000 r5:c183d024 r4:c183d024 r3:00000001
[ 3.014476] [<c035451c>] (dump_stack+0x0/0x1c) from [<c0354918>] (panic+0x78/0x1cc)
[ 3.023085] [<c03548a0>] (panic+0x0/0x1cc) from [<c047ed20>] (mount_block_root+0x240/0x290)
[ 3.032539] r3:c1821f0c r2:00000020 r1:c1821f38 r0:c040406e
[ 3.039310] r7:c049c0b8
[ 3.042419] [<c047eae0>] (mount_block_root+0x0/0x290) from [<c047edc8>] (mount_root+0x58/0x68)
[ 3.052087] [<c047ed70>] (mount_root+0x0/0x68) from [<c047ef08>] (prepare_namespace+0x130/0x190)
[ 3.062022] r5:c049c0c9 r4:c04e6024
[ 3.066371] [<c047edd8>] (prepare_namespace+0x0/0x190) from [<c047e94c>] (kernel_init+0x16c/0x1a8)
[ 3.076413] r5:c049c0b0 r4:00000007
[ 3.080770] [<c047e7e0>] (kernel_init+0x0/0x1a8) from [<c0031df4>] (do_exit+0x0/0x66c)
[ 3.089656] Rebooting in 5 seconds..
[ 8.178314] Restarting Linux version 3.4.39 (root@V3S) (gcc version 4.6.3 20120201 (prerelease) (crosstool-NG linaro-1.13.1-2012.02-20120222 - Linaro GCC 2012.02) ) #1 Wed Sep 16 12:43:52 CST 2020
[ 8.178329]
离线
@嵌入式小弟 根文件系统错误,bsp linux套路不同。
licheepi zero BSP 内核(linux3.4) 编译教程
http://whycan.com/t_682.html
(出处:哇酷开发者社区【全志 V3S/F1C100s/X3】)
最近编辑记录 redstar (2020-09-16 15:41:39)
离线
@嵌入式小弟 根文件系统错误,bsp linux套路不同。
licheepi zero BSP 内核(linux3.4) 编译教程
http://whycan.com/t_682.html
(出处:哇酷开发者社区【全志 V3S/F1C100s/X3】)
谢谢回复,不过问题依旧,我按照bsp内核的编译流程都走了一遍,也将楼主的lichee_BSP_config拷贝成了.config,个人感觉还是有哪里的细节没有care到,应该和buildroot制造出的rootfs关系不大,
离线
看下linux的启动日志,有没有生成mtd分区。如果没有生成就是驱动和配置问题.
离线
看下linux的启动日志,有没有生成mtd分区。如果没有生成就是驱动和配置问题.
谢谢,刚刚解决
原因还不太不太理解 “这种情况是因为mkfs.ext4的时候制定的参数,旧的内核不支持导致”
方法如下:
1:读卡器插入SD卡
2:利用Gparted软件先取消rootfs的挂在
2:终端敲入tune2fs -O ^metadata_csum /dev/sdb2 (根据rootfs的分区选择sdb1,还是sdb2)
3:提示:请在这个文档系统上运行 e2fsck.
4:敲入e2fsck -f -a -v /dev/sdb1
370 个已使用的inode(0.02%,总共 1896832)
0 个不连续的文件(0.0%)
0 个不连续的目录(0.0%)
# 一次/二次/三次链接块数:0/0/0
Extent深度直方图: 76
163787 个已使用的块(2.16%,总共 7573504)
0 个坏块
1 个大文件
41 个普通文件
34 个文件夹
1 个字符设备文件
0 个块设备文件
0 个队列文件
0 个链接
285 个符号链接 (285 个直接符号链接)
0 个套接字文件
------------
361 个文件
5:查新插入sd卡 就可以正常启动了
[ 2.844481] *******************sd init ok*******************
[ 2.851035] platform reg-20-cs-dcdc3: Driver reg-20-cs-dcdc3 requests probe deferral
[ 2.859842] platform reg-20-cs-ldo1: Driver reg-20-cs-ldo1 requests probe deferral
[ 2.868390] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe deferral
[ 2.877019] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe deferral
[ 2.885641] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe deferral
[ 2.894175] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests probe deferral
[ 2.983820] EXT4-fs (mmcblk0p2): recovery complete
[ 2.990260] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 2.999482] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 3.007999] devtmpfs: mounted
[ 3.011609] Freeing init memory: 140K
[ 3.131952] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
Starting logging: OK
Initializing random number generator... done.
Starting network: OK
Welcome to Buildroot
6:最后附上参考网址 https://www.dazhuanlan.com/2019/12/05/5de86b13e1c54/
离线
我这里用buildroot最新版本,编译内核,镜像启动很容易,就是GUI配置一直用不了。uboot里面的GUI居然,把v3s直接屏蔽了。
离线
支持sd卡还是spi启动
最近编辑记录 rick lou (2020-11-14 19:45:28)
离线
问下能移植lvgl吗?
离线
mark 一下
离线
孤星泪 说:看下linux的启动日志,有没有生成mtd分区。如果没有生成就是驱动和配置问题.
谢谢,刚刚解决
原因还不太不太理解 “这种情况是因为mkfs.ext4的时候制定的参数,旧的内核不支持导致”
方法如下:
1:读卡器插入SD卡
2:利用Gparted软件先取消rootfs的挂在
2:终端敲入tune2fs -O ^metadata_csum /dev/sdb2 (根据rootfs的分区选择sdb1,还是sdb2)
3:提示:请在这个文档系统上运行 e2fsck.
4:敲入e2fsck -f -a -v /dev/sdb1370 个已使用的inode(0.02%,总共 1896832) 0 个不连续的文件(0.0%) 0 个不连续的目录(0.0%) # 一次/二次/三次链接块数:0/0/0 Extent深度直方图: 76 163787 个已使用的块(2.16%,总共 7573504) 0 个坏块 1 个大文件 41 个普通文件 34 个文件夹 1 个字符设备文件 0 个块设备文件 0 个队列文件 0 个链接 285 个符号链接 (285 个直接符号链接) 0 个套接字文件 ------------ 361 个文件
5:查新插入sd卡 就可以正常启动了
[ 2.844481] *******************sd init ok******************* [ 2.851035] platform reg-20-cs-dcdc3: Driver reg-20-cs-dcdc3 requests probe deferral [ 2.859842] platform reg-20-cs-ldo1: Driver reg-20-cs-ldo1 requests probe deferral [ 2.868390] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe deferral [ 2.877019] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe deferral [ 2.885641] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe deferral [ 2.894175] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests probe deferral [ 2.983820] EXT4-fs (mmcblk0p2): recovery complete [ 2.990260] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null) [ 2.999482] VFS: Mounted root (ext4 filesystem) on device 179:2. [ 3.007999] devtmpfs: mounted [ 3.011609] Freeing init memory: 140K [ 3.131952] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered Starting logging: OK Initializing random number generator... done. Starting network: OK Welcome to Buildroot
6:最后附上参考网址 https://www.dazhuanlan.com/2019/12/05/5de86b13e1c54/
我按照你的方法操作了一波,最后出现下面的现象,请教一下是什么原因呢?,确认过rootfs目录下面有linuxrc
1.468528] Waiting for root device /dev/mmcblk0p2...
[ 1.477481] mmc0: new high speed SD card at address 0001
[ 1.483919] mmcblk0: mmc0:0001 SD 1.84 GiB
[ 1.490409] mmcblk0: p1 p2
[ 1.494389] mmcblk mmc0:0001: Card claimed for testing.
[ 1.500354] mmc0:0001: SD 1.84 GiB
[ 1.504545] platform reg-20-cs-dcdc2: Driver reg-20-cs-dcdc2 requests probe deferral
[ 1.513286] *******************sd init ok*******************
[ 1.519863] platform reg-20-cs-dcdc3: Driver reg-20-cs-dcdc3 requests probe deferral
[ 1.529898] platform reg-20-cs-ldo1: Driver reg-20-cs-ldo1 requests probe deferral
[ 1.538557] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe deferral
[ 1.547371] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe deferral
[ 1.555940] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe deferral
[ 1.564595] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests probe deferral
[ 1.578927] *******************Try sdio*******************
[ 1.586152] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
[ 1.596284] EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities
[ 1.605534] *******************Try sd *******************
[ 1.615325] *******************Try mmc*******************
[ 1.629700] EXT4-fs (mmcblk0p2): recovery complete
[ 1.635211] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 1.644669] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 1.653758] devtmpfs: mounted
[ 1.657453] Freeing init memory: 140K
[ 1.668954] *******************Try sdio*******************
[ 1.679733] *******************Try sd *******************
[ 1.690577] *******************Try mmc*******************
[ 1.702049] request_module: runaway loop modprobe binfmt-0000
[ 1.727632] request_module: runaway loop modprobe binfmt-0000
[ 1.737505] Kernel panic - not syncing: No init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
[ 1.752087] Backtrace:
[ 1.755043] [<c0013410>] (dump_backtrace+0x0/0x110) from [<c0354534>] (dump_stack+0x18/0x1c)
[ 1.764554] r6:c049c090 r5:c049c0b0 r4:c04e5fc0 r3:00000001
[ 1.771344] [<c035451c>] (dump_stack+0x0/0x1c) from [<c0354918>] (panic+0x78/0x1cc)
[ 1.780040] [<c03548a0>] (panic+0x0/0x1cc) from [<c03544f8>] (init_post+0xa8/0xcc)
[ 1.788535] r3:c181db40 r2:0000003c r1:00001a3d r0:c0403bfe
[ 1.795401] r7:c04e5fc0
[ 1.798411] [<c0354450>] (init_post+0x0/0xcc) from [<c047e950>] (kernel_init+0x170/0x1a8)
[ 1.807677] r4:00000007 r3:c1401798
[ 1.811958] [<c047e7e0>] (kernel_init+0x0/0x1a8) from [<c0031df4>] (do_exit+0x0/0x66c)
[ 1.820942] Rebooting in 5 seconds..
离线
感谢分享。
离线
离线
现在打算用v3s搞个小产品,但这个芯片已经很久了吧?不知道停产没
离线
Hello, what is the video maximum resolution can be encoded in bsp version for v3s?
最近编辑记录 niyazfattahov (2021-07-17 15:11:03)
离线
我问一下,这个linux3.4是bsp开发包,支持主线的设备树吗,如果支持,是在arch/arm/boot/dts 设备树文件夹下吗,自己真的对linux不太熟练
离线
我问一下,这个linux3.4是bsp开发包,支持主线的设备树吗,如果支持,是在arch/arm/boot/dts 设备树文件夹下吗,自己真的对linux不太熟练
linux3.4 的 bsp 不支持标准的Linux设备树,但是支持全志自己DIY的设备树。
离线
楼主也把编译工具发送上来看看
离线
sunxiang 说:我问一下,这个linux3.4是bsp开发包,支持主线的设备树吗,如果支持,是在arch/arm/boot/dts 设备树文件夹下吗,自己真的对linux不太熟练
linux3.4 的 bsp 不支持标准的Linux设备树,但是支持全志自己DIY的设备树。
想问一下,这个是实时系统么,想做一个实时系统需要怎么打实时补丁呀
离线
你好
关于这段编译内核与uboot的工具链是不同,arm-linux-gnueabi工具是多少版本的,有要求吗,uboot是arm-linux-gnueabihf,我现在使用的主线uboot和内核(linux kernel官网下载的),也是使用的arm-linux-gnueabihf工具链,如果使用arm-linux-gnueabihf工具链编译3.4的内核,会报错的说。
uboot
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make LicheePi_Zero_480x272LCD_defconfig(因为配置文件里我默认的是4.3寸的屏幕)
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make LicheePi_Zero_800x480LCD_defconfig(这个也贴出来)
执行编译:
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make -j4
kernel
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage -j16
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j16 INSTALL_MOD_PATH=out modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j16 INSTALL_MOD_PATH=out modules_install
离线
@forever_rainy
参考sipeed的文档,摸索了下,sipeed链接:https://wiki.sipeed.com/soft/Lichee/zh/Zero-Doc/System_Development/bsp_build.html
发现他的机制跟之前的都不一样,先使用buildroot下载工具链,再将工具链拷贝出去解压使用,这时就回到了之前的的思路。
另外buildroot确实对多线程是不支持的:https://buildroot.org/downloads/manual/manual.html#_buildroot_quick_start
(因为下载了buildroot2022编译了试试,多线程容易出错)
他这个多线程在新版本说起来也是实验,不是完全可用?
这里说明了要设置一个参数,可以在顶层使用parallel build,https://buildroot.org/downloads/manual/manual.html#top-level-parallel-build
但是是实验特性,选项为:
Build options--->
Advanced--->
Use per-package directories(experimental)
之后可以使用 make -jN
最近编辑记录 forever_rainy (2022-05-28 12:48:52)
离线
感谢楼主分享,不过v3s就是坑比较多
离线
@嵌入式小弟
这种方式试了不行,把自带的交叉工具链取消了,使用在线下载的方式,然后替换dl文件夹才成功
离线
请教下,这个是TF卡启动,如何烧写到nor或者nandflash,
去除tf卡的依赖呢,直接从flash启动,?
兄弟 从flash启动可以了吗
离线
有没有4.0内核的编译方法呢?
离线