Linux kernel fundamentals: Chapter2, Booting

1. 运行dmesg,查看是否每个输出行都有[0.1234]这样形式的时间戳。重启,从你的系统console中断GRUB并添加选项apic=debug到kernel行。继续启动,启动完毕后,登录并且查看dmesg是否有不一样的地方。里面是否有更多的apic输出?使用https://wiki.centos.org/HowTos/Grub2或者其它合适的发行版,做一个定制的GRUB记录和你当前内核的记录一样,但是有以下的不同:

  1. 标题为Custom Linux Boot Entry Experiment.
  2. 添加内核命令行选项initcall_debug到内核行的末尾。
  3. 对于你的发行版,确定所使用的grub.cfg,然后用grub2-mkconfig做一个新的。比如grub2-mkconfig -o /boot/grub/grub.cfg。
  4. 重启,选择新的GRUB记录,重启之后,查看/proc/cmdline是否包含initcall_debug。

不一样的地方:

flow the steps in https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/system_administrators_guide/index#sec-Changing_the_Default_Boot_Entry

 

2. 中断GRUB,选择原来的kernel entry。在vmlinux行的末尾,添加init=/bin/bash然后boot。发生了什么?重启电源并再次中断GRUB,这一次添加rdinit=/bin/sh并boot。发生了什么?

重置你的系统到完全的Linux环境下面

3. init是一个链接吗?你的系统有一个叫做init的程序吗?PID1运行init吗?

4. 从定制init启动

5. 用pstree,你能确定哪些进程是PID1的后代吗?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值