CONFIG_PSTORE_CONSOLE
时间: 2023-07-15 19:08:36 浏览: 31
CONFIG_PSTORE_CONSOLE是Linux内核配置选项之一,用于启用或禁用内核pstore子系统的控制台支持。该选项用于将内核控制台的输出日志保存到pstore存储区,以便在系统崩溃或异常重启后进行故障排查和日志分析。如果启用了CONFIG_PSTORE_CONSOLE,内核控制台输出将被保存到pstore存储区中,以便在系统重新启动后进行查看和分析。
相关问题
如何处理Linux的编译报错——ld.lld: error: undefined symbol: psinfo >>> referenced by irqbypass.c >>> vmlinux.o:(__pstore_io_save)
这种情况通常是由于在编译内核时,缺少某些必需的库或模块,导致连接器无法找到定义该符号的位置。解决方法如下:
1. 确认是否安装了必需的库和模块。
查看编译器报错信息中指示的缺失符号所在的头文件、库文件或模块是否已经安装。例如,报错信息中提到了 psinfo 符号,那么就需要检查相关的 ps 库文件是否已经安装,并且检查编译器命令中是否链接了该库。
2. 确认编译选项是否正确。
检查编译内核时所使用的命令行选项是否正确。确保使用了正确的编译器,以及指定了正确的内核源码路径和输出路径。可能还需要增加一些选项来告诉连接器从哪里查找缺失的符号。例如:
gcc -o vmlinux -L/usr/local/lib -lpsinfo irqbypass.c
表示链接器在 /usr/local/lib 目录下查找 libpsinfo 库文件。如果库文件不在标准位置下,就需要使用 -L 选项来指定库文件路径。
3. 检查编译内核时是否添加了必要的补丁或模块。
有些内核功能需要添加特定的补丁或模块才能支持。如果报错信息中提示缺失的符号是某个内核模块中的函数或变量,就需要检查该模块是否已经正确安装。如果还没有安装,就需要先添加该模块再重新编译内核。
4. 清除编译过程中的临时文件。
有时编译过程中生成了一些临时文件,如果这些文件中的某个版本出错了,就可能导致编译出错。可以使用命令 make mrproper 清除所有编译过程中生成的临时文件,然后重新编译内核。
综上所述,处理 Linux 的编译报错需要综合考虑多种因素,包括库文件、编译选项、内核模块、临时文件等等。针对具体的报错信息,采取相应的解决方法,才能最终消除错误。
serializableStateInvariantMiddleware.ts:195 A non-serializable value was detected in an action, in the path: `register`. Value: ƒ register(key) { _pStore.dispatch({ type: _constants__WEBPACK_IMPORTED_MODULE_0__.REGISTER, key: key }); } Take a look at the logic that dispatched this action: 分析报错
这个错误是 Redux 的一个中间件检测到一个非序列化的值在一个 action 中,而 Redux 的设计是只能处理序列化的 action,所以会抛出该错误。
根据错误信息,这个非序列化的值是一个函数,它被调用时会派发一个 `REGISTER` 类型的 action 到 Redux store 中。我猜测这个函数是一个 action creator,它返回一个 action 对象,但其中包含了一个函数,导致了这个错误。
要解决这个问题,你需要确保 action 中不包含任何非序列化的值。你可以尝试将该函数转换为一个普通的对象,或者将其从 action creator 中移除。如果该函数是必要的,你可以考虑使用 Redux 的 thunk 中间件来处理异步 action。