问题标签 [linux-from-scratch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
485 浏览

glibc - LFS 8.3 Glibc-2.28 使检查失败'stdlib/test-bz22786'

我在 LFS 书的第 6.9 节,我的主机操作系统是 Ubuntu 18.04,当我运行时make check出现如下错误:

我想知道错误stdlib/test-bz22786是否是无害的消息?

0 投票
1 回答
751 浏览

linux - 如何通过 grub2 以与发行版无关的方式从作为根设备加载的 cpio 存档中获取 initrd?

我正在虚拟机中构建 LFS(Linux From Scratch)系统,到目前为止,我已经设法获得了一个可行的桌面系统,从已知设备启动,在我的例子中是 /dev/sda1。我现在正在尝试制作一个从 ISO 映像引导的实时系统。而不是使用我已经建立的 /dev/sr0 作为根是可能的(而且,因为它更有可能从 USB 记忆棒中使用而不是实际的 CD-ROM,所以太不灵活了)我已经下定决心在将其引导到 initrd 根目录时。这个想法是使用它作为系统的根而不是用它作为临时根来加载“真正的”根,并且由于它已经在内存中,它省去了设置 tmpfs 根的麻烦,复制所有文件,并切换到它。

我之前一直在尝试使用 squashfs 图像,因为我看到 Ubuntu 似乎使用它并且具有我需要的东西:一个小型根,加载速度更快,使用更少的内存,并且速度很快(xz 是 SSLLOOWW 提取和gzip 加载缓慢)。起初我无法启动它,所以我切换到基于 cpio 的 initrd。由于存档中的文件丢失导致一些初始麻烦后,我确实设法启动了它。

我暂时(大约一个月前)将其放在一边,以便在系统上执行其他任务。我丢失了原始的 GRUB2 设置和内核配置,所以又重新做了一次,但我遇到了障碍。我希望这里的人可能知道我错过了什么。

当我启动时,我从来没有看到任何有关加载 initrd 文件的消息,它直接进入内核的加载、解压缩和启动。这最终导致内核恐慌并显示消息

没有显示分区,然后是“内核恐慌”消息,只是重复第一行。如果我使用“rootfstype=ramfs”,我会得到:

本质上,它将 EMPTY ramfs 文件系统挂载为 root,因此挂载 devtmpfs 失败,因为 /dev 条目不存在。但可以肯定的是,我以前使用过该引导选项。

这是我的 GRUB 2 配置:

是的,/boot/kernel/initrd/目录项存在,linux是内核(编译内核产生的bzimage文件),root.cpio.gz是我压缩的initrd根cpio归档。

这是我内核的 .config 文件(抱歉不能粘贴到这里)。

如果需要更多信息,请随时询问。那个你。

0 投票
1 回答
6540 浏览

linux - glibc 配置错误:yacc/bison 丢失

我正在遵循LFS的说明,但有一点不同:我只遵循第 5 节的部分内容 - 在可以构建自己的 GCC 的范围内构建临时系统,原因是这是一台工作机器,而我没有'没有root权限。一切正常,直到我遇到配置错误glibc

经过一番调查,事实证明我不满足 LFS 所需的这个条件:

原来没有这样的文件/usr/bin/yacc(虽然bison确实存在)。但是,因为我在工作中没有 root 权限,所以无法在那里创建符号链接。这里有解决方法吗?

0 投票
4 回答
2161 浏览

linux - LFS CoreUtils-8.30 失败,缺少 aclocal-1.15

我有一台标准的核心 i5 笔记本电脑,我正在尝试制作 LFS(Linux From Scratch),它一切正常(经过几次重试),直到我尝试制作 Coreutils-8.30 时,我得到了:

我在这个问题上四处走动,但我没有得到任何结果。我找到了一些对 gettext 的引用,但这并没有帮助。

感谢您的任何指导。

0 投票
0 回答
48 浏览

linux - LFS v8.3 上的 gcc 8.2.0 构建失败

虽然按顺序构建所有包,但每个包都成功,但 gcc 8.2.0 构建失败。

以下是执行时的构建错误make

msgfmt:加载共享库时出错:libxml2.so.2:无法打开共享对象文件:没有这样的文件或目录

0 投票
0 回答
162 浏览

linux - 为什么我在尝试编译 GCC 时会收到 make 错误?

我目前正在研究 Linux From Scratch 第 5.5 部分:http ://www.linuxfromscratch.org/lfs/view/stable/chapter05/gcc-pass1.html虽然到目前为止我已经完全正确地遵循了一切,但我收到了以下信息编译 GCC 8.2.0 大约 20 分钟后出错:

任何帮助将不胜感激,我已经尝试了几个小时。

0 投票
1 回答
131 浏览

linux - 以 iso 格式创建 OS 映像

我想将操作系统映像创建为 iso,因此我可以将 LFS 系统用作 VM 中的来宾。这样做的正确方法是什么?

提前致谢。

0 投票
0 回答
85 浏览

linux - 编译 lightdm-gtk-greeter-2.0.3.tar.gz 时出现奇怪的错误

编译 lightdm-gtk-greeter-2.0.3.tar.gz 时出现错误,如下所示

我正在使用 glibc-2.28 和 gcc-8.2.0。有人可以帮忙吗?

谢谢

0 投票
3 回答
315 浏览

c - LFS 5.7.Glibc-2.29 的完整性检查失败

LFS我想在CentOS v. 7.6.1810没有权限的情况下进行交叉编译sudo(我想在服务器上自定义我的环境)。一个问题是全球有很多软件包已经过时(例如,python2.7、4.8.5、3.82 gccgmake

在这个设置中,我从第 4 章开始,LFS到处都PATH从更改/tools/path/to/my/folder/tools(我相信我做得足够准确)。直到第 5.7 章,一切都很顺利。首先,Glibc 想要更新的 python 和 gmake。因此我遵循了 5.27.1 和 5.30.1 章节。

在此之后,一切都编译得很好,我在健全性检查步骤中被阻止了。我从文件夹中执行它sources/glibc/build,并得到一个错误:

我检查了/path/to/my/folder/tools/lib/,所有想要的文件(crt1.o, crti.o, libc.so.6, libc_nonshared.a, ld-linux-x86-64.so.2)都在那里。

我尝试提供文件的符号链接,它适用于其他文件,crt1.ocrti.o不适用于其他文件。

更新 1现在我重新安装了旧版本LFS (8.1),这样我从一开始就满足了所有先决条件。我再次从第 4 章开始,直到臭名昭著的检查才出现错误。Tim 的建议有助于系统没有被破坏,但是分段错误不允许创建 a.out:

受类似问题LFS 7.2 glibc-2.16.0 的启发并尝试进行LD_LIBRARY_PATH相应更改。它似乎不起作用。

更新 2我再次重新安装了 LFS (8.1),但这次我遵循了本期中描述的步骤。此外,我使用此处-Xlinker --verbose评论中描述的解决方案来检查 ld 日志。现在看来,它可能无法打开提到的库。仍然无法正常工作,但日志似乎发生了一些变化。

你能不能给一个建议,如何处理这个讨厌的ld问题。我知道跳过 LFS 步骤是不好的。不幸的是,我没有办法解决这个问题,但我想尽可能升级我的本地环境。谢谢!

0 投票
1 回答
273 浏览

linux-from-scratch - 步骤 5.17.1 出错,从零开始安装 Linux 的 Bison

我正在尝试编译 Bison 以从头开始构建 Linux。我的主机操作系统是 Ubuntu 18.04。根据网页上的说明,在进入

我最终得到了错误

其他用户似乎建议我缺少依赖项。但是,我无法弄清楚我错过了什么。

我不知道最后一行错误中引用了哪种构建类型以及如何修复错误。任何指针?谢谢。