# 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 +++
```