上一页 1 ··· 6 7 8 9 10

2023年12月1日

rust的musl toolchain

摘要: rust项目常常会使用musl作为编译target,这个时候就会使用musl的工具链。musl toolchain安装在$HOME/.rustup/toolchain下面。通常可以用rustup 安装,比如: rustup install stable-unknown-linux-musl 也可以使 阅读全文

posted @ 2023-12-01 12:04 半山随笔 阅读(442) 评论(0) 推荐(0)

seccomp初探

摘要: 早就听说过seccomp,只是知道他是控制syscall的。因为解一个bug,对seccomp了解多了一丢丢,记录一下。 seccomp是linux用来控制用户进程系统调用使用的。有三种模式: SECCOMP_SET_MODE_STRICT: 严格限制系统调用的使用,只允许read,write,_e 阅读全文

posted @ 2023-12-01 10:26 半山随笔 阅读(478) 评论(0) 推荐(0)

2023年10月31日

报错分析:Value specified in CPUShares is out of range: unknown

摘要: 启动容器时报错: Caused by: org.freedesktop.DBus.Error.InvalidArgs: Value specified in CPUShares is out of range: unknown 初看log不知从哪里来,既不是docker也不是容器运行时,也不是ker 阅读全文

posted @ 2023-10-31 16:06 半山随笔 阅读(160) 评论(0) 推荐(0)

2023年10月25日

linux kernel调用efi runtime service时的内存上下文切换

摘要: 本文以linux 6.5.2为基础,只讨论arm64平台。 当linux kernel从UEFI启动之后尽管boot service退出了但是仍然可以使用runtime service。这就引发了一个问题:存在于uefi内存空间的code如何被kernel调用。 首先找一个调用efi runtime 阅读全文

posted @ 2023-10-25 12:34 半山随笔 阅读(869) 评论(0) 推荐(1)

2023年10月18日

如何产生core dump文件

摘要: 首先是系统设置: ulimit -c unlimited 将core文件的大小限制设置成无限制,当然也可以指定大小。 sudo sysctl -w kernel.core_pattern=/tmp/core-%e.%p.%h.%t 设置core文件的位置及格式。 其次在编译的时候打开调试模式: gc 阅读全文

posted @ 2023-10-18 15:08 半山随笔 阅读(317) 评论(0) 推荐(1)

2023年10月17日

linux kernel的启动参数是怎么拿到的-以arm64为例

摘要: linux kernel拿到启动参数一定是在boot阶段,那就必须从start_kernel找起。 asmlinkage __visible __init __no_sanitize_address __noreturn __no_stack_protector void start_kernel( 阅读全文

posted @ 2023-10-17 22:26 半山随笔 阅读(1282) 评论(0) 推荐(0)

2023年10月11日

记录俩编译问题

摘要: 今天碰到俩编译问题,记录一下。 问题1 编译使用了sigsetjmp的一个c文件,报错: main.c:(.text+0x50): undefined reference to `sigsetjmp' collect2: error: ld returned 1 exit status make: 阅读全文

posted @ 2023-10-11 21:48 半山随笔 阅读(197) 评论(0) 推荐(0)

2023年9月12日

mpam linux kernel源码分析

摘要: MPAM (Memory System Resource Partitioning and Monitoring)是Armv8.4的feature,用于cache和内存带宽的监控和限制。截至现在,该feature在linux kernel的实现还在推进,最新一版参见https://git.kerne 阅读全文

posted @ 2023-09-12 20:39 半山随笔 阅读(2046) 评论(0) 推荐(0)

2023年9月4日

linux kernel mount rootfs失败问题

摘要: linux kernel在初始化末尾会mount rootfs。有时会mount失败,出现类似下面的log: [ 0.623289] /dev/root: Can't open blockdev [ 0.624045] VFS: Cannot open root device "" or unkno 阅读全文

posted @ 2023-09-04 16:19 半山随笔 阅读(5144) 评论(0) 推荐(0)

上一页 1 ··· 6 7 8 9 10

导航