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

网站设计思路济南商城网站制作

网站设计思路,济南商城网站制作,杭州最好的电商培训学校,林业门户网站建设之前的篇幅中我们已经将 Linux 内核 bringup 起来了#xff0c;不知道大家有没有去尝试将根文件系统运行起来#xff0c;今天我就带领大家完成这个事情#xff0c;可以跟着下面的步骤一步步来完成#xff1a; 在这里我们使用 busybox 构建 rootfs#xff1a; 下载 busyb…之前的篇幅中我们已经将 Linux 内核 bringup 起来了不知道大家有没有去尝试将根文件系统运行起来今天我就带领大家完成这个事情可以跟着下面的步骤一步步来完成 在这里我们使用 busybox 构建 rootfs 下载 busybox wget https://github.com/mirror/busybox/archive/refs/tags/1_35_0.tar.gz 解压并配置 make ARCHarm64 CROSS_COMPILEaarch64-linux-gnu- defconfig 这里需要使用静态编译获取 busybox这样一来我们就不需要拷贝各种动态库了 Busybox Settings --- Build Options --- Build BusyBox as a static binary (no shared libs) --- yes 编译 busybox make make install 添加 init 和其他文件夹 mkdir dev proc mnt sys tmp root mkdir etc mkdir etc/init.d在rootfs下新建init添加 #!/bin/sh # devtmpfs does not get automounted for initramfs echo ------ I am a VM on X-Hyper ------ /bin/mount -t devtmpfs devtmpfs /dev exec 0/dev/console exec 1/dev/console exec 2/dev/console exec /sbin/init $ 然后执行chmod x init 创建/etc/init.d/rcS #!/bin/sh PATH/sbin:/bin:/usr/sbin:/usr/bin LD_LIBRARY_PATH$LD_LIBRARY_PATH:/lib:/usr/lib export PATH LD_LIBRARY_PATH runlevel /bin/hostname megvii mount -a mkdir /dev/pts mount -t devpts devpts /dev/pts echo /sbin/mdev /proc/sys/kernel/hotplug mdev -s 然后chmod x etc/init.d/rcS 创建/etc/fstab proc /proc proc defaults 0 0 tmpfs /tmp tmpfs defaults 0 0 sysfs /sys sysfs defaults 0 0 tmpfs /dev tmpfs defaults 0 0 创建/etc/inittab #etc/inittab ::sysinit:/etc/init.d/rcS console::askfirst:-/bin/sh ::restart:/sbin/init ::ctrlaltdel:/sbin/reboot ::shutdown:/bin/umount -a -r ::shutdown:/sbin/swapoff -a 创建/etc/profile USERid -un LOGNAME$USER HOSTNAME/bin/hostname HOME/root PS1[$USER$HOSTNAME \W]\# PATH$PATH export USER LOGNAME HOSTNAME HOME PS1 PATH PATH LD_LIBRARY_PATH 打包 find ./* | cpio -H newc -o rootfs.cpio gzip rootfs.cpio 将 rootfs.cpio.gz 转换为.o为了后续使用 ld 将其打包进 X-Hyper.elf 做准备 aarch64-linux-gnu-ld -r -b binary rootfs.cpio -o rootfs.cpio.o 上述过程我们已经将 rootfs 准备好了那么 Linux 如何加载这个 rootfs 呢我们使用设备树 Chosen 来指定 initrd 的起始地址和结束地址 由于 Linux 的启动需要足够的内存所以我们在 X-Hyper 中我们已经将物理内存扩展到 256M然后在 chosen 中指定 initrd 的信息 chosen {stdout-path /pl0119000000;linux,initrd-start 0x0 0x84000000;linux,initrd-end 0x0 0x85000000;}; 同时在 X-Hyper 中我们需要将 rootfs 的内容拷贝到上述指定的 IPA 对应的物理内存中注意这里是 IPA 哦 我们首先在 vm_config 中指定 rootfs 的地址这里的地址要和设备树中的信息一致 vm_config_t guest_vm_cfg {.guest_image guest_vm_image,.guest_dtb guest_virt_dtb,.guest_initrd guest_rootfs,.entry_addr 0x80600000,.dtb_addr 0x80000000, /* virt dtb ipa */.rootfs_addr 0x84000000, /* rootfs ipa */.ram_size 0x8000000, /* 128M */.ncpu 2,}; 然后我们把 rootfs 的内容拷贝到这段 IPA 对应的物理内存中由于这段 IPA 之前已经被映射了所以直接拷贝就可以 copy_to_ipa(pgt, vm_config-rootfs_addr, (char *)vm_config-guest_initrd-start_addr, vm_config-guest_initrd-image_size); 完成上述操作后整个 IPA 地址空间如下所示当然 IPA 还包括设备的地址这里没有显示出来 其实在 bringup 整个 Linux 和 rootfs 的过程中会遇到各种问题我觉得大家可以不看上述内容自己先去尝试一下完成上述所有操作后我们就可以将 Linux 虚拟机运行起来了 我已经将 Image/image.o/rootfs.cpio/rootfs.cpio.o/virt.dts/virt.dtb 放到 linux 的文件夹下了。 项目构建 clone 源代码到本地git clone GitCode - 全球开发者的开源社区,开源代码托管平台编译生成 u-boot 的 bin 文件sh build_uboot.sh编译虚拟机 Guest OS 镜像cd ./guest; sh build_vm.sh;编译虚拟机管理器代码生成虚拟机管理器镜像sh run_build.sh运行 qemu 并加载镜像sh run_qemu.sh 直接运行;
http://www.hkea.cn/news/14329554/

相关文章:

  • 个人兼职网站制作北京手机app开发
  • 把网站做静态化模板网站做外贸好不好
  • 商城购物网站开发意义广州专业做标书公司
  • 清远市住房和城乡建设局门户网站上海债务优化公司
  • 怎么注销自己做的网站seo网络推广企业
  • 公司网站建设招标文件范本柳州网站建设找哪家
  • 誉字号网站山东飞鸿建设集团网站
  • 西安有哪些做网站的公司做地方的门户网站
  • 能够做代理的网站河北省建设银行网站
  • 女性做网站很有名的龙岩网络图书馆注册
  • 平台网站如何优化京东网站设计分析
  • 河北中小企业网站搭建网站教程
  • 网站提交收录入口链接wordpress 报表图形
  • 烟台网站建设力荐企汇互联见效付款保养车哪个网站做的好
  • 做特殊原产地证的网站聊城做wap网站公司
  • 建设银行网站用户名做静态网站的软件
  • 网站后台账号密码获取建e网室内设计效果图门厅
  • 简单网站html模板下载深圳招标信息网
  • 机械厂网站建设微信公众号平台手机端
  • 给手机做网站的公司有哪些金螳螂装饰公司
  • 哈尔滨网站建设乙薇国内免费建网站
  • thinkphp 网站设置功能郑州建站软件
  • 中国建设银行有哪些招聘网站网络规划设计师论文方向
  • asp网站镜像代码网站建设有关的软件
  • 怎么做传奇网站烟台网站制作企业
  • 网站备案信息被删除注册网站费用
  • 电影院做羞羞的网站网站建设心得体会500字
  • 望京做网站网站后台无法审核
  • 网站设计 书籍新版wordpress
  • 网站在线生成器包装网站开发