[imx6ull]根文件系统&内核适配LCD

image.png

又是根文件系统制作,昨晚制作的,今天又适配了内核LCD

艾恩凝

2021/12/2

根文件系统

关于根文件系统,用的是busybox最新版本,1.34.1,虽然不建议用最新的,但又不是做项目,遇到问题解决就好,事实上没出什么 太大问题,制作完成后,可以运行起来

  1. 首先进行支持中文,虽然改了但没测试是否支持,反正也不用中文
  2. 配置busybox,用默认的就可以,make defconfig ,make menuconfig打开图形界面,配置,用默认的也够用,最主要的就是我们要用动态编译
  3. make
  4. make install CONFIG_PREFIX= /**
  5. 添加库文件,mkdir lib
  6. 找到我们使用的gcc的文件夹内,arm-linux-gnueabihf/libc/lib 到lib 下cp *so* *.a / -d 有个特殊的文件ld-linux-armhf.so.3
  7. arm-linux-gnueabihf/lib 下, 复制到 lib下
  8. mkdir usr/lib
  9. arm-linux-gnueabihf/libc/user/lib -> usr/lib
  10. 创建其他文件夹,dev,proc,mnt,sys,tmp,root
  11. 创建/etc/init.d/rcS
 1#!/bin/sh
 2 
 3PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH
 4LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/lib
 5export PATH LD_LIBRARY_PATH 
 6mount -a
 7mkdir /dev/pts
 8mount -t devpts devpts /dev/pts
 9echo /sbin/mdev > /proc/sys/kernel/hotplug
10mdev -s
  1. 创建/etc/fstab 文件
1#<file system> <mount point> <type> <options> <dump> <pass>
2proc /proc proc defaults 0 0
3tmpfs /tmp tmpfs defaults 0 0
4sysfs /sys sysfs defaults 0 0
  1. 创建/etc/inittab
1#etc/inittab
2::sysinit:/etc/init.d/rcS
3console::askfirst:-/bin/sh
4tty1::askfirst:-/bin/sh
5::restart:/sbin/init
6::ctrlaltdel:/sbin/reboot
7::shutdown:/bin/umount -a -r
8::shutdown:/sbin/swapoff -a

创建结束

适配LCD屏

之前已经适配了uboot,主要原因还是内核LCD驱动不适配,看屏幕出现的估计是nxp官方evk4.3寸屏,现在要适配自己的屏,调整一下参数就好。

  1. 修改设备树文件就好,自己的是imx6ull-aeneag-emmc.dts 找到lcdif节点,修改,屏幕的参数即可,参数在uboot那篇中有记录

修改logo

  1. 安装图片转换工具netpbm,ubuntu方法如下:
1sudo apt-get install netpbm
  1. 转换图片

pngtopnm logo.png > logo.pnm

pnmquant 224 logo.pnm > logo224.pnm

pnmtoplainpnm logo224.pnm > logo_linux_clut224.ppm

  1. 复制文件 到内核目录drivers/video/logo/下,替换掉之前的
  2. make dtbs
  3. make all -j16

https://pic.aeneag.xyz/20211202_152951.mp4


    


公众号'艾恩凝'
个人公众号
个人微信
个人微信
    吾心信其可行,
          则移山填海之难,
                  终有成功之日!
                                  ——孙文
    评论
    0 评论
avatar

取消