1)启动gdb时候
1、gdb在启动的时候,会在当前目录下查找".gdbinit"这个文件,并把它的内容作为gdb命令进行解释,所以如果我把脚本命名为".gdbinit",这样在启动的时候就会处理这些命令。
2、启动gdb的时候自动执行脚本 gdb -x your_script
2)gdb运行期间
可以使用 source script-file 来解释gdb命令脚本script-file
1、gdb在启动的时候,会在当前目录下查找".gdbinit"这个文件,并把它的内容作为gdb命令进行解释,所以如果我把脚本命名为".gdbinit",这样在启动的时候就会处理这些命令。
2、启动gdb的时候自动执行脚本 gdb -x your_script
可以使用 source script-file 来解释gdb命令脚本script-file
模块签名是在mod_install的时候,但后续在find-debuginfo.sh中debugedit又会修改文件,导致前面的签名无效。
可行改动方法为:
在Makefile中将 mod_sign_cmd = perl $(srctree)/scripts/sign-file $(CONFIG_MODULE_SIG_HASH) $(MODSECKEY) $(MODPUBKEY)
改为 mod_sign_cmd=true
,
在find-debuginfo_kk.sh中的debugedit后几行位置加上下面三行
1 2 3 |
|
vault.centos.org/7.3.1611/os/Source/SPackages/rpm-4.11.3-21.el7.src.rpm
内核在模块模块加载时使用加密签名验证,校验签名是否与已编译的内核公钥匹配。目前只支持RSA X.509验证。
签名验证在通过CONFIG_MODULE_SIG使能。打开签名同时还会强制做模块ELF元数据检查,然后再做签名验证。
内核编译时可以指定一系列的公钥。x509.genkey文件用来生成X509密钥。如果没有该文件,系统会自动提供一个默认的配置。Makefile会根据x509.genkey规则在内核编译根目录生成默认配置,用户可以手动更改该文件。
由此在内核编译过程中分别生成私钥和公钥文件分别为./signing_key.priv和./signing_key.x509。
默认配置是使用/dev/random生成的。如果/dev/random没有足够数据,在后台运行以下命令可以生成更多的数据:rngd -r /dev/urandom。
设置了CONFIG_MODULE_SIG_ALL,所有模块将会自动添加签名。如果没有设置,需要手动添加:
scripts/sign-file
哈希算法必须为sha1, sha224, sha256, sha384, sha512。对应的加密算法必须是使能的。CONFIG_MODULE_SIG_HASH设置sign-file使用的默认算法。
MODSECKEY=<secret-key-ring-path>
加密私钥文件,默认是./signing_key.priv
MODPUBKEY=<public-key-ring-path>
加密公钥文件,默认为./signing_key.x509
签名模块裁减就是去除签名部分,在重新签名之前需要先裁减之前的签名。在打包内核模块发布时,并没有自动裁减。
模块是通过insmod来加载的,模块加载时通过检查模块的签名部分来验证。
如果设 置了CONFIG_MODULE_SIG_FORCE或者在内核启动命令行设置了module.sig_enforce,内核将只加载带有公钥的合法签名 模块。如果都没有设置则会加载没有签名的模块。如果内核有密钥,但模块没有提供合法的签名就会被拒绝加载。下表说明了各种情况:
1 2 3 4 5 6 7 8 |
|
选择“VM”—-“setting”并打开,将光标定位在hard Disk这一选项,然后点击下方的Add按钮
点击next,执行下一个步骤
根据提示,创建一个虚拟的磁盘,并点击下一步
按照默认的,选择SCSI格式的磁盘即可,点击next执行下一步
按照默认的点击下一步即可完成虚拟磁盘的添加
则会多出一个/dev/sd?,这里的?代表硬盘编号,第一个硬盘编号为a即sda,第 二个就是sdb,第三个是 sdc,以此类推,一般来说,如果以前没有增加过硬盘,那么原来的硬盘就是sda,通过VMware菜单增加的虚拟硬盘编号就是sdb。如果添加的第二块 硬盘是IDE硬盘,就应该看到hdb,如果是SCSI硬盘,看到的就应该是sdb。
使用fdisk /dev/sda进入菜单项,m是列出菜单,p是列出分区表,n是增加分区,w是保存并推出。由于这里增加的磁盘只有5G,因此5G划为一个区。
对新建的磁盘进行分区及格式化的工作:
输入 fdisk /dev/sdb
终端会提示:Command (m for help):
输入:m 则会出现提示
然后根据提示输入:n
会出现下面的提示,依次输入p 和 1 即可
接着便会提示卷的起始地址和结束地址,都保持默认按回车的即可(意思是只分一个区)
输入“w”保存并推出
再次使用 “fdisk -l ”这个命令来查看会发现出现了/dev/sdb1(说明已经完成了分区工作)
格式化成ext3的文件系统即可
使用mkfs -t ext3 -c /dev/sda3
格式化分区
-c : 在制做档案系统前,检查该partition 是否有坏轨
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
创建加载点:mkdir /cm
挂载之后, 修改vi /etc/fstab
分区表文件,
在文件最后加上 /dev/sda3 /cm ext3 defaults 0 0
然后保存,重启即可。
(注意:修改分区表如果有误,将导致进不了linux桌面系统,但这时系统会进入commandline模式,我们可以在commandline模式下对有误的fstab进行修复更改,不过默认情况下这个commandline模式会是Read-Only file system,这意味着你的任何修改操作都是不允许的,但可以通过命令 mount / -o remount,rw 来解除这个限制)。
1
|
|
1
|
|
1
|
|
1
|
|