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

电商型网站是否是趋势百度推广代理加盟

电商型网站是否是趋势,百度推广代理加盟,乌鲁木齐都市网官网,站酷网vi设计1. 前置安装 1.1 编译好的内核 参考: https://blog.csdn.net/qq_51950769/article/details/148596916 1.2 编译busybox BusyBox 是一个非常轻量级的多合一工具箱,常被称为“Linux 的瑞士军刀”。 简单来说: 它把很多常用的 Linux 命令&am…

1. 前置安装

1.1 编译好的内核

参考:
https://blog.csdn.net/qq_51950769/article/details/148596916

1.2 编译busybox

BusyBox 是一个非常轻量级的多合一工具箱,常被称为“Linux 的瑞士军刀”。
简单来说:
它把很多常用的 Linux 命令(比如 ls、cp、mv、sh、mount 等)集成到一个单一的可执行文件里。适合用于资源有限的环境,比如嵌入式系统、initramfs、恢复系统等。
为什么用 BusyBox?

  • 体积小:比安装完整的 GNU 工具链省空间很多;
  • 方便:一个文件搞定常用命令;
  • 灵活:可以自定义编译,裁剪只需要的命令。
# 下载源码
wget https://busybox.net/downloads/busybox-1.36.1.tar.bz2
tar -xjf busybox-1.36.1.tar.bz2
cd busybox-1.36.1# 配置(选择你想要的功能)
make menuconfig# 编译
make -j$nproc# 安装到指定目录(方便打包initramfs)
make CONFIG_PREFIX=../busybox-root install# 或者默认安装, 后续制作根文件系统采用这种方式
make install

成功安装后:
在这里插入图片描述
查看安装目录的文件,tree
在这里插入图片描述

1.3 根文件系统的制作

根文件系统提供操作系统运行所需的基本工具和环境。它包含启动程序(如 init),负责启动用户空间进程。
没有根文件系统,内核是“裸”的,无法完成完整的系统启动和运行;根文件系统为系统提供了完整的用户空间环境。

  1. 准备根文件系统目录
进入到busybox的目录
cd busybox-1.36.1/
root@ubantu64:~/busybox-1.36.1# ls
applets     busybox_ldscript.README.txt  configs        editors    INSTALL      mailutils               miscutils          procps                  shell                   util-linux
applets_sh  busybox.links                console-tools  examples   klibc-utils  Makefile                modutils           qemu_multiarch_testing  size_single_applets.sh
arch        busybox_unstripped           coreutils      findutils  libbb        Makefile.custom         networking         README                  sysklogd
archival    busybox_unstripped.map       debianutils    include    libpwdgrp    Makefile.flags          NOFORK_NOEXEC.lst  runit                   testsuite
AUTHORS     busybox_unstripped.out       docs           init       LICENSE      Makefile.help           NOFORK_NOEXEC.sh   scripts                 TODO
busybox     Config.in                    e2fsprogs      _install   loginutils   make_single_applets.sh  printutils         selinux                 TODO_unicode
root@ubantu64:~/busybox-1.36.1# cd _install/
root@ubantu64:~/busybox-1.36.1/_install##创建目录
mkdir -p etc/init.d mnt tmp sys dev proc 

结果:
在这里插入图片描述

  1. 创建文件系统表(fstab)
vim etc/fstab
proc	/proc	proc	defaults	0	0
tmpfs	/tmp	tmpfs	defaults	0	0
sysfs	/sys	sysfs	defaults	0	0

如图:
在这里插入图片描述

  1. 创建启动脚本rcS
vim etc/init.d/rcSecho -e "Welcome to tinyLinux"
/bin/mount -a
mount  -o  remount,rw  /
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

如图:
在这里插入图片描述
给rcS可执行权限chmod 755 rcS。

  1. 创建初始化程序配置文件inittab
vim etc/inittab::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::askfirst:-/bin/sh
::ctrlaltdel:/bin/umount -a -r

如图:
在这里插入图片描述

  1. 创建设备文件节点
cd dev
mknod console c 5 1
mknod null c 1 3
mknod tty1 c 4 1

在这里插入图片描述

  1. 镜像制作
    (1) 创建一个空的镜像,并把这个镜像文件格式化为ext4
    (2) 挂载到一个空的目录,并把_install/*等启动文件复制到这个镜像中
    (3) 卸载镜像文件
    (4) 使用gzip进行压缩
# 先创建一个空的镜像并格式化为ext4
mkdir ~/image
cd ~/image
dd if=/dev/zero of=./rootfs.ext4 bs=1M count=32
mkfs.ext4 rootfs.ext4
# 创建一个空目录fs
mkdir fs
# 挂载到fs,并复制启动文件
mount -o loop rootfs.ext4 ./fs
cp -rf busybox-1.36.1/_install/* ./fs
#卸载镜像文件
umount ./fs
# 使用gzip压缩
gzip --best -c rootfs.ext4 > rootfs.img.gz

最终结果:
在这里插入图片描述

1.4 安装qemu-system-x86_64

qemu-system-x86_64 是什么?
qemu-system-x86 是 QEMU 提供的一个用于模拟 x86 架构(如 x86_64 或 i386)计算机系统的可执行程序。简单来说:它可以在你的电脑上虚拟出一个完整的 x86 电脑,用来运行操作系统、测试内核、开发系统级软件等。

apt install qemu-system-x86

2. 内核调试

进行内核调试,我们需要使用两个命令:

2.1 qemu-system-x86_64

qemu-system-x86_64主要用来启动一个内核。

qemu-system-x86_64 \-kernel ~/linux-5.10.126/arch/x86/boot/bzImage \-initrd ~/kernal/rootfs.img.gz \-append "root=/dev/ram init=/linuxrc" \-serial file:output.txt

参数解释:

  • -kernel 指定要加载的 Linux 内核镜像(通常是 bzImage 格式)。
  • -initrd :指定 initrd(初始化内存盘)文件,系统启动时会加载到内存中,通常用于提供根文件系统。
  • -append:传递给内核的启动参数,这里是指定root=/dev/ram:告诉内核从 RAM 磁盘(initrd)挂载根文件系统。
    init=/linuxrc:指定初始化进程为 /linuxrc。
  • -S:启动时暂停 CPU
  • -s:在 TCP 端口 1234 上开启 GDB 服务器

扩展参数:

  • -nographic:禁用图形输出,所有输出(包括串口输出)将重定向到终端(即你运行命令的终端窗口),用于无头(headless)运行。
  • -smp 是 QEMU 中用于指定虚拟机的 CPU 配置的参数,全称是 “Symmetric Multi-Processing”(对称多处理)。
  • -m 是 QEMU 中用于指定 虚拟机内存大小 的参数。
  • -cpu 是 QEMU 中用于指定虚拟 CPU 类型和特性的参数。
  • -enable-kvm,用于启用 KVM(Kernel-based Virtual Machine)硬件加速。
  • -serial: 串口(Serial Port):在 QEMU 虚拟机中,串口是一个虚拟的通信接口,通常用于内核调试、系统日志输出或与外部工具交互。file:output.txt:将虚拟机的串口输出写入到当前目录下的 output.txt 文件中(如果文件不存在会自动创建,已存在则会覆盖)。

不使用图像化启动命令:

qemu-system-x86_64 \-kernel ~/linux-5.10.126/arch/x86/boot/bzImage \-initrd ~/kernal/rootfs.img.gz \-append "root=/dev/ram init=/linuxrc console=ttyS0" \-nographic \-serial mon:stdio \-monitor none

2.2 gdb

执行:

gdb vmlinux

在这里插入图片描述
在执行:

target remote :1234

在这里插入图片描述

此时qemu中跑的linux内核:
在这里插入图片描述

最后在提醒:想调试的话,最好把Makefile中的编译选项全部从O2改为O1
在这里插入图片描述

3 参考文章

https://zhuanlan.zhihu.com/p/17345710829
https://blog.csdn.net/weixin_37867857/article/details/88205130

http://www.dtcms.com/wzjs/331515.html

相关文章:

  • wordpress模板电子书下载站电商营销策划方案
  • wordpress是干嘛的百度seo推广优化
  • 电子商务网站建设与管理试题及答案吉林seo技术交流
  • 做网站导航按钮怎么猛seo外包优化网站
  • 四平网站建设公司企业网搭建
  • 公司建设网站方案网络营销的5种方式
  • 旅游投资公司网站建设ppt模板厦门人才网招聘最新信息
  • 建立个人网站能干百度推广注册
  • 湖南省网站建设深圳优化公司找高粱seo服务
  • 上海建设银行官方网站设计网站推荐
  • 百度网站搜索排名舆情报告
  • 开封做网站图们网络推广
  • linux网站环境昆明网络推广
  • 网站建设自我总结下载百度app到桌面
  • 电子商务公司网站怎么建百度霸屏培训
  • 小程序营销策划方案厦门百度关键词seo收费
  • 三亚学做网站培训网络销售平台上市公司有哪些
  • 装修设计师要学多久线下课程seo
  • 做网站一单能挣多少网站建设哪家好公司
  • c2c平台如何盈利常州百度seo排名
  • 深圳福田网站建设公司网站权重什么意思
  • WordPress 网格布局手机清理优化软件排名
  • 网站设计的基本步骤和方法磁力猫引擎
  • 郑州建设信息网站高级搜索指令
  • 永久域名免费注册网站小时seo
  • php做电商网站开题报告全国教育培训机构平台
  • 建设企业网银u盾网站打不开广告传媒公司经营范围
  • 最全做暖暖网站成人本科报考官网
  • 湖北田源建设工程有限公司网站互联网推广运营是干什么的
  • 武汉网站建设贴吧b2b平台网站