# 2024q1 Homework6 (integration) contributed by < [howardjchen](https://github.com/howardjchen) > :::danger 注意作業規範,不要打錯自己的 GitHub 帳號名稱。 ::: ### 系統設定 <s> ``` Static hostname: hyperking Icon name: computer-desktop Chassis: desktop Machine ID: 5e4b5680e8fb42cb9195d67b610f3a3f Boot ID: e57232b16d034ca7880b5bc4cf80955d Operating System: Ubuntu 20.04.4 LTS Kernel: Linux 5.15.0-97-generic Architecture: x86-64 ``` </s> :::danger 上述資訊不足,應揭露 microarchitecture 資訊,方可判斷後續的實驗在何種等級的硬體進行。 ::: ### 藉由 strace 追蹤 Linux 核心的掛載 我們透過 `strace` 來追蹤 [hello.ko](https://github.com/howardjchen/simple_km/blob/master/hello.c) 在掛載過程中,涉及哪些些系統呼叫和子系統 ``` uname({sysname="Linux", nodename="hyperking", ...}) = 0 openat(AT_FDCWD, "/lib/modules/5.15.0-97-generic/modules.softdep", O_RDONLY|O_CLOEXEC) = 3 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) fstat(3, {st_mode=S_IFREG|0644, st_size=1569, ...}) = 0 read(3, "# Soft dependencies extracted fr"..., 4096) = 1569 read(3, "", 4096) = 0 close(3) = 0 openat(AT_FDCWD, "/proc/cmdline", O_RDONLY|O_CLOEXEC) = 3 read(3, "BOOT_IMAGE=/boot/vmlinuz-5.15.0-"..., 4095) = 98 read(3, "", 3997) = 0 close(3) = 0 getcwd("/home/howard/samba/linux2024/simple_km", 4096) = 39 stat("/home/howard/samba/linux2024/simple_km/hello.ko", {st_mode=S_IFREG|0664, st_size=215504, ...}) = 0 openat(AT_FDCWD, "/home/howard/samba/linux2024/simple_km/hello.ko", O_RDONLY|O_CLOEXEC) = 3 read(3, "\177ELF\2\1", 6) = 6 lseek(3, 0, SEEK_SET) = 0 fstat(3, {st_mode=S_IFREG|0664, st_size=215504, ...}) = 0 mmap(NULL, 215504, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f2e7d036000 finit_module(3, "", 0) = 0 munmap(0x7f2e7d036000, 215504) = 0 close(3) = 0 exit_group(0) = ? +++ exited with 0 +++ ```