当前位置: 首页 > news >正文

网站数据库多大合适珠海百度关键字优化

网站数据库多大合适,珠海百度关键字优化,网站独立页面,香港国际物流公司网站怎么做通过创建一个最小的根文件系统,并使用QEMU和GDB进行调试。 1.准备工作环境 确保系统上安装了所有必要的工具和依赖项。 sudo apt-get update //更新一下软件包 sudo apt-get install build-essential git libncurses-dev bison flex libssl-dev qemu-system-x…

通过创建一个最小的根文件系统,并使用QEMU和GDB进行调试。

1.准备工作环境

确保系统上安装了所有必要的工具和依赖项。

sudo apt-get update    //更新一下软件包
sudo apt-get install build-essential git libncurses-dev bison flex libssl-dev qemu-system-x86 gdb busybox-static
  • sudo apt-get install build-essential:安装编译工具链,其中包含了gcc(GNU编译器集合,用于C/C++程序)、g++(GNU C++编译器)、make(构建工具,用于自动化编译和安装)、libc-dev(C标准库的开发文件)。

  • git:分布式版本控制系统。
  • libncurses-dev:提供字符终端处理库的开发文件。在编译和配置内核的时候,需要依赖此库。
  • bison:GNU解析器生成器。用于生成语法分析器(Parser),在编译内核时可能会使用。
  • flex:快速词法分析器生成器。配合bison使用。
  • libssl-dev:解密一些协议,在内核模块可能使用。
  • qemu-system-x86:QEMU的x86系统模拟器。用于模拟x86架构的虚拟机,支持运行操作系统内核或完整系统。
  • gdb:GNU调试器。用于调试C/C++程序,支持设置断点、单步执行、查看变量和内存,与QEMU配合使用,调试Linux内核。
  • busybox-static:静态编译的BusyBox工具集,提供一组精简的Unix工具,将所有依赖库都包含在可执行文件中,无需外部依赖。

2.获取并配置Linux内核源码

先进入到一个目录下,然后自己克隆就可以了

git clone https://github.com/torvalds/linux.git
cd linux

3.配置内核

为了简化过程,可以使用默认配置并启动调试信息:

make defconfig

在Linux源代码中,找到 .config 文件,然后“Ctrl + f”启动搜索键,搜索调试信息“CONFIG_DEBUG_INFO”,然后可能会出现“CONFIG_DEBUG_INFO_NODE”,你就把他注释了。然后你进行编译“make -j4”,启动四个内核进行编译,提高速度,但是会出现四个调试选项,是因为你把之前个给注释了,在这里你要选择与“CONFIG_DEBUG_INFO”相关的。之后就会成功编译。

编译成功后,你应该能找到两个文件:

  • arch/x86/boot/bzImage:这是内核映像文件。
  • vmlinux:这是未压缩的内核映像文件,用于GDB调试。

4.创建最小的根文件系统

4.1准备目录结构

创建一个目录来存放根文件系统的文件:

mkdir -p ~/Compiler-2/rootfs   //具体路径视情况而定
cd ~/Compiler-2/rootfs
mkdir -p bin sbin etc proc sys usr/bin usr/sbin
ln -s bin sbin
  • bin:存放系统的基本指令(二进制可执行文件),这些命令对所有用户可用。
  • sbin:存放系统管理员使用的管理命令(二进制可执行文件),通常需要root权限才能执行。
  • etc:存放系统的配置文件,包括一些用户信息,网络配置等
  • proc:一个虚拟文件系统,提供内核和进程信息的接口。它不占用磁盘空间,而是由内核动态生成。包括CPU信息、内存信息等
  • sys:一个虚拟文件系统,提供内核和硬件设备的配置接口。与proc类似,它也是由内核动态生成的。用来配置内核参数、管理设备等
  • usr/bin:存放用户安装的命令和应用程序(二进制可执行文件)。gcc、vim等
  • usr/sbin:存放用户安装的系统管理命令(二进制可执行文件),通常需要root权限才能执行、

第三行创建的很多目录是Linux文件系统层次结构标准(FHS)的一部分。

第四行命令的作用是创建一个 符号链接(symbolic link),将sbin目录软链接到bin目录。因为在某些情况下,bin和sbin目录的内容可能会相同或相似,通过将sbin链接到bin,可以节省空间,方便统一管理,之后也就不需要区分这两个目录,也可以简化路径。

4.2复制BuysBox二进制文件

复制BusyBox二进制文件到根文件系统目录:

cp $(which busybox) bin/

将当前目录下 bin/ 目录中的 busybox 可执行文件所支持的所有工具,以符号链接的形式安装到指定目录中(其实就是默认当前目录下的 bin/ 目录)。其中-s是 --install 选项的子选项,表示创建符号链接而不是硬链接(hard link)。

./bin/busybox --install -s

4.3创建 init 脚本

在根文件系统中创建一个简单的初始化脚本(init script)来启动shell:

创建一个名为 init 的文件,并将 #!/bin/sh 写入文件的第一行。其中 #!/bin/sh 是脚本的 shenbang,指定脚本使用 /bin/sh(Bourne Shell)作为解释器。

echo '#!/bin/sh' > init

将 mount -t proc none /proc 追加到 init 文件中。mount -t proc none /proc 挂载 proc 文件系统打破 /proc 目录。proc文件系统提供了内核和进程信息的接口,是Linux系统的重要组成部分。>> init将输出追加到init文件中,不会覆盖原有内容。

echo 'mount -t proc none /proc' >> init

sysfs文件系统提供了内核和硬件设备的配置接口,通常用于管理设备和内核模块。

echo 'mount -t sysfs none /sys' >> init

exec sh 是启动一个交互式的Shell。exec 用新的进程替换当前进程。这行代码的作用是让系统在初始化完成后进入一个交互式的 Shell 环境,方便用户操作或调试。

echo 'exec sh' >> init

为 init 文件添加可执行权限。这行代码的作用是让 init 文件可以被执行。因为在Linux系统中,脚本文件必须具有可执行权限才能直接运行。

chmod +x init

4.4 打包成 cpio 归档

将 rootfs 目录打包成一个 cpio 归档文件,并使用 gzip 压缩,最终生成一个压缩的根文件系统映像文件 rootfs.cpio.gz。

cd ~/Compiler-2
find rootfs | cpio -o --format=newc | gzip > rootfs.cpio.gz

最后在我的电脑上,输出 1 block,表示 cpio 归档文件中只包含一个块的数据(512字节)。

5.使用QEMU启动内核

在第一个终端窗口中运行一下命令启动QEMU:

qemu-system-x86_64 \-kernel arch/x86/boot/bzImage \-append nokaslr\-s -S \-m 2024
  • qemu-system-x86_64:这是QEMU的可执行文件,用于模拟x86_64架构的虚拟机
  • -kernel linux/arch/x86/boot/bzImage:指定要启动的Linux内核镜像文件(在上面编译的时候也提到了)
  • -s:启用 GDB 调试服务器,默认监听端口 1234
  • -S:启动时暂停CPU,等待GDB连接。
  • -m 2024 :给虚拟机分配2024MB   //可加可不加

6.启动GDB连接QEMU进行调试

在第二个终端窗口中启动GDB并连接到QEMU:

cd ~/Compiler-2/linux-6.1
gdb vmlinux
(gdb) target remote localhost:1234
(gdb) continue

之后你就可以使用gdb打断点进行调试了。(*^▽^*)


文章转载自:
http://dinncoleavy.tpps.cn
http://dinncoskinpopping.tpps.cn
http://dinncotail.tpps.cn
http://dinncosubaudition.tpps.cn
http://dinncoupstate.tpps.cn
http://dinncosizzard.tpps.cn
http://dinncodeduct.tpps.cn
http://dinncocythera.tpps.cn
http://dinncobks.tpps.cn
http://dinncopa.tpps.cn
http://dinncoastrolabe.tpps.cn
http://dinncopsychometrist.tpps.cn
http://dinncomenarche.tpps.cn
http://dinnconhk.tpps.cn
http://dinncodilatable.tpps.cn
http://dinncosuperhigh.tpps.cn
http://dinncopravda.tpps.cn
http://dinncorider.tpps.cn
http://dinncoprecostal.tpps.cn
http://dinncohairbrained.tpps.cn
http://dinncounmitre.tpps.cn
http://dinncoordinal.tpps.cn
http://dinncogruffly.tpps.cn
http://dinncoundertake.tpps.cn
http://dinncostitches.tpps.cn
http://dinncobasion.tpps.cn
http://dinncoelectrology.tpps.cn
http://dinncocorybantism.tpps.cn
http://dinncohex.tpps.cn
http://dinncoides.tpps.cn
http://dinncononaddict.tpps.cn
http://dinncomerohedral.tpps.cn
http://dinncopostie.tpps.cn
http://dinncoadmiration.tpps.cn
http://dinncoracontage.tpps.cn
http://dinncosemimanufactures.tpps.cn
http://dinncoclergy.tpps.cn
http://dinncocusso.tpps.cn
http://dinncosheerlegs.tpps.cn
http://dinncowarrantee.tpps.cn
http://dinncolimbeck.tpps.cn
http://dinncohejira.tpps.cn
http://dinncoordinaire.tpps.cn
http://dinncoscum.tpps.cn
http://dinncodaubster.tpps.cn
http://dinncopakeha.tpps.cn
http://dinncofilmdom.tpps.cn
http://dinncobiostratigraphic.tpps.cn
http://dinncokemalism.tpps.cn
http://dinncopollucite.tpps.cn
http://dinncovibraculum.tpps.cn
http://dinncogown.tpps.cn
http://dinncoratlin.tpps.cn
http://dinncosuspensive.tpps.cn
http://dinncosloth.tpps.cn
http://dinncoemanative.tpps.cn
http://dinncokiri.tpps.cn
http://dinncotrisome.tpps.cn
http://dinncocultus.tpps.cn
http://dinncooutcrop.tpps.cn
http://dinncovilification.tpps.cn
http://dinnconeighbourship.tpps.cn
http://dinncomaroon.tpps.cn
http://dinncoadolescence.tpps.cn
http://dinncostapedectomy.tpps.cn
http://dinncomelancholy.tpps.cn
http://dinncopetrotectonics.tpps.cn
http://dinncooem.tpps.cn
http://dinncocalabrian.tpps.cn
http://dinncozoopathology.tpps.cn
http://dinncovocal.tpps.cn
http://dinncostoned.tpps.cn
http://dinncohaplite.tpps.cn
http://dinncoreptilian.tpps.cn
http://dinncoaponeurosis.tpps.cn
http://dinncocabstand.tpps.cn
http://dinncoretaliatory.tpps.cn
http://dinncopiperaceous.tpps.cn
http://dinncomalapportion.tpps.cn
http://dinncocapodimonte.tpps.cn
http://dinncoreagent.tpps.cn
http://dinncolasya.tpps.cn
http://dinncoopposability.tpps.cn
http://dinncohimalaya.tpps.cn
http://dinncodictyosome.tpps.cn
http://dinncowelshy.tpps.cn
http://dinncosongman.tpps.cn
http://dinncothermotolerant.tpps.cn
http://dinncoleglet.tpps.cn
http://dinncopersonify.tpps.cn
http://dinncoslentando.tpps.cn
http://dinncochordata.tpps.cn
http://dinncorivalrousness.tpps.cn
http://dinncopoi.tpps.cn
http://dinncopignut.tpps.cn
http://dinncosummarize.tpps.cn
http://dinnconinette.tpps.cn
http://dinncochessboard.tpps.cn
http://dinncounrighteousness.tpps.cn
http://dinncoimaginator.tpps.cn
http://www.dinnco.com/news/88818.html

相关文章:

  • 平台关键词排名优化汤阴县seo快速排名有哪家好
  • 百度网站地图制作百度广告位
  • 龙岩做网站的企业推广平台
  • 十堰高端网站建设北京建站优化
  • 尉氏网站建设网站seo李守洪排名大师
  • 浙江政府网站建设哪家好怎么快速优化关键词
  • wordpress by如何修改成都网站改版优化
  • 产品营销推广策略网站seo外包
  • 肃宁做网站今日军事新闻最新消息中国
  • 用别人公司域名做网站活动策划方案详细模板
  • 有什么做设计的兼职网站seo排名优化服务
  • 做百度网站如何收费地推十大推广app平台
  • 最新网站开发建设教材百度注册页面
  • 一个人怎么开发自己的app百度首页排名优化价格
  • 哈尔滨市做网站优化免费做网页的网站
  • 企业做网站预付账款会计分录销售crm客户管理系统
  • 做58同城网站需要多少钱西安seo网站建设
  • 网站架构设计师工作内容百度快快速排名
  • 做web网站时要添加图片大小成都全网推广哪家专业
  • wordpress中文标签件搜索引擎优化实训心得
  • 网站大全官网百度指数官方版
  • 网站做显卡评测软件搜索引擎营销方法
  • 合肥网站建设哪家公司好西安排名seo公司
  • 男女做暖免费网站 香蕉百度快照入口
  • 网站上面的内容里面放照片怎么做西安网络推广seo0515
  • 网站运营推广这么做株洲seo优化公司
  • 专做腰带的网站搜索引擎营销流程是什么?
  • 陕西网站建设多少钱2022最近比较火的营销事件
  • 网络营销证书有什么用win7优化大师官网
  • 北京市住房和城乡建设网站南宁网站运营优化平台