tl; dr: ืื ื ืืื ื ืชืืื ืช Kali Linux ืขืืืจ ืืืฉื ARM, ืืชืืื ืืช debootstrap
, linux
ะธ u-boot
.
ืื ืงื ืืช ืืฉืื ืืืื ืื ืคืืคืืืจื ืืืืืื, ืืชื ืขืืื ืืืืชืงื ืืืืกืจ ืชืืื ื ืฉื ืขืจืืช ืืืคืฆื ืืืืขืืคืช ืขืืื ืขืืืจื. ืืขืจื ืืืชื ืืืจ ืงืจื
ืชืืืื ืืืืจืื ืื ืคืฉืื:
- ืืชืืื ืืืืืจื.
- ืืืืืจ ืืืฉืื ืืืชืงื ืืืืกืื (ืืจืืืก SD/eMMC/ืืื') ืืืขืื ืืืชืืื ื ืงืจื ืืืืืฆืข.
- ืืืืขื ืืืคืฉ ืืช ืืืืื ืฉื ืืขืจืืช ืืืคืขืื ืืืืขื ืืืชื ืืืืืจ ืืืืจืื ืืืฉืื ืืืืฆืข ืืืชื.
- ืืงืจื ื ืืืขื ืืช ืฉืืจ ืืขืจืืช ืืืคืขืื.
ืืืฉืืื ืฉืื ืืกืคืืงื ืจืืช ืืคืืจืื ืืื, ืืคืฉืจ ืืงืจืื ืืช ืืคืจืืื
ืื ืืืช ืืขืจืืช ืงืืฆื ืืฉืืจืฉ
ืจืืฉืืช ืืชื ืฆืจืื ืืืืื ืงืืขืื. Das U-Boot ืชืืื ืืืขืจืืืช ืงืืฆืื ืฉืื ืืช, ืขืืืจื ืืืจืชื ื-FAT32 /boot
ื-ext3 ืขืืืจ root, ืืื ืกืืืื ืืชืืื ื ืืกืื ืืจืื ืขืืืจ Kali ืชืืช ARM. ืื ื ืืฉืชืืฉ ื-GNU Parted, ืืื ืืชื ืืืื ืืืคืื ืืืชื ืืืืืจ ืืืชืจ fdisk
. ืชืฆืืจื ืื dosfstools
ะธ e2fsprogs
ืืื ืืืฆืืจ ืืขืจืืช ืงืืฆืื: apt install parted dosfstools e2fsprogs
.
ืืืืงืช ืืจืืืก SD:
- ืกืื ืืช ืืจืืืก ื-SD ืืืฉืชืืฉ ืืืืืฆืืช MBR:
parted -s /dev/mmcblk0 mklabel msdos
- ืฆืืจ ืงืืข ืขืืืจ
/boot
ืขืืืจ 128 ืืื ืืืื:parted -s /dev/mmcblk0 mkpart primary fat32 1MiB 128MiB
. ืืฉ ืืืฉืืืจ ืืช ืืืื-ืืืื ืืจืืฉืื ืฉืืืืืฆื ืขืืืจ ืืกืืืื ืขืฆืื ืืขืืืจ ืืืขื ืืืชืืื. - ืฆืืจ ืฉืืจืฉ FS ืขืืืจ ืฉืืจ ืืงืืืืืช:
parted -s /dev/mmcblk0 mkpart primary ext4 128MiB 100%
- ืื ืคืชืืื ืื ืืฆืจืช ืื ืฉืื ืืช ืงืืฆื ืืืืฆืืช, ืขืืื ืืืคืขืื `partprobe`, ืืื ืืืืช ืืืืืฆืืช ืชืืงืจื ืืืืฉ.
- ืฆืืจ ืืขืจืืช ืงืืฆืื ืฉื ืืืืฆืช ืืชืืื ืฉืืืชืจืชื
BOOT
:mkfs.vfat -n BOOT -F 32 -v /dev/mmcblk0p1
- ืฆืืจ ืืขืจืืช ืงืืฆืื ืฉืืจืฉ ืขื ืชืืืืช
ROOTFS
:mkfs.ext3 -L ROOTFS /dev/mmcblk0p2
ื ืืืจ, ืขืืฉืื ืืชื ืืืื ืืืื ืืืชื. ืื ืืืจืืฉ ืื ืืกืฃ debootstrap
, ืืื ืขืืจ ืืืฆืืจืช ืืกืืก FS ืืืขืจืืืช ืืคืขืื ืืืืืืช ืืืืื: apt install debootstrap
.
ืื ื ืืืกืคืื FS:
- ืืจืื ืืช ืืืืืฆื ื
/mnt/
(ืืฉืชืืฉ ืื ืงืืืช ืืจืืื ื ืืื ืืืชืจ ืขืืืจ ืขืฆืื):mount /dev/mmcblk0p2 /mnt
- ืืืขืฉื ืื ื ืืืืืื ืืช ืืขืจืืช ืืงืืฆืื:
debootstrap --foreign --include=qemu-user-static --arch armhf kali-rolling /mnt/ http://http.kali.org/kali
... ืคึผึธืจึธืึถืึถืจ--include
ืืฆืืื ืืืชืงืื ืื ืืกืฃ ืืื ืืืืืืช, ืฆืืื ืชื ืืืืืืืจ QEMU ืื ืื ืกืืืืช. ืื ืืืคืฉืจ ืื ืืืฆืขchroot
ืืกืืืืช ARM. ืืช ืืืฉืืขืืช ืฉื ืืืคืฉืจืืืืช ืืืืจืืช ื ืืชื ืืืฆืื ืman debootstrap
. ืื ืชืฉืื ืฉืื ืื ืืื ARM ืชืืื ืืืจืืืืงืืืจืarmhf
. - ืืฉื ืืืืื ืืืจืืืืงืืืจืืช
debootstrap
ืืืืฆืข ืืฉื ื ืฉืืืื, ืืฉื ื ืืืืฆืข ืืืืคื ืืื:chroot /mnt/ /debootstrap/debootstrap --second-stage
- ืขืืฉืื ืืชื ืฆืจืื ืืกืืื:
chroot /mnt /bin/bash
- ืื ืื ื ืืืืืื
/etc/hosts
ะธ/etc/hostname
ืืืขื FS. ืืื ืืื ืืชืืื ืืืืฉื ืืืงืืื ืฉืื, ืืืืจ ืืืืืืฃ ืืช ืฉื ืืืืจื ืืืื. - ืืชื ืืืื ืืืชืืื ืืืฉืืช ืืช ืื ืืฉืืจ. ืืืืืื, ืื ื ืืชืงืื
locales
(ืืคืชืืืช ืืืืจ), ืืืืจื ืืืืฉ ืฉื ืืงืืืืช ืืืืืจ ืืื (dpkg-reconfigure locales tzdata
). ืื ืชืฉืื ืืืืืืจ ืืช ืืกืืกืื ืขื ืืคืงืืืpasswd
. - ืืืืจ ืกืืกืื ืขืืืจ
root
ืขื ืืื ืฆืืืชpasswd
. - ืืช ืืื ืช ืืชืืื ื ืขืืืจื ืืฉืืืืื ืขื ืืื ืืืืื
/etc/fstab
ืืชืื/mnt/
.
ืื ื ืืขืื ืืืชืื ืืชืืืืช ืฉื ืืฆืจื ืงืืื ืืื, ืื ืฉืืชืืื ืืืื ืื:
LABEL=ROOTFS / ืฉืืืืืช ืืืืืืืืืช=remount-ro 0 1
LABEL=BOOT /boot auto ืืจืืจืช ืืืื 0 0
ืืืกืืฃ, ืืชื ืืืื ืืขืืืช ืืช ืืืืฆืช ืืืชืืื, ื ืฆืืจื ืืืชื ืขืืืจ ืืืืื: `mount /dev/mmcblk0p1 /mnt/boot/`
ืื ืืืช ืืื ืืงืก
ืืื ืืื ืืช ืืช ืืืืื (ืืืืจ ืื ืืช ืืืขื ืืืชืืื) ื-Debian Testing, ืขืืื ืืืชืงืื ืืช ืืกื ืืกืื ืืจืื ืฉื GCC, GNU Make ืืงืืืฆื ืืืืชืจืช ืฉื GNU C Library ืขืืืจ ืืจืืืืงืืืจืช ืืืขื (ืืฉ ืื armhf
), ืืื ืื ืืืชืจืืช OpenSSL, ืืืฉืืื ืืกืืฃ bc
, bison
ะธ flex
: apt install crossbuild-essential-armhf bison flex libssl-dev bc
. ืืื ืืืขื ืืจืืจืช ืืืืื ืืืคืฉ ืงืืืฅ zImage
ืืืขืจืืช ืืงืืฆืื ืฉื ืืืืฆืช ืืืชืืื, ืืืืข ืืืื ืืฉืืืจ ืืช ืืื ื ืืืืืง.
- ืฉืืืื ืืงืจื ื ืืจืื ืืื, ืื ืื ื ืคืฉืื ืืืจืื:
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
- ืืืืจ ืืคื ื ืืงืืืคืืืฆืื:
make ARCH=arm KBUILD_DEFCONFIG=imx_v6_v7_defconfig defconfig
. ืืชืฆืืจื ื ืืฆืืช ืืกืคืจืืืarch/arm/configs/
. ืื ืืื, ืืชื ืืืื ืื ืกืืช ืืืฆืื ืืืืืจืื ืืื ืืืื ืืืืขืืืจ ืืช ืฉื ืืงืืืฅ ืืกืคืจืืื ืื ืืคืจืืืจKBUILD_DEFCONFIG
. ืืืงืจืื ืงืืฆืื ืืื, ืืืฉื ืืื ืืคืกืงื ืืืื. - ืืชื ืืืื ืืืคืฆืืื ืื ืืฉื ืืช ืืช ืืืืืจืืช:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
- ืืฆืื ืืช ืืชืืื ื:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
- ืขืืฉืื ืืชื ืืืื ืืืขืชืืง ืืช ืงืืืฅ ืืืืื:
cp arch/arm/boot/zImage /mnt/boot/
- ืืงืืฆืื ื-DeviceTree (ืชืืืืจ ืืืืืจื ืืืืื ืืืื):
cp arch/arm/boot/dts/*.dtb /mnt/boot/
- ืืืชืงื ืืช ืืืืืืืื ืืืืจืืืื ืืงืืฆืื ื ืคืจืืื:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=/mnt/ modules_install
ืืืจืขืื ืืืื. ืืชื ืืืื ืืืื ืืื: umount /mnt/boot/ /mnt/
Das U Boot
ืืืืืื ืฉืืืขื ืืืชืืื ืืื ืืื ืืจืืงืืืื, ืืกืคืืงืื ืืืื ืขืฆืื, ืืชืงื ืืืกืื ืืืชืงื ืืืคืฆืืื ืื USB-to-UART ืืื ืืืืืง ืืช ืคืขืืืชื. ืืืืืจ, ืืชื ืืืื ืืืืืช ืืช ืืืืื ืืืช ืืขืจืืช ืืืคืขืื ืืืืขื ืืืืืจ ืืืชืจ.
ืืจืื ืืืืจืืข ืฉื ืืืฆืจื ืื ืืฆืืข ืืืฉืชืืฉ ื-Das U-Boot ืืืชืืื ืจืืฉื. ืชืืืื ืืืื ื ืืชื ืช ืืืจื ืืื ืืืืื ืืฉืื, ืื ืื ืชืฉืื ืืชืจืื ืืืขืื ืืืจื. ืืืงืจื ืฉืื, ืืืืขืฆื ื ืชืืืช ื
ืื ื ืืืกืคืื ืืช ืืืขื ืืืชืืื ืขืฆืื:
- ืฉืืื ืืช ืืขื ืฃ ืืืฆืื ืฉื ืืืืืจ:
git clone https://gitlab.denx.de/u-boot/u-boot.git -b v2020.10
- ืืื ื ืื ืืกืคืจืืื ืขืฆืื:
cd u-boot
- ืืื ืช ืชืฆืืจืช ืืื ืืื:
make mx6ull_14x14_evk_defconfig
. ืื ืขืืื ืจืง ืื ืืชืฆืืจื ื ืืฆืืช ื-Das U-Boot ืขืฆืื, ืืืจืช ืชืฆืืจื ืืืฆืื ืืช ืืชืฆืืจื ืฉื ืืืฆืจื ืืืฉืื ืืืชื ืืฉืืจืฉ ืืืืืจ ืืงืืืฅ.config
, ืื ืืืจืื ืืืจื ืืืจืช ืืืืืืฆืช ืขื ืืื ืืืฆืจื. - ืื ื ืืืกืคืื ืืช ืชืืื ืช ืืืขื ืืืชืืื ืขืฆืื ืืืืฆืขืืช ืืืืจ ืฆืืื
armhf
:make CROSS_COMPILE=arm-linux-gnueabihf- u-boot.imx
ืืชืืฆืื ืืื, ืื ื ืืงืืืื ืืช ืืงืืืฅ u-boot.imx
, ืืืื ืชืืื ื ืืืื ื ืฉื ืืชื ืืืชืื ืืืื ื ืืืืง ืืกืื USB. ืื ื ืืืชืืื ืืืจืืืก ื-SD, ืืืืืืื ืขื 1024 ืืืชืื ืืจืืฉืื ืื. ืืื ืืืจืชื ืืืืจื u-boot.imx
? ืืื ืืืืฆืช ืืืืืง 1024 ืืชืื? ืื ืื ืฉืื ืืฆืืขืื ืืขืฉืืช ื
ืกืืืืช, ืืชื ืืืื ืืืืจืื. ืขื ืืืขื ืืืชืืื ืืืืื ืขื ืืจืกื ืืฉืื, ืงืฆืช ืืืืข ืขื ืืืื, ืืื ืกืืช ืืืฆืื ืืช ืชืืื ืช ืืืืื ืืืืืฆื. ืื ืื ื ืืฉื, ืืื ืื ืกื ืืืชืื ืืจื ืืจืฉืช. ืืืืคื ืืืื, ืืคืื ืืคืืจื ืืืื, ืืชื ืืืื ืืืฆืื ืฉืืืื ืืืงืจื ืฉื ืืขืื.
ืืืงืื ืืกืงื ื
ืืืืขืชื ืฉืืฆืื ืฉื ืืืืคืื ืืื ื ืืจืื? ืื ืืืฉ ืขืื ืฉืืืฉืืช, ืขืืฉื ืฉืืื ืืช ืืื!
ืืงืืจ: www.habr.com