从新唐github上下载的NUC970_Buildroot,默认配置如下:可以编译成功
现在不想把initramfs集成到内核镜像中,,希望生成独立的yaffs2格式的根文件系统镜像文件,,配置改成如下:
编译报错:
HOSTCC usr/gen_init_cpio
./scripts/gen_initramfs_list.sh: Cannot open '../../images/rootfs.cpio'
usr/Makefile:73: recipe for target 'usr/initramfs_data.cpio.gz' failed
make[3]: *** [usr/initramfs_data.cpio.gz] Error 1
Makefile:1001: recipe for target 'usr' failed
make[2]: *** [usr] Error 2
请问要怎么配置才能生成 yaffs2 格式的文件系统??
离线
默认的是在sdram运行的,你要选择外部nand才可以的。具体的你可以参考topsemic的文章看一下。
离线
默认的是在sdram运行的,你要选择外部nand才可以的。具体的你可以参考topsemic的文章看一下。
板子上是SPINAND,,系统肯定要在SDRAM中运行,,但文件系统肯定要在Flash上啊,,不然新建的文件掉电不就丢失了吗?
就像电脑上,,系统在DDR中运行,,但文件系统肯定在硬盘上啊
离线
buildroot 只要勾上 yaffs2 就会出错?
感谢站长指点,,不是yaffs2的问题,,只要不勾选“initial RAM filesystem linked into linux kernel”就会报上面的错误
可是我看了这个选项的含义,,感觉如果生成yaffs2文件系统的话,,就不应该勾选这个选项,,因为勾选了它内核镜像文件里面就会有一个initramfs格式的根文件系统,,然后再烧录yaffs2格式的根文件系统镜像,,那板子上不就有两个根文件系统了吗?
离线
有可能和 kernel 的配置相关, 你进入 kernel 目录执行 make menuconfig 看看.
感谢指点,,确实和内核配置有关,,关掉下面这个选项就可以了
另外需要注意的是:必须先关掉下面这个选项,,上面那个选项才能关的掉。。否则的话修改了上面的选项、保存成功退出后,,配置文件中的内容还是没改变。。而且软件也不会弹出警告框告诉你有依赖不会修改,,Buildroot还是不够智能啊,,在这里折腾了好久
离线
感谢分享,感觉台湾的gm,nuvoton等soc厂家sdk都喜欢用 initramfs 作为根文件系统。
这样啊,,不知道怎么考虑的
我查了下确实有一种用法是上电的时候先用 initramfs 作为根文件系统,,后面再挂载真正的文件系统。。
感觉这种方法在复杂的环境下应该有用,,不过在嵌入式这种资源少、连接和配置固定的环境下没必要这么搞。。
离线
用buildroot生成了uboot,uImage和rootfs.yaffs2文件。
烧录到板子上,感觉比之前自己单独下载nuvoton的uboot,kernel编译生成的uboot,kernel启动更快。
在buildroot的make menuconfig里,选了install uboot-spl,也生成了u-boot-spl。
就是不知道其他关于kernel的设置该怎么设置?比如设置lcd,串口等。只能再进去kernel子目录单独make menuconfig吗?
----------------------------------------------------------------------
进buildroot目录下找了一遍,没发现uboot和kernel目录...
-------------------------------------------------------------------------
现在启动这么快是因为用的是initramfs,明明我已经设成yaffs格式的了,而且已经生成rootfs.yaffs2文件了。
估计还是内核配置的问题,可我找不到内核配置选项在哪里?
-----------------------------------------------------------------------------
知道了,在buildroot目录下的output/build目录下,有uboot和linux。
最近编辑记录 Gentlepig (2020-03-26 11:57:03)
离线
有点糊涂了。
一开始用buildroot编译出来的yaffs类型的根文件,很小,大概13M。
后来把Qt5勾选上了,再次编译,好像也没大多少,忘了是多少来着。
然后把python3和pyqt5勾选,就大了,好像是30多兆还是40多兆来着。
然后把python3和pyqt5取消勾选,结果生成的根文件大小没变。
执行make clean,重新编译,直接勾选Qt5,结果这次直接25M了。
请问:
1,为何我取消勾选某些功能,结果生成的根文件大小没变?
2,如果我想重新编译生成根文件,能不能只执行制作根文件这一步骤?每次make clean后,都要再解压一堆东西,还要重新编译了一遍uboot和kernel,而且kernel还需要重新配置,挺繁琐的(kernel的配置,我是保存了.config文件解决了)。
最近编辑记录 Gentlepig (2020-03-26 16:27:29)
离线
离线
请教了qq群里一位朋友,在Buildroot里,可以通过执行make linux-menuconfig来配置内核,同理还有make uboot-menuconfig,make busybox-menuconfig.
不过我执行make uboot-menuconfig时,界面很混乱...
离线
好奇楼主的内核为什么是4.4的?我看新塘的github上还是3.10的。
离线
我照做關閉cpio root file system等上述之介紹了,make後build也順利
結果使用Nuwrite將980Image寫入後啟動,就kernel panic了
离线