ETJava Beta | Java    注册   登录
  • 搜索:
  • 树莓派CM4(三): 定制自己的树莓派镜像

    发表于      阅读(1)     博客类别:Crawler     转自:https://www.cnblogs.com/zhijun1996/p/18363031
    如有侵权 请联系我们删除  (页面底部联系我们)  

    1. 镜像下载

    • 使用树莓派最新的镜像Raspberry Pi OS Lite,内核版本6.6
    • 下载链接

    https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2024-07-04/2024-07-04-raspios-bookworm-arm64-lite.img.xz

    2. 挂载镜像到ubuntu

    • 上一步下载的树莓派镜像

      jun@ubuntu:$ ls
      2024-07-04-raspios-bookworm-arm64-lite.img
      
    • 查看第一个未使用的回环设备

      jun@ubuntu:$ losetup -f
      /dev/loop0
      
    • 将树莓派镜像关联到回环设备

      jun@ubuntu:$ sudo losetup /dev/loop0 2024-07-04-raspios-bookworm-arm64-lite.img 
      [sudo] password for jun:
      
    • 查看分区,检测到两个区,其中较小的是系统分区,较大的是根文件系统

      jun@ubuntu:$ sudo kpartx -av /dev/loop0
      add map loop0p1 (253:0): 0 1048576 linear 7:0 8192
      add map loop0p2 (253:1): 0 4481024 linear 7:0 1056768
      
    • 创建系统分区挂载目录

      jun@ubuntu:$ mkdir boot
      
    • 创建根文件系统挂载目录

      jun@ubuntu:$ mkdir rootfs
      
    • 挂载系统分区

      jun@ubuntu:$ sudo mount /dev/mapper/loop0p1 ./boot/
      
    • 挂载根文件系统

      jun@ubuntu:$ sudo mount /dev/mapper/loop0p2 ./rootfs/
      
    • 查看系统分区

      jun@ubuntu:ig210$ ls ./boot/
      bcm2710-rpi-2-b.dtb       bcm2710-rpi-zero-2-w.dtb  bcm2711-rpi-cm4s.dtb       bootcode.bin  fixup4db.dat  fixup_x.dat      kernel8.img       start4.elf    start_x.elf
      bcm2710-rpi-3-b.dtb       bcm2711-rpi-400.dtb       bcm2712d0-rpi-5-b.dtb      cmdline.txt   fixup4x.dat   initramfs_2712   LICENCE.broadcom  start4x.elf
      bcm2710-rpi-3-b-plus.dtb  bcm2711-rpi-4-b.dtb       bcm2712-rpi-5-b.dtb        config.txt    fixup_cd.dat  initramfs8       overlays          start_cd.elf
      bcm2710-rpi-cm3.dtb       bcm2711-rpi-cm4.dtb       bcm2712-rpi-cm5-cm4io.dtb  fixup4cd.dat  fixup.dat     issue.txt        start4cd.elf      start_db.elf
      bcm2710-rpi-zero-2.dtb    bcm2711-rpi-cm4-io.dtb    bcm2712-rpi-cm5-cm5io.dtb  fixup4.dat    fixup_db.dat  kernel_2712.img  start4db.elf      start.elf
      
    • 查看根文件系统

      jun@ubuntu:ig210$ ls ./rootfs/
      bin  boot  dev  etc  home  lib  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
      

    3. 自定义系统配置

    3.1 使能调试串口

    • 修改系统分区下的config.txt
      $ cd boot/
      boot$ sudo vi config.txt
      
    • config.txt的末尾添加如下内容
      enable_uart=1
      

    3.2 设置用户名密码

    • 设置用户名为jun,密码为9

    • 在一台已经进入终端的树莓派中执行如下命令,获取密码的密文,如下表示设置密码为9

      root@jun:/home/jun# echo 9 | openssl passwd -6 -stdin
      $6$tSX0UC/bRp.tzUvf$gqnju1u.BPjPLz1659xUok2GHViNBdcW7D4o4g4tf9xlbVFn4SU2EaV3/0Q02yquTkluWdZBi8sKrB0n3vtaC/
      
    • 将用户名和密文拼接

      jun:$6$tSX0UC/bRp.tzUvf$gqnju1u.BPjPLz1659xUok2GHViNBdcW7D4o4g4tf9xlbVFn4SU2EaV3/0Q02yquTkluWdZBi8sKrB0n3vtaC/
      
    • 将上一步得到的拼接字符串写入到boot分区的userconf.txt文件中

    3.3 设置主机名

    • 修改根文件系统下的hostname,修改主机名为jun

      sudo vi rootfs/etc/hostname
      

    • 修改根文件系统下的hosts文件,将127.0.1.1对应的主机名也修改为jun

    3.4 开启SSH

    • boot分区中创建一个空文件SSH即可

      boot$ sudo touch SSH
      

    3.5 使能IIC

    • 修改boot/config.txt,取消dtparam=i2c_arm=on的注释,添加dtparam=i2c_vc=on

    • 修改rootfs/etc/modules,在其中添加一行i2c-dev

      jun@ubuntu:$ sudo vi rootfs/etc/modules
      

    3.6 使能SPI

    • 修改boot/config.txt,取消#dtparam=spi=on的注释,如果没有这一项,添加之

    3.7 使能所有的串口

    • 修改boot/config.txt,添加如下内容

      deoverlay=uart0,txd0_pin=14,rxd0_pin=15
      dtoverlay=uart2,txd2_pin=0,rxd2_pin=1
      dtoverlay=uart3,txd3_pin=4,rxd3_pin=5
      dtoverlay=uart4,txd4_pin=8,rxd4_pin=9
      dtoverlay=uart5,txd5_pin_12,rxd5_pin=13
      
    • 在用户登录时显示Logo
    • 使用figlet这个工具可以生成点线图
    • rootfs/etc/profile文件末尾添加echo指令,打印点线图Logo
      jun@ubuntu:rootfs$ sudo vi etc/profile
      
      echo -e "\033[0;32m
       _____   _____   ____    _____ 
      |_   _| | ____| / ___|  |_   _|
        | |   |  _|   \___ \    | |  
        | |   | |___   ___) |   | |  
        |_|   |_____| |____/    |_|  
                                                                              
      \033[0m\n"
      

    4. 取消挂载镜像

    jun@ubuntu:$ ls
    2024-07-04-raspios-bookworm-arm64-lite.img  boot  rootfs
    jun@ubuntu:$ sudo umount ./boot 
    jun@ubuntu:$ sudo umount ./rootfs
    jun@ubuntu:$ sudo losetup -d /dev/loop0
    

    5. 镜像烧录

    6. 写在最后

    禁止转载到CSDN !!! 其它随意,转载请注明出处