ืกื˜ืึทืจื˜ื™ื ื’ GNU / ืœื™ื ื•ืงืก ืื•ื™ืฃ ืึทืŸ ARM ื‘ืจืขื˜ ืคึฟื•ืŸ ืงืจืึทืฆืŸ (ื ื™ืฆืŸ ืงืึทืœื™ ืื•ืŸ iMX.6 ื•ื•ื™ ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ)

ื˜ืœ; ื“ืจ: ืื™ืš ื‘ื•ื™ืขืŸ ืึท ืงืึทืœื™ ืœื™ื ื•ืงืก ื‘ื™ืœื“ ืคึฟืึทืจ ืึท ืึธืจืขื ืงืึธืžืคึผื™ื•ื˜ืขืจ ืื™ืŸ ื“ืขื ืคึผืจืึธื’ืจืึทื debootstrap, linux ะธ u-boot.

ืกื˜ืึทืจื˜ื™ื ื’ GNU / ืœื™ื ื•ืงืก ืื•ื™ืฃ ืึทืŸ ARM ื‘ืจืขื˜ ืคึฟื•ืŸ ืงืจืึทืฆืŸ (ื ื™ืฆืŸ ืงืึทืœื™ ืื•ืŸ iMX.6 ื•ื•ื™ ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ)

ืื•ื™ื‘ ืื™ืจ ื’ืขืงื•ื™ืคื˜ ืขื˜ืœืขื›ืข ื ื™ืฉื˜ ื–ื™ื™ืขืจ ืคืึธืœืงืก ืื™ื™ืŸ-ื‘ืึธืจื“ ื•ื•ื™ื™ื›ื•ื•ืืจื’, ืื™ืจ ืงืขืŸ ื–ื™ื™ืŸ ืคื™ื™ืกื˜ ืžื™ื˜ ื“ื™ ืคืขืœืŸ ืคื•ืŸ ืึท ื‘ื™ืœื“ ืคื•ืŸ ื“ื™ื™ืŸ ื‘ืึทืœื™ื‘ืกื˜ืข ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ืคึฟืึทืจ ืขืก. ื‘ืขืจืš ื“ื™ ื–ืขืœื‘ืข ื–ืืš ืื™ื– ื’ืขืฉืขืŸ ืžื™ื˜ ืคึผืœืึทื ื ืขื“ ืคืœื™ืคึผืขืจ ืื™ื™ื ืขืจ. ืขืก ืื™ื– ืคืฉื•ื˜ ืงื™ื™ืŸ ืงืึทืœื™ ืœื™ื ื•ืงืก ืคึฟืึทืจ IMX6 (ืื™ืš ื‘ื™ืŸ ืคึผืจื™ืคึผืขืจื™ื ื’), ืึทื–ื•ื™ ืื™ืš ื”ืึธื‘ืŸ ืฆื• ืึทืกืขืžื‘ืึทืœ ืขืก ื–ื™ืš.

ื“ืขืจ ืืจืืคืงืืคื™ืข ืคึผืจืึธืฆืขืก ืื™ื– ื’ืึทื ืฅ ืคึผืฉื•ื˜:

  1. ื“ื™ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืื™ื– ื™ื ื™ืฉืึทืœื™ื™ื–ื“.
  2. ืคึฟื•ืŸ ืขื˜ืœืขื›ืข ืฉื˜ื— ืื•ื™ืฃ ื“ื™ ืกื˜ืึธืจื™ื“ื–ืฉ ืžื™ื˜ืœ (ืกื“ ืงืึธืจื˜ / eMMC / ืขื˜ืง) ื“ื™ ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจ ืื™ื– ืœื™ื™ืขื ืขืŸ ืื•ืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“.
  3. ื“ื™ ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจ ืงื•ืงื˜ ืคึฟืึทืจ ื“ื™ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื ืงืขืจืŸ ืื•ืŸ ืœืึธื•ื“ื– ืขืก ืื™ืŸ ืขื˜ืœืขื›ืข ื–ื›ึผืจื•ืŸ ื’ืขื’ื ื˜ ืื•ืŸ ืขืงืกืึทืงื™ื•ืฅ ืขืก.
  4. ื“ืขืจ ืงืขืจืŸ ืœืึธื•ื“ื– ื“ื™ ืจืขืฉื˜ ืคื•ืŸ ื“ื™ ืึทืก.

ื“ืขืจ ืžื“ืจื’ื” ืคื•ืŸ ื“ืขื˜ืึทืœ ืื™ื– ื’ืขื ื•ื’ ืคึฟืึทืจ ืžื™ื™ืŸ ืึทืจื‘ืขื˜, ืื™ืจ ืงืขื ืขืŸ ืœื™ื™ืขื ืขืŸ ื“ื™ ื“ืขื˜ืึทื™ืœืก ืื™ืŸ ืืŸ ืื ื“ืขืจ ืึทืจื˜ื™ืงืœ. ื“ื™ "ืขื˜ืœืขื›ืข" ื’ืขื‘ื™ื˜ืŸ ืื•ื™ื‘ืŸ ื“ืขืจืžืื ื˜ ืึทื ื“ืขืจืฉ ืคื•ืŸ ื‘ืจืขื˜ ืฆื• ื‘ืจืขื˜, ื•ื•ืึธืก ืงืจื™ื™ื™ืฅ ืขื˜ืœืขื›ืข ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ืฉื•ื•ืขืจื™ืงื™ื™ื˜ืŸ. ืœืึธื•ื“ื™ื ื’ ARM ืกืขืจื•ื•ืขืจ ืคึผืœืึทื˜ืคืึธืจืžืก ื˜ืจื™ื™ื ื’ ืฆื• ื ืึธืจืžืึทืœื™ื™ื– ื ื™ืฆืŸ UEFI, ืึธื‘ืขืจ ื›ืึธื˜ืฉ ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ื‘ื ื™ืžืฆื ืคึฟืึทืจ ืึทืœืขืžืขืŸ, ืื™ืจ ื•ื•ืขื˜ ื”ืึธื‘ืŸ ืฆื• ืึทืกืขืžื‘ืึทืœ ืึทืœืฅ ืกืขืคึผืขืจืึทื˜ืœื™.

ื‘ื•ื™ืขืŸ ื“ื™ ื•ื•ืึธืจืฆืœ ื˜ืขืงืข ืกื™ืกื˜ืขื

ืขืจืฉื˜ืขืจ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฆื•ื’ืจื™ื™ื˜ืŸ ื“ื™ ืกืขืงืฉืึทื ื–. ื“ืึธืก U-Boot ืฉื˜ื™ืฆื˜ ืคืึทืจืฉื™ื“ืขื ืข ื˜ืขืงืข ืกื™ืกื˜ืขืžืขืŸ, ืื™ืš ืื•ื™ืกื“ืขืจื•ื•ื™ื™ืœื˜ FAT32 ืคึฟืึทืจ /boot ืื•ืŸ ext3 ืคึฟืึทืจ ื•ื•ืึธืจืฆืœ, ื“ืึธืก ืื™ื– ื“ืขืจ ื ืึธืจืžืึทืœ ื‘ื™ืœื“ ืื•ื™ืกืœื™ื™ื’ ืคึฟืึทืจ ืงืึทืœื™ ืื•ื™ืฃ ARM. ืื™ืš ื•ื•ืขื˜ ื ื•ืฆืŸ GNU Parted, ืึธื‘ืขืจ ืื™ืจ ืงืขื ืขืŸ ื˜ืึธืŸ ื“ื™ ื–ืขืœื‘ืข ืื™ืŸ ืึท ืžืขืจ ื‘ืึทืงืึทื ื˜ ื•ื•ืขื’ fdisk. ืื™ืจ ื•ื•ืขื˜ ืื•ื™ืš ื“ืึทืจืคึฟืŸ dosfstools ะธ e2fsprogs ืฆื• ืฉืึทืคึฟืŸ ืึท ื˜ืขืงืข ืกื™ืกื˜ืขื: apt install parted dosfstools e2fsprogs.

ืžื™ืจ ืฆื™ื™ื›ืŸ ื“ื™ SD ืงืึธืจื˜:

  1. ืžืืจืง ื“ื™ ืกื“ ืงืึธืจื˜ ื•ื•ื™ ื ื™ืฆืŸ MBR ืคึผืึทืจื˜ื™ืฉืึทื ื™ื ื’: parted -s /dev/mmcblk0 mklabel msdos
  2. ืฉืึทืคึฟืŸ ืึท ืึธืคึผื˜ื™ื™ืœื•ื ื’ ืื•ื ื˜ืขืจ /boot ืคึฟืึทืจ 128 ืžืขื’ืื‘ื™ื™ื˜: parted -s /dev/mmcblk0 mkpart primary fat32 1MiB 128MiB. ื“ืขืจ ืขืจืฉื˜ืขืจ ืžืขื’ืื‘ื™ื™ื˜ ืžื™ืกื˜ ืžื•ื–ืŸ ื–ื™ื™ืŸ ืœื™ื ืงืก ืคึฟืึทืจ ื“ื™ ืžืึทืจืงืึทืคึผ ื–ื™ืš ืื•ืŸ ืคึฟืึทืจ ื“ื™ ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจ.
  3. ืžื™ืจ ืžืึทื›ืŸ ืึท ื•ื•ืึธืจืฆืœ ื˜ืขืงืข ืกื™ืกื˜ืขื ืคึฟืึทืจ ื“ื™ ื’ืื ืฆืข ืจื•ืขืŸ ืงืึทืคึผืึทืฆื™ื˜ืขื˜: parted -s /dev/mmcblk0 mkpart primary ext4 128MiB 100%
  4. ืื•ื™ื‘ ืคึผืœื•ืฆืœื™ื ื’ ื“ื™ื™ืŸ ืฆืขื˜ื™ื™ืœื•ื ื’ ื˜ืขืงืขืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ื‘ืืฉืืคืŸ ืึธื“ืขืจ ื”ืึธื‘ืŸ ื ื™ืฉื˜ ืคืืจืขื ื“ืขืจื˜, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืœื•ื™ืคืŸ 'partprobe', ื“ื™ ืฆืขื˜ื™ื™ืœื•ื ื’ ื˜ื™ืฉ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืจื™ืœื™ื™ืขื ืขืŸ.
  5. ืฉืึทืคึฟืŸ ืึท ื˜ืขืงืข ืกื™ืกื˜ืขื ืคึฟืึทืจ ื“ื™ ืฉื˜ื™ื•ื•ืœ ืฆืขื˜ื™ื™ืœื•ื ื’ ืžื™ื˜ ื“ื™ ืคื™ืจืžืข BOOT: mkfs.vfat -n BOOT -F 32 -v /dev/mmcblk0p1
  6. ืฉืึทืคึฟืŸ ืึท ื•ื•ืึธืจืฆืœ ื˜ืขืงืข ืกื™ืกื˜ืขื ืžื™ื˜ ืึท ืคื™ืจืžืข ROOTFS: mkfs.ext3 -L ROOTFS /dev/mmcblk0p2

ื’ืจื•ื™ืก, ืื™ืฆื˜ ืื™ืจ ืงืขื ืขืŸ ืคึผืœืึธืžื‘ื™ืจืŸ ืขืก ืื•ื™ืก. ืคึฟืึทืจ ื“ืขื ืื™ืจ ื•ื•ืขื˜ ืึทื“ื™ืฉื ืึทืœื™ ื“ืึทืจืคึฟืŸ debootstrap, ืึท ื ื•ืฆืŸ ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ื•ื•ืึธืจืฆืœ ื˜ืขืงืข ืกื™ืกื˜ืขืžืขืŸ ืคึฟืึทืจ ื“ืขื‘ื™ืึทืŸ-ื•ื•ื™ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขืžืขืŸ: apt install debootstrap.

ืžื™ืจ ืงืœื™ื™ึทื‘ืŸ FS:

  1. ืฉื˜ืขืœืŸ ื“ื™ ืฆืขื˜ื™ื™ืœื•ื ื’ ืื™ืŸ /mnt/ (ื ื•ืฆืŸ ืึท ืžืขืจ ื‘ืึทืงื•ื•ืขื ืึธื ืงืœืึทืคึผืŸ ืคื•ื ื˜): mount /dev/mmcblk0p2 /mnt
  2. ืžื™ืจ ืึทืงืฉืœื™ ืคึผืœืึธืžื‘ื™ืจืŸ ื“ื™ ื˜ืขืงืข ืกื™ืกื˜ืขื: debootstrap --foreign --include=qemu-user-static --arch armhf kali-rolling /mnt/ http://http.kali.org/kali. ืคึผืึทืจืึทืžืขื˜ืขืจ --include ื™ื ื“ื™ืงื™ื™ืฅ ืฆื• ืึทื“ื™ืฉื ืึทืœื™ ื™ื ืกื˜ืึทืœื™ืจืŸ ืขื˜ืœืขื›ืข ืคึผืึทืงืึทื“ื–ืฉืึทื–, ืื™ืš ืกืคึผืขืกื™ืคื™ืขื“ ืึท ืกื˜ืึทื˜ื™ืงืœื™ ื’ืขื‘ื•ื™ื˜ QEMU ืขืžื•ืœืึทื˜ืึธืจ. ืขืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ chroot ืื™ืŸ ื“ื™ ARM ืกื•ื•ื™ื•ื•ืข. ื“ื™ ื˜ื™ื™ึทื˜ืฉ ืคื•ืŸ ื“ื™ ืจื•ืขืŸ ืึธืคึผืฆื™ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ man debootstrap. ื“ื• ื–ืืœืกื˜ ื ื™ืฉื˜ ืคืึทืจื’ืขืกืŸ ืึทื– ื ื™ื˜ ื™ืขื“ืขืจ ARM ื‘ืจืขื˜ ืฉื˜ื™ืฆื˜ ื“ื™ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ armhf.
  3. ืจืขื›ื˜ ืฆื• ื“ืขืจ ื—ื™ืœื•ืง ืื™ืŸ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ debootstrap ืื™ื– ื’ืขื˜ืืŸ ืื™ืŸ ืฆื•ื•ื™ื™ ืกื˜ืึทื’ืขืก, ื“ื™ ืจื’ืข ืื™ื– ื’ืขื˜ืืŸ ื•ื•ื™ ื“ืึธืก: chroot /mnt/ /debootstrap/debootstrap --second-stage
  4. ืื™ืฆื˜ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื•ื™ืกืžืขืงืŸ ืขืก: chroot /mnt /bin/bash
  5. ืžื™ืจ ืคึผืœืึธืžื‘ื™ืจืŸ ืื™ืŸ /etc/hosts ะธ /etc/hostname ืฆื™ืœ FS. ืคึผืœืึธืžื‘ื™ืจืŸ ืื™ืŸ ื“ื™ ื–ืขืœื‘ืข ื•ื•ื™ ื“ื™ ืื™ื ื”ืึทืœื˜ ืื•ื™ืฃ ื“ื™ื™ืŸ ื”ื™ื’ืข ืงืึธืžืคึผื™ื•ื˜ืขืจ, ื ืึธืจ ื’ืขื“ืขื ืงืขืŸ ืฆื• ืคืึทืจื‘ื™ื™ึทื˜ืŸ ื“ื™ ื”ืึธืกื˜ื ืึทืžืข.
  6. ืื™ืจ ืงืขื ืขืŸ ืงืึทืกื˜ืึทืžื™ื™ื– ืึทืœืฅ ืึทื ื“ืขืจืฉ. ืื™ืŸ ื‘ืึทื–ื•ื ื“ืขืจ, ืื™ืš ื™ื ืกื˜ืึทืœื™ืจืŸ locales (ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืฉืœื™ืกืœืขืŸ), ืจืขืงืึธื ืคื™ื’ื•ืจื™ืจืŸ ืœืึธื•ืงืึทืœื– ืื•ืŸ ืฆื™ื™ื˜ ื–ืึธื ืข (dpkg-reconfigure locales tzdata). ื“ื• ื–ืืœืกื˜ ื ื™ืฉื˜ ืคืึทืจื’ืขืกืŸ ืฆื• ืฉื˜ืขืœืŸ ื“ื™ ืคึผืึทืจืึธืœ ืžื™ื˜ ื“ื™ ื‘ืึทืคึฟืขืœ passwd.
  7. ืฉื˜ืขืœืŸ ืึท ืคึผืึทืจืึธืœ ืคึฟืึทืจ root ืžืึทื ืฉืึทืคึฟื˜ passwd.
  8. ื“ืขืจ ืฆื•ื’ืจื™ื™ื˜ื•ื ื’ ืคื•ืŸ ื“ื™ ื‘ื™ืœื“ ืคึฟืึทืจ ืžื™ืจ ืขื ื“ืก ืžื™ื˜ ืคื™ืœื•ื ื’ /etc/fstab ื™ืŸ /mnt/.

ืื™ืš ื•ื•ืขืœ ืฆื•ืคึฟืขืœื™ืงืขืจ ืื™ืŸ ืœื•ื™ื˜ ืžื™ื˜ ื“ื™ ืคืจื™ืขืจ ื‘ืืฉืืคืŸ ื˜ืึทื’ืก, ืึทื–ื•ื™ ื“ืขืจ ืื™ื ื”ืึทืœื˜ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื•ื•ื™ ื“ืึธืก:

LABEL=ROOTFS / ืึทื•ื˜ืึธ ืขืจืจืึธืจืก = ืจืขืžืึธื•ื ื˜-ืจืึธ 0 1
LABEL = ืฉื˜ื™ื•ื•ืœ / ืฉื˜ื™ื•ื•ืœ ืึทื•ื˜ืึธ ื“ื™ืคืึธืœืฅ 0 0

ืฆื•ื ืกื•ืฃ, ืื™ืจ ืงืขื ืขืŸ ืึธื ืงืœืึทืคึผืŸ ื“ื™ ืฉื˜ื™ื•ื•ืœ ืฆืขื˜ื™ื™ืœื•ื ื’, ืžื™ืจ ื“ืึทืจืคึฟืŸ ืขืก ืคึฟืึทืจ ื“ื™ ืงืขืจืŸ: `mount /dev/mmcblk0p1 /mnt/boot/`

ืœื™ื ื•ืงืก ื‘ื•ื™ืขืŸ

ืฆื• ื‘ื•ื™ืขืŸ ื“ืขื ืงืขืจืŸ (ืื•ืŸ ื“ืขืจื ืึธืš ื“ื™ ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจ) ืื•ื™ืฃ ื“ืขื‘ื™ืึทืŸ ื˜ืขืกื˜ื™ื ื’, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ืึท ื ืึธืจืžืึทืœ ื’ืึทื ื’ ืคื•ืŸ GCC, GNU Make ืื•ืŸ GNU C ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื›ืขื“ืขืจ ื˜ืขืงืขืก ืคึฟืึทืจ ื“ื™ ืฆื™ืœ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ (ืคึฟืึทืจ ืžื™ืจ). armhf), ื•ื•ื™ ืื•ื™ืš OpenSSL ื›ืขื“ืขืจื–, ืงืึทื ืกืึธื•ืœ ืงืึทืœืงื•ืœืึทื˜ืึธืจ bc, bison ะธ flex: apt install crossbuild-essential-armhf bison flex libssl-dev bc. ื–ื™ื ื˜ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืœืึธื•ื“ืขืจ ืงื•ืงื˜ ืคึฟืึทืจ ื“ื™ ื˜ืขืงืข zImage ืื•ื™ืฃ ื“ืขืจ ื˜ืขืงืข ืกื™ืกื˜ืขื ืคื•ืŸ ื“ื™ ืฉื˜ื™ื•ื•ืœ ืฆืขื˜ื™ื™ืœื•ื ื’, ืขืก ืื™ื– ืฆื™ื™ื˜ ืฆื• ืฉืคึผืึทืœื˜ืŸ ื“ื™ ื‘ืœื™ืฅ ืคืึธืจ.

  1. ืขืก ื ืขืžื˜ ืฆื• ืœืึทื ื’ ืฆื• ืงืœืึธื•ืŸ ื“ื™ ืงืขืจืŸ, ืึทื–ื•ื™ ืื™ืš ื•ื•ืขื˜ ื ืึธืจ ืืจืืคืงืืคื™ืข: wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.9.1.tar.xz. ื–ืืœ ืก ืึทื ืคึผืึทืง ืื•ืŸ ื’ื™ื™ืŸ ืฆื• ื“ื™ ืžืงื•ืจ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ: tar -xf linux-5.9.1.tar.xz && cd linux-5.9.1
  2. ืงืึทื ืคื™ื’ื™ืขืจ ืื™ื™ื“ืขืจ ื–ืึทืžืœื•ื ื’: make ARCH=arm KBUILD_DEFCONFIG=imx_v6_v7_defconfig defconfig. ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื™ื– ืœื™ื’ืŸ ืื™ืŸ ื“ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ arch/arm/configs/. ืื•ื™ื‘ ืขืก ืื™ื– ื’ืึธืจื ื™ื˜, ืื™ืจ ืงืขื ืขืŸ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื’ืขืคึฟื™ื ืขืŸ ืื•ืŸ ืืจืืคืงืืคื™ืข ืึท ืคืึทืจื˜ื™ืง ื˜ืขืงืข ืื•ืŸ ืคืึธืจืŸ ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ืขืจ ื˜ืขืงืข ืื™ืŸ ื“ืขื ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ื•ื•ื™ ืึท ืคึผืึทืจืึทืžืขื˜ืขืจ KBUILD_DEFCONFIG. ื•ื•ื™ ืึท ืœืขืฆื˜ืข ืจื™ื–ืึธืจื˜, ืžื™ื“ ืžืึทืš ืื•ื™ืฃ ืฆื• ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืคื•ื ื˜.
  3. ืึธืคึผื˜ื™ืึธื ืึทืœืœื™ ืื™ืจ ืงืขื ืขืŸ ื˜ื•ื•ื™ืง ื“ื™ ืกืขื˜ื˜ื™ื ื’ืก: make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
  4. ืื•ืŸ ืงืจื™ื™ื– ืฆื•ื ื•ื™ืคื ืขืžืขืŸ ื“ื™ ื‘ื™ืœื“: make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
  5. ืื™ืฆื˜ ืื™ืจ ืงืขื ืขืŸ ื ืึธื›ืžืึทื›ืŸ ื“ื™ ืงืขืจืŸ ื˜ืขืงืข: cp arch/arm/boot/zImage /mnt/boot/
  6. ืื•ืŸ ื˜ืขืงืขืก ืคึฟื•ืŸ DeviceTree (ื“ื™ืกืงืจื™ืคึผืฉืึทืŸ ืคื•ืŸ ื“ื™ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืื•ื™ืฃ ื“ื™ ื‘ืจืขื˜): cp arch/arm/boot/dts/*.dtb /mnt/boot/
  7. ืื•ืŸ ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ ืžืึทื“ื–ืฉื•ืœื– ื’ืขื–ืืžืœื˜ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ื‘ืึทื–ื•ื ื“ืขืจ ื˜ืขืงืขืก: make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=/mnt/ modules_install

ื“ืขืจ ืงืขืจืŸ ืื™ื– ื’ืจื™ื™ื˜. ืื™ืจ ืงืขื ืขืŸ ืึธืคึผืจื•ืขืŸ ืึทืœืฅ: umount /mnt/boot/ /mnt/

ื“ืืก ื•-ืฉื˜ื™ื•ื•ืœ

ื–ื™ื ื˜ ื“ื™ ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจ ืื™ื– ื™ื ื˜ืขืจืึทืงื˜ื™ื•ื•, ืึทืœืข ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืื™ื– ื“ื™ ื‘ืจืขื˜ ื–ื™ืš, ืึท ืกื˜ืึธืจื™ื“ื–ืฉ ืžื™ื˜ืœ ืื•ืŸ ืึธืคึผื˜ื™ืึธื ืึทืœืœื™ ืึท ื•ืกื‘-ืฆื•-UART ืžื™ื˜ืœ. ืึทื– ืื™ื–, ืื™ืจ ืงืขื ืขืŸ ืึธืคึผืœื™ื™ื’ืŸ ื“ื™ ืงืขืจืŸ ืื•ืŸ ืึทืก ืคึฟืึทืจ ืฉืคึผืขื˜ืขืจ.

ื“ื™ ื•ื•ืึทืกื˜ ืžืขืจื”ื™ื™ึทื˜ ืคื•ืŸ ืžืึทื ื™ืึทืคืึทืงื˜ืฉืขืจืขืจื– ืคืึธืจืฉืœืึธื’ืŸ ืฆื• ื ื•ืฆืŸ Das U-Boot ืคึฟืึทืจ ื“ื™ ืขืจืฉื˜ ืฉื˜ื™ื•ื•ืœ. ื’ืึทื ืฅ ืฉื˜ื™ืฆืŸ ืื™ื– ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ืฆื•ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ื–ื™ื™ืขืจ ืื™ื™ื’ืŸ ื’ืึธืคึผืœ, ืึธื‘ืขืจ ื–ื™ื™ ื˜ืึธืŸ ื ื™ื˜ ืคืึทืจื’ืขืกืŸ ืฆื• ื‘ื™ื™ืฉื˜ื™ื™ืขืจืŸ ืฆื• ื“ื™ ืึทืคึผืกื˜ืจื™ื. ืื™ืŸ ืžื™ื™ืŸ ืคืึทืœ, ื“ื™ ื‘ืจืขื˜ ืื™ื– ื’ืขืฉื˜ื™ืฆื˜ ืื™ืŸ ื”ื•ื™ืคึผื˜ ืœื™ื ื™ืขื“ืขืจื™ื‘ืขืจ ื’ืึธืคึผืœ ืื™ืš ืื™ื’ื ืึธืจื™ืจื˜ ืขืก.

ืœืึธืžื™ืจ ืึทืกืขืžื‘ืึทืœ ื“ื™ ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจ ื–ื™ืš:

  1. ืžื™ืจ ืงืœืึธื•ืŸ ื“ื™ ืกื˜ืึทื‘ื™ืœ ืฆื•ื•ื™ื™ึทื’ ืคื•ืŸ ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™: git clone https://gitlab.denx.de/u-boot/u-boot.git -b v2020.10
  2. ืœืึธืžื™ืจ ื’ื™ื™ืŸ ืฆื• ื“ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ื–ื™ืš: cd u-boot
  3. ืคึผืจื™ืคึผืขืจื™ื ื’ ื“ื™ ื‘ื•ื™ืขืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ: make mx6ull_14x14_evk_defconfig. ื“ืึธืก ืึทืจื‘ืขื˜ ื ืึธืจ ืื•ื™ื‘ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื™ื– ืื™ืŸ Das U-Boot ื–ื™ืš, ืึทื ื“ืขืจืฉ ืื™ืจ ื•ื•ืขื˜ ื“ืึทืจืคึฟืŸ ืฆื• ื’ืขืคึฟื™ื ืขืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ืคืึทื‘ืจื™ืงืึทื ื˜ ืื•ืŸ ืฉื˜ืขืœืŸ ืขืก ืื™ืŸ ื“ื™ ื•ื•ืึธืจืฆืœ ืคื•ืŸ ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืื™ืŸ ืึท ื˜ืขืงืข. .config, ืึธื“ืขืจ ืึทืกืขืžื‘ืึทืœ ืื™ืŸ ืงื™ื™ืŸ ืื ื“ืขืจืข ืฉื˜ื™ื™ื’ืขืจ ืจืขืงืึทืžืขื ื“ื™ื“ ื“ื•ืจืš ื“ืขืจ ืคืึทื‘ืจื™ืงืึทื ื˜.
  4. ืžื™ืจ ืึทืกืขืžื‘ืึทืœ ื“ื™ ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจ ื‘ื™ืœื“ ื–ื™ืš ื ื™ืฆืŸ ืึท ืงืจื™ื™ึทื–-ืงืึทืžืคึผื™ื™ืจืขืจ armhf: make CROSS_COMPILE=arm-linux-gnueabihf- u-boot.imx

ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜ ืžื™ืจ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ื˜ืขืงืข u-boot.imx, ื“ืึธืก ืื™ื– ืึท ืคืึทืจื˜ื™ืง ื‘ื™ืœื“ ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืฉืจื™ื‘ืŸ ืฆื• ืึท ื‘ืœื™ืฅ ืคืึธืจ. ืžื™ืจ ืฉืจื™ื™ึทื‘ืŸ ืฆื• ื“ื™ ืกื“ ืงืึธืจื˜, ืกืงื™ืคึผื™ื ื’ ื“ื™ ืขืจืฉื˜ืขืจ 1024 ื‘ื™ื˜ืขืก. ืคืืจื•ื•ืืก ื”ืึธื‘ ืื™ืš ืื•ื™ืกื“ืขืจื•ื•ื™ื™ืœื˜ ืฆื™ืœ u-boot.imx? ืคืืจื•ื•ืืก ื”ืื˜ ืื™ืš ืคืึทืจืคื™ืจืŸ ืคึผื•ื ืงื˜ 1024 ื‘ื™ื˜ืขืก? ื“ืึธืก ืื™ื– ื•ื•ืึธืก ื–ื™ื™ ืคืึธืจืฉืœืึธื’ืŸ ืฆื• ื˜ืึธืŸ ืื™ืŸ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ. ืคึฟืึทืจ ืื ื“ืขืจืข ื‘ืึธืจื“ื–, ื“ื™ ื‘ื™ืœื“ ื‘ื ื™ืŸ ืื•ืŸ ืจืขืงืึธืจื“ื™ื ื’ ืคึผืจืึธืฆืขืก ืงืขืŸ ื–ื™ื™ืŸ ืึท ื‘ื™ืกืœ ืึทื ื“ืขืจืฉ.

ื’ืขื˜ืืŸ, ืื™ืจ ืงืขื ืขืŸ ืฉื˜ื™ื•ื•ืœ. ื“ื™ ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจ ืžื•ื–ืŸ ื‘ืึทืจื™ื›ื˜ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื•ื•ืขืจืกื™ืข, ืขื˜ืœืขื›ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ืขื ื‘ืจืขื˜, ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื’ืขืคึฟื™ื ืขืŸ ื“ื™ ืงืขืจืŸ ื‘ื™ืœื“ ืื•ื™ืฃ ื“ืขืจ ืฆืขื˜ื™ื™ืœื•ื ื’. ืื•ื™ื‘ ื ื™ื˜ ื’ืขืจืึธื˜ืŸ, ืขืก ื•ื•ืขื˜ ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ืฉื˜ื™ื•ื•ืœ ืื™ื‘ืขืจ ื“ื™ ื ืขืฅ. ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืื™ื– ื’ืึทื ืฅ ื“ื™ื˜ื™ื™ืœื“, ืื™ืจ ืงืขื ืขืŸ ื’ืขืคึฟื™ื ืขืŸ ื“ื™ ื˜ืขื•ืช ืื•ื™ื‘ ืขืก ืื™ื– ืึท ืคึผืจืึธื‘ืœืขื.

ืึธื ืฉื˜ืึธื˜ ืึท ืžืกืงื ื

ืฆื™ ื”ืึธื˜ ืื™ืจ ื•ื•ื™ืกืŸ ืึทื– ืึท ื“ืขืœืคื™ื ืก ืฉื˜ืขืจืŸ ืื™ื– ื ื™ืฉื˜ ื‘ื™ื™ื ืขืจ? ืขืก ืื™ื– ืžืžืฉ ืึท ื“ืจื™ื˜ ืื•ื™ื’, ืึท ืคืึทื˜ื™ ืึธื‘ื™ืขืงื˜ื™ื•ื• ืคึฟืึทืจ ืขืงืึธืœืึธืงืึทื˜ื™ืึธืŸ!

ืกื˜ืึทืจื˜ื™ื ื’ GNU / ืœื™ื ื•ืงืก ืื•ื™ืฃ ืึทืŸ ARM ื‘ืจืขื˜ ืคึฟื•ืŸ ืงืจืึทืฆืŸ (ื ื™ืฆืŸ ืงืึทืœื™ ืื•ืŸ iMX.6 ื•ื•ื™ ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ)

ืกื˜ืึทืจื˜ื™ื ื’ GNU / ืœื™ื ื•ืงืก ืื•ื™ืฃ ืึทืŸ ARM ื‘ืจืขื˜ ืคึฟื•ืŸ ืงืจืึทืฆืŸ (ื ื™ืฆืŸ ืงืึทืœื™ ืื•ืŸ iMX.6 ื•ื•ื™ ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ)

ืžืงื•ืจ: www.habr.com