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

网站在正在建设中模板小程序多少钱

网站在正在建设中,模板小程序多少钱,微信小程序是怎么开发的,php网站开发环境论文学习交流加 个人qq#xff1a; 1126137994个人微信#xff1a; liu1126137994学习交流资源分享qq群#xff1a; 962535112 上一篇文章#xff0c;我们修改了内核代码改了系统的分区#xff0c;但是最后启动#xff0c;发现虽然我们可以挂载之前的文件系统#xff0c;但是… 学习交流加 个人qq 1126137994个人微信 liu1126137994学习交流资源分享qq群 962535112 上一篇文章我们修改了内核代码改了系统的分区但是最后启动发现虽然我们可以挂载之前的文件系统但是无法启动init进程。说明我们新移植的内核不支持我们之前制作的老的文件系统点击查看上一篇文件上一篇文章。今天我们来制作新的文件系统。 我们用的是哪一个编译器编译的内核就用哪一个编译器编译文件系统的应用程序 1.编译Busybox 获取busybox源码1.20.0版本的下载地址下载地址把下载好的源码拿到Linux系统解压进入到源码目录 然后直接 make menuconfig 交叉编译 出现如下界面 选择 Busybox Settings — Build Options — Cross Compiler prefix (NEW) 然后会出现可以输入的横条在里面输入我们的编译器的前缀 配置好后退出保存保存配置。 然后直接输入 make 编译 编译完成后我们把它安装到/work/nfs_root目录下进入到这个目录建立一个目录 mkdir fs_mini_mdev_new 新的文件系统目录 然后切换到busybox目录进行安装安装命令可以查看README make install CONFIG_PREFIX/work/nfs_root/fs_mini_mdev_new 第一步已经完成busybox已经安装好下一步是安装库。 2.安装库 我们查看到我们的编译工具的路径 echo $PATH 得知编译工具的路径为 /work/tools/usr/local/arm/4.3.2/bin 进入到这个目录 /work/tools/usr/local/arm/4.3.2 输入find -name lib 找到很多库如下 用到的库只有这两个 ./arm-none-linux-gnueabi/libc/armv4t/usr/lib ./arm-none-linux-gnueabi/libc/armv4t/lib 我们只需要把这两个库拷贝过来就行 先在fs_mini_mdev_new目录下建立以lib目录 然后把/work/tools/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib目录下的所有.so文件拷贝到fs_mini_mdev_new目录下的lib目录 cp /work/tools/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/*so* /work/nfs_root/fs_mini_mdev_new/lib -d -d代表原来是链接文件拷贝过来之后还是链接文件还有一个库需要添加 在/work/nfs_root/fs_mini_mdev_new/usr目录下创建一个lib目录然后把编译器中的usr/lib目录下的库拷贝过来 cp /work/tools/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/lib/*so* /work/nfs_root/fs_mini_mdev_new/usr/lib -d库已经添加完了接下来是构造一些其他目录etcdev目录等 3.构造etc目录 3.1创建etc/inittab文件 在/work/nfs_root/fs_mini_mdev_new目录下创建inittab文件里面内容如下 # /etc/inittab ::sysinit:/etc/init.d/rcS console::askfirst:-/bin/sh ::ctrlaltdel:/sbin/reboot ::shutdown:/bin/umount -a -r3.2创建etc/init.d/rcS文件 这是一个脚本问价可以在里面添加想自动执行的命令。以下命令配置IP地址、挂接/etc/fstab指定的文件系统。 #!/bin/sh ifconfig eth0 192.168.1.104 mount -a其中 第一行表示这是一个脚本文件运行时使用/bin/sh解析。 第三行挂接/etc/fstab文件指定的所有文件系统。 最后还要更改它的属性使它能够执行 chmod x etc/init.d/rcS3.3、创建etc/fstab文件 内容如下表示执行“mount -a”命令后将挂接proc、tmpfs文件系统 # device mount-point type options dump fsck orderproc /proc proc defaults 0 0 tmpfs /tmp tmpfs defaults 0 0 /etc/fstab 文件被用来定义文件系统的“静态信息”这些信息被用来控制mount命令的行为详细信息参考《嵌入Linux应用开发完全手册》这里不做详细解释。4.构建dev目录 该目录下存放的是设备文件。设备文件是Linux系统中特有的文件类型在Linux系统下以文件的方式访问各种外设即通过读写某个设备文件来操作某个具体硬件。比如通过“/dev/ttySAC0”文件可以操作串口0通过“/dev/mtdblock1”可以访问MTD设备NAND Flash、NOR Flash等的第二个分区。 /dev的创建有3种方法。 1手动创建 在制作根文件系统的时候就在/dev目录下创建需要操作的设备文件比如ttySAC0等。系统挂接根文件系统后就可以使用/dev目录下的设备文件了。 2使用devfs文件系统这种方法已经过时 3使用udev udev是一个用户程序它能够根据系统中硬件设别的状态更新设备文件包括设备文件的创建、删除等。 使用udev机制也不需要在/dev目录下创建设备节点它需要一些用户程序的支持并且内核要支持sysfs文件系统。它的操作比较复杂但是灵活性比较高。 在busybox中有一个mdev命令它是udev命令的简化版。 那么我们就使用mdev来创建设备文件 要在内核启动时自动运行mdev需要修改etc/fstab文件来自动挂载文件系统、修改etc/init.d/rcS文件加入要自动运行的命令。 *etc/fstab的修改 # device mount-point type options dump fsck orderproc /proc proc defaults 0 0 tmpfs /tmp tmpfs defaults 0 0 sysfs /sys sysfs defaults 0 0 tempfs /dev tempfs defaults 0 0 *etcinit.d/rcS的修改 #!/bin/sh ifconfig eth0 192.168.1.104 mount -a mkdir /dev/pts mount -t devpts devpts /dev/pts echo /sbin/mdev /proc/sys/kernel/hotplug mdev -s 另外mdev是通过init进程来启动的在使用mdev构造/dev目录之前init进程至少要用到的设备文件为/dev/console和/dev/null,所以要建立这两个文件 mkdir dev cd dev sudo mknod console c 5 1 sudo mknod null c 1 35.构建其他目录 其他目录可以是空目录如下 mkdir proc mnt sys root现在我们的/work/nfs_root/fs_mini_mdev_new目录下就是一个非常小的根文件系统。开发板可以将它作为网络根文件系统直接启动。如果要烧写进开发板还要将它制作为一个文件称为映像文件。 6.制作文件系统映像文件 接下来我们来制作文件系统的映像文件: 6.1首先需要编译制作jffs2映像文件的工具具体源码可以自行下载也可以加我q1126137994问起要 在我的Linux系统目录/work/tools/mtd-utils-05.07.23.tar.bz2是MTD设备的工具包编译它生成mkfs.jffs2工具用它来将一个目录制作成jffs2文件系统映像文件。 这个工具包需要zlib压缩包先安装zlib。在我的目录/work/GUI/xwindow/X/deps下有zlib源码zlib-1.2.3.tar.gz,执行以下命令进行安装 cd /work/GUI/xwindow/X/deps tar xzf zlib-1.2.3.tar.gz cd zlib-1.2.3 ./configure --shared --prefix/usr make sudo make install 然后编译mkfs.jffs2 cd /work/tools tar xjf mtd-utils-05.07.23.tar.bz2 cd mtd-utils-05.07.23/util make sudo make install 6.2制作jffs2映像文件 使用如下命令 cd /work/nfs_root/fs_mini_dev_new 这是我自己的目录根据个人的不同进入到不同的目录 mkfs.jffs2 -n -s 2048 -e 128KiB -d fs_mini_mdev_new -o fs_mini_mdev_newlyy.jffs2 上面-n 表示不要在每个擦除块上都加上清楚标志-s 2018 表示我们的NAND Flash的一页的大小为2048字节-e 128KiB 表示一个擦除快大小为128KiB ,-d 表示根文件系统的目录-o表示输出的文件。 好了文件系统制作完毕了。下面我们来烧写系统 nfs 30000000 192.168.1.101:/work/nfs_root/fs_mini_mdev_newlyy.jffs2 nand erase.part rootfs nand write.jffs2 30000000 260000 $filesize set bootargs consolettySAC0,115200 root/dev/mtdblock3 rootfstypejffs2 nfs 32000000 192.168.1.101:/work/nfs_root/uImage_new bootm 32000000 串口打印可以正常启动了整个系统终于跑起来了哈哈哈 完美费了这么大的功夫终于搞定了这个文件系统的制作还好没有出现什问题。 注释 在视频教程中出现了错误Kernel panic - not syncing: Attempted to kill init! exitcode0x00000200。 分析这个错误在内核中搜索字符串exitcode通过函数层层调用的分析最终找到do_exit(SIGKILL);执行了这个调用才出现错误代码4原因是编译内核用的编译工具是eabi接口的我们需要重新配置内核使用EABI接口 在内核目录下输入 make meniconfig 然后依次选择 Kernel Features — [*] Use the ARM EABI to compile the kernel 这下应该就完全没有问题了内核配置好后重新编译烧写启动就OK啦 想一起探讨以及获得各种学习资源加我有我博客中写的代码的原稿 qq1126137994 微信liu1126137994 可以共同交流关于嵌入式操作系统C语言C语言数据结构等技术问题。
http://www.zqtcl.cn/news/585447/

相关文章:

  • 石家庄做网站汉狮网络企业标准网上备案网站
  • php网站开发权限管理广州白云区网站开发
  • 北京网站开发建设 58同城wordpress 无标题
  • 黑龙seo网站优化建设网站要学编程吗
  • 花都区水务建设管理中心官方网站怎么样才能搜索到自己做的网站
  • dedecms景区网站模板wordpress显示手动摘要
  • 备案网站免网上海网站建设机构
  • 模板建网站哪个品牌好网站制作排名
  • 网站开发咨询企业排名查询
  • 东莞做网站注意事项坪山网站建设方案
  • 网站文章页图片不显示图片手机设计
  • 公司网站版面怎么设计湖南做网站 就问磐石网络专业
  • 描述网站开发的广告词黄页网络的推广
  • 打开官方网站广告平面设计好学吗
  • 建设银行观澜支行网站做网站公司汉狮网络
  • 荆州学校网站建设seo专业培训机构
  • 网站制作上网建站程序的价钱
  • 阿里巴巴网站建设规划24小时学会网站建设pdf
  • wordpress建站以后网络公司注册资金多少
  • wordpress下载站模板优秀网站开发公司
  • ppt模板免费下载完整版免费网站微网站开发商
  • 网站建设前的分析第一小节内容wordpress自带主题下载失败
  • 深圳微信网站设计网站建设设计制作外包
  • 做数模必逛的网站wordpress 培训 主题
  • 开发网站语言天元建设集团有限公司电话
  • 兼职做网站访问量和数据关于外贸公司的网站模板
  • 旅游网站设计与实现软件定制报价单
  • 上海专业网站建站公网站开发人员
  • 淄博网站建设公司有几家网络培训平台下载
  • 优秀网站展示仲恺做网站