猜测实验见3楼,不知是否正确
代码: 全选
Kernel panic : not syncing Attempted to kill init
具体修改:
代码: 全选
# Parse command line options
for x in $(cat /proc/cmdline); do
case $x in
init=*)
init=${x#init=}
;;
root=*)
ROOT=${x#root=}
ROOT=$(resolve_device "$ROOT")
if [ -z "${BOOT}" ] && [ "$ROOT" = "/dev/nfs" ]; then
BOOT=nfs
fi
;;
rootdir=*)
ROOTDIR=${x#rootdir=}
;;
#后面的省略...
在local_mount_root函数里的最后一行里加上:
rootmnt=${rootmnt}${ROOTDIR}
使用的时候:
root=/dev/sda5 rootdir=/debian
sda5里有一个用debootstrap安装的debian系统
看不出这用起来和原来的rootmnt有什么区别
Tue Jan 17 01:55:15 CST 2017补充:
没看出来有什么不等价的地方
但把那行对rootmnt的赋值换成"mount --bind ${rootmnt}${ROOTDIR} ${rootmnt}"
把rootmnt绑定到rootdir就可以正常引导启动了.
Sat Jan 21 10:35:55 CST 2017 补充:
猜测见3楼