gpt4 book ai didi

linux - 将 ncurses 与 initrd 一起使用(linux mint 13 - 默认内核)

转载 作者:太空狗 更新时间:2023-10-29 11:45:06 25 4
gpt4 key购买 nike

我正在尝试修改 Mint 13(ubuntu 衍生版)的 initrd。主要想法是让我正在制作的程序由 local-top 脚本运行。也就是说 - 当内核启动并加载 initrd 时,我的程序必须在 initrd 中并在从 ram 卸载 initrd 之前运行。基本上我想显示窗口并使用一些 ncurses 库函数,但我收到错误。当然,我已将该库包含在我的 initrd 文件中。我得到的错误是:打开终端时出错:linux。

也许这里有人知道如何解决这个问题?

最佳答案

这还不够。 Ncurses 有很多终端文件,它们可能在/etc/terminfo 中。实际的终端类型总是存储在 TERM 环境变量中,这可能是你的“linux”。这种结构的目标是使 ncurses 应用程序兼容,或者至少可以在任何地方使用。例如,wyse 终端(来自上古时代的古老终端)与 linux 或 freebsd 控制台具有完全不同的控制序列。

只复制库是不够的,还需要复制/etc/terminfo/l/linux

可能需要更多文件,您可以使用 strace 命令进行测试(如果您无法解释其输出,谷歌是您的 friend ,或者我们正在等待您的下一个问题)。语法:

strace -s 200 -f -o sux.txt ./theCommandToTest

它将./theCommandToTest 的内核调用日志转储到sux.txt 文本文件中。

无论如何,要测试这个东西,最好的解决方案是在命令 shell 中启动 Linux(例如,使用 init=/bin/bash 启动选项,或者从 local-top 调用简单的 bash)。因此,您将能够运行此 strace 并使用它来找出还需要什么。

祝你好运!

关于linux - 将 ncurses 与 initrd 一起使用(linux mint 13 - 默认内核),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20552202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com