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

同学录网站开发实现基本要求wordpress 顶部公告

同学录网站开发实现基本要求,wordpress 顶部公告,黑龙江信息流广告视频,个人做企业网站制作要多少钱构建 SyterKit 作为 Bootloader SyterKit 是一个纯裸机框架#xff0c;用于 TinyVision 或者其他 v851se/v851s/v851s3/v853 等芯片的开发板#xff0c;SyterKit 使用 CMake 作为构建系统构建#xff0c;支持多种应用与多种外设驱动。同时 SyterKit 也具有启动引导的功能用于 TinyVision 或者其他 v851se/v851s/v851s3/v853 等芯片的开发板SyterKit 使用 CMake 作为构建系统构建支持多种应用与多种外设驱动。同时 SyterKit 也具有启动引导的功能可以替代 U-Boot 实现快速启动 获取 SyterKit 源码 SyterKit 源码位于GitHub可以前往下载。 git clone GitHub - YuzukiHD/SyterKit: SyterKit is a baremetal framework, As bootloader, MPU framework, Support T113, V853, H618, T527, Running on SRAM从零构建 SyterKit 构建 SyterKit 非常简单只需要在 Linux 操作系统中安装配置环境即可编译。SyterKit 需要的软件包有 gcc-arm-none-eabiCMake 对于常用的 Ubuntu 系统可以通过如下命令安装 sudo apt-get update sudo apt-get install gcc-arm-none-eabi cmake build-essential -y然后新建一个文件夹存放编译的输出文件并且进入这个文件夹 mkdir build cd build然后运行命令编译 SyterKit cmake .. make编译后的可执行文件位于 build/app 中这里包括 SyterKit 的多种APP可供使用。 这里我们使用的是 syter_boot 作为启动引导。进入 syter_boot 文件夹可以看到这些文件 由于 TinyVision 是 TF 卡启动所以我们需要用到 syter_boot_bin_card.bin 编译 Linux-6.1 内核 由于 Debian 12 配套的内核是 Linux 6.1 LTS所以这里我们选择构建 Linux 6.1 版本内核。 搭建编译环境 安装一些必要的安装包 sudo apt-get update sudo apt-get install -y gcc-arm-none-eabi gcc-arm-linux-gnueabihf g-arm-linux-gnueabihf build-essential libncurses5-dev zlib1g-dev gawk flex bison quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lsof获取内核源码 内核源码托管在 Github 上可以直接获取到这里使用 --depth1 指定 git 深度为 1 加速下载。 git clone GitHub - YuzukiHD/TinyVision: TinyVision - A Tiny Linux Board / IPC / Server / Router / And so on... --depth1然后进入内核文件夹 cd kernel/linux-6.1配置内核选项 应用 defconfig CROSS_COMPILEarm-linux-gnueabihf- make ARCHarm tinyvision_defconfig进入 menuconfig 配置选项 CROSS_COMPILEarm-linux-gnueabihf- make ARCHarm menuconfig进入 General Setup -选中 Control Group Support 前往 File Systems 找到 FUSE (Filesystem in Userspace) support 前往 File Systems 找到 Inotify support for userspace 编译内核 CROSS_COMPILEarm-linux-gnueabihf- make ARCHarm使用 debootstrap 构建 debian rootfs 准备环境依赖 下载安装依赖环境 sudo apt install debootstrap qemu qemu-user-static qemu-system qemu-utils qemu-system-misc binfmt-support dpkg-cross debian-ports-archive-keyring --no-install-recommends生成目标镜像配置环境这里我们生成一个 1024M 的镜像文件用于存放 rootfs dd if/dev/zero ofrootfs.img bs1M count1024 mkdir rootfs mkfs.ext4 rootfs.img sudo mount rootfs.img rootfs开始构建基础 rootfs 这里我们选择最新的 debian12 (bookwarm) 作为目标镜像使用清华源来构建输出到目标目录 rootfs_data 文件夹中。新版本的 debootstrap 只需要运行一次即可完成两次 stage 的操作相较于老版本方便许多。 sudo debootstrap --archarmhf bookworm rootfs_data Index of /debian/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror看到 I: Base system installed successfully. 就是构建完成了 等待构建完成后使用chroot进入到目录这里编写一个挂载脚本方便挂载使用新建文件 ch-mount.sh 并写入以下内容 #!/bin/bashfunction mnt() {echo MOUNTINGsudo mount -t proc /proc ${2}procsudo mount -t sysfs /sys ${2}syssudo mount -o bind /dev ${2}devsudo mount -o bind /dev/pts ${2}dev/pts sudo chroot ${2} }function umnt() {echo UNMOUNTINGsudo umount ${2}procsudo umount ${2}syssudo umount ${2}dev/ptssudo umount ${2}dev}if [ $1 -m ] [ -n $2 ] ; thenmnt $1 $2 elif [ $1 -u ] [ -n $2 ]; thenumnt $1 $2 elseecho echo Either 1st, 2nd or both parameters were missingecho echo 1st parameter can be one of these: -m(mount) OR -u(umount)echo 2nd parameter is the full path of rootfs directory(with trailing /)echo echo For example: ch-mount -m /media/sdcard/echo echo 1st parameter : ${1}echo 2nd parameter : ${2} fi然后赋予脚本执行的权限 chmod 777 ch-mount.sh使用 ./ch-mount.sh -m rootfs_data 挂载使用 ./ch-mount.sh -u rootfs_data 卸载 执行挂载可以看到进入了 debian 的 rootfs 配置系统字符集选择 en_US 作为默认字符集 export LC_ALLen_US.UTF-8 apt-get install locales dpkg-reconfigure locales选择一个就可以 直接 OK 下一步 安装 Linux 基础工具 apt install sudo ssh openssh-server net-tools ethtool wireless-tools network-manager iputils-ping rsyslog alsa-utils bash-completion gnupg busybox kmod wget git curl --no-install-recommends安装编译工具 apt install build-essential安装 Linux nerd 工具 apt install vim nano neofetch设置本机入口 ip 地址 cat EOF /etc/hosts 127.0.0.1 localhost 127.0.1.1 $HOST ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters EOF配置网卡 mkdir -p /etc/network cat /etc/network/interfaces EOF auto lo iface lo inet loopbackauto eth0 iface eth0 inet dhcp EOF配置 DNS 地址 cat /etc/resolv.conf EOF nameserver 1.1.1.1 nameserver 8.8.8.8 EOF配置分区 cat /etc/fstab EOF #file system mount point type options dump pass /dev/mmcblk0p1 /boot vfat defaults 0 0 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 EOF配置 root 密码 passwd配置主机名 echo TinyVision /etc/hostname退出 chroot exit取消挂载 chroot ./ch-mount.sh -u rootfs_data/拷贝 rootfs 到镜像中 sudo cp -raf rootfs_data/* rootfs取消挂载 sudo umount rootfs至此 debian rootfs 就制作好了。 打包固件 编译完成 bootloader内核rootfs 后还需要打包固件成为可以 dd 写入的固件这里我们使用 genimage 工具来生成构建。 生成刷机镜像 编译内核后可以在文件夹 arch/arm/boot/dts/allwinner 生成sun8i-v851se-tinyvision.dtb 在文件夹arch/arm/boot 生成 zImage 把他们拷贝出来。 然后将 sun8i-v851se-tinyvision.dtb 改名为 sunxi.dtb 这个设备树名称是定义在 SyterKit 源码中的如果之前修改了 SyterKit 的源码需要修改到对应的名称SyterKit 会去读取这个设备树。 然后编写一个 config.txt 作为配置文件 [configs] bootargsroot/dev/mmcblk0p2 earlyprintksunxi-uart,0x02500000 loglevel2 initcall_debug0 rootwait consolettyS0 init/sbin/init mac_addr4a:13:e4:f9:79:75 bootdelay3安装 GENIMAGE 这里我们使用 genimage 作为打包工具 sudo apt-get install libconfuse-dev #安装genimage依赖库 sudo apt-get install genext2fs # 制作镜像时genimage将会用到 git clone GitHub - pengutronix/genimage: tool to generate multiple filesystem and flash images from a tree cd genimage ./autogen.sh # 配置生成configure ./configure # 配置生成makefile make sudo make install编译后运行试一试这里正常 使用 GENIMAGE 打包固件 编写 genimage.cfg 作为打包的配置 image boot.vfat {vfat {files {zImage,sunxi.dtb,config.txt}}size 32M }image sdcard.img {hdimage {}partition boot0 {in-partition-table noimage syter_boot_bin_card.binoffset 8K}partition boot0-gpt {in-partition-table noimage syter_boot_bin_card.binoffset 128K}partition kernel {partition-type 0xCbootable trueimage boot.vfat}partition rootfs {partition-type 0x83bootable trueimage rootfs.img} }由于genimage的脚本比较复杂所以编写一个 genimage.sh 作为简易使用的工具 #!/usr/bin/env bashdie() {cat EOF 2 Error: $Usage: ${0} -c GENIMAGE_CONFIG_FILE EOFexit 1 }# Parse arguments and put into argument list of the script opts$(getopt -n ${0##*/} -o c: -- $) || exit $? eval set -- $optsGENIMAGE_TMP${BUILD_DIR}/genimage.tmpwhile true ; docase $1 in-c)GENIMAGE_CFG${2};shift 2 ;;--) # Discard all non-option parametersshift 1;break ;;*)die unknown option ${1} ;;esac done[ -n ${GENIMAGE_CFG} ] || die Missing argument# Pass an empty rootpath. genimage makes a full copy of the given rootpath to # ${GENIMAGE_TMP}/root so passing TARGET_DIR would be a waste of time and disk # space. We dont rely on genimage to build the rootfs image, just to insert a # pre-built one in the disk image.trap rm -rf ${ROOTPATH_TMP} EXIT ROOTPATH_TMP$(mktemp -d) GENIMAGE_TMP$(mktemp -d) rm -rf ${GENIMAGE_TMP}genimage \--rootpath ${ROOTPATH_TMP} \--tmppath ${GENIMAGE_TMP} \--inputpath ${BINARIES_DIR} \--outputpath ${BINARIES_DIR} \--config ${GENIMAGE_CFG}准备完成文件如下所示 运行命令进行打包 chmod 777 genimage.sh ./genimage.sh -c genimage.cfg打包完成可以找到 sdcard.img 使用软件烧录固件到TF卡上
http://www.tj-hxxt.cn/news/219171.html

相关文章:

  • 本机做网站如何访问优品ppt模板网官网
  • 网站运营与营销济南建设厅网站安全员
  • 网站 app开发 财务做帐网站自己做推广
  • 网站制作公司教你怎么制作网站企业号官网入口
  • 电子商务网站建设合同pc建站网站
  • 企业网站建设一般包含哪些内容黄岩网站制作
  • 动态ip可以做网站智能手机应用开发
  • 沙河企业做网站山西网站制作公司
  • 代理加盟微信网站建设怎样做seo网站链接
  • 网站需要什么费用临沧网站建设公司
  • 网站服务器不稳定做网站推广怎么跟客户沟通
  • 设计一个官方网站推广广告泰安可以做网站的公司
  • 广州网站建设及推广在线网页制作
  • 进了网站的后台系统 怎么改公司的网站wordpress百度推送插件
  • 分类信息系统网站模板梅州网页设计培训报价
  • 网站icon怎么设置app制作
  • 手机版企业网站静态页面网站站标代码写进到静态页面了 怎么不显示呢?
  • 做网站不会配色怎么办湘潭做网站问下磐石网络
  • 网站建设优化推广教程门户网站开发工具软件
  • 青岛市崂山区建设局网站网站前端跟后端怎么做
  • 中英文企业网站公司简介模板免费文字
  • 怎么做专门卖二手衣服的网站seo推广公司 什么意思
  • 汉字域名的网站闵行网页设计
  • 网站如何防止别人抄袭wordpress index.txt
  • flash网站开源企业创建网站的途径都有啥
  • 医院网站建设 利法拉网络素材网站在哪里找
  • 江西响应式网站建设哪家好最新项目首码发布平台
  • 南昌网站建设的流程西安找公司建网站
  • 专业网站建设行业现状辽宁建设工程信息网新版网址
  • 中国建设银行理财网站上海 网站设计 公司