Портирование Astra Linux Raspberry PI 32bit на Zynq 7000 серии

Сообщения
2
#1
Здравствуйте. Имеется следующая проблема. Пытаюсь запустить EFI ядро Linux на Zynq 7000 серии. Собрал последний uboot с поддержкой EFI. Собрал arm-efi grub. Создал 2 раздела на SD карте. Первый 512mb с BOOT.bin, dtb, ядром и grub. Второй ext4 c корнем.
U-Boot 2021.01-00102-g43adebe34b-dirty (Oct 24 2021 - 20:40:28 +0300)

CPU: Zynq 7z020
Silicon: v3.1
DRAM: ECC disabled 1 GiB
Flash: 0 Bytes
NAND: 1024 MiB
MMC: mmc@e0100000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In: serial@e0000000
Out: serial@e0000000
Err: serial@e0000000
Net:
ZYNQ GEM: e000b000, mdio bus e000b000, phyaddr -1, interface rgmii-id

Warning: ethernet@e000b000 (eth0) using random MAC address - be:b0:d9:e9:06:c9
eth0: ethernet@e000b000
ZYNQ GEM: e000c000, mdio bus e000c000, phyaddr -1, interface gmii
Could not get PHY for eth1: addr -1

Hit any key to stop autoboot: 0
Zynq>
Zynq> load mmc 0:1 0x1f00000 dtb/zynq-mine.dtb
11689 bytes read in 24 ms (475.6 KiB/s)
Zynq> load mmc 0:1 0x2000000 EFI/grub/grubarm.efi
98304 bytes read in 30 ms (3.1 MiB/s)
Zynq> bootefi 0x2000000 0x1f00000
Попадаем в grub и он загружает ядро Linux EFI, но застревает на данном моменте
EFI stub: Booting Linux Kernel...
EFI stub: Using DTB from configuration table
EFI stub: Exiting boot services and installing virtual address map...
Файлы на 0 разделе карты
.
├── boot
│ └── grub
│ ├── arm-efi
│ │ ├── acpi.mod
│ │ ├── adler32.mod
│ │ ├── affs.mod
│ │ ├── afs.mod
│ │ ├── afsplitter.mod
│ │ ├── all_video.mod
│ │ ├── archelp.mod
│ │ ├── bfs.mod
│ │ ├── bitmap.mod
│ │ ├── bitmap_scale.mod
│ │ ├── blocklist.mod
│ │ ├── boot.mod
│ │ ├── bswap_test.mod
│ │ ├── btrfs.mod
│ │ ├── bufio.mod
│ │ ├── cat.mod
│ │ ├── cbfs.mod
│ │ ├── chain.mod
│ │ ├── cmdline_cat_test.mod
│ │ ├── cmp.mod
│ │ ├── cmp_test.mod
│ │ ├── command.lst
│ │ ├── configfile.mod
│ │ ├── core.efi
│ │ ├── cpio_be.mod
│ │ ├── cpio.mod
│ │ ├── crc64.mod
│ │ ├── cryptodisk.mod
│ │ ├── crypto.lst
│ │ ├── crypto.mod
│ │ ├── ctz_test.mod
│ │ ├── datehook.mod
│ │ ├── date.mod
│ │ ├── datetime.mod
│ │ ├── diskfilter.mod
│ │ ├── disk.mod
│ │ ├── div_test.mod
│ │ ├── dm_nv.mod
│ │ ├── echo.mod
│ │ ├── efifwsetup.mod
│ │ ├── efi_gop.mod
│ │ ├── efinet.mod
│ │ ├── elf.mod
│ │ ├── eval.mod
│ │ ├── exfat.mod
│ │ ├── exfctest.mod
│ │ ├── ext2.mod
│ │ ├── extcmd.mod
│ │ ├── f2fs.mod
│ │ ├── fat.mod
│ │ ├── fdt.mod
│ │ ├── file.mod
│ │ ├── font.mod
│ │ ├── fshelp.mod
│ │ ├── fs.lst
│ │ ├── functional_test.mod
│ │ ├── gcry_arcfour.mod
│ │ ├── gcry_blowfish.mod
│ │ ├── gcry_camellia.mod
│ │ ├── gcry_cast5.mod
│ │ ├── gcry_crc.mod
│ │ ├── gcry_des.mod
│ │ ├── gcry_dsa.mod
│ │ ├── gcry_idea.mod
│ │ ├── gcry_md4.mod
│ │ ├── gcry_md5.mod
│ │ ├── gcry_rfc2268.mod
│ │ ├── gcry_rijndael.mod
│ │ ├── gcry_rmd160.mod
│ │ ├── gcry_rsa.mod
│ │ ├── gcry_seed.mod
│ │ ├── gcry_serpent.mod
│ │ ├── gcry_sha1.mod
│ │ ├── gcry_sha256.mod
│ │ ├── gcry_sha512.mod
│ │ ├── gcry_tiger.mod
│ │ ├── gcry_twofish.mod
│ │ ├── gcry_whirlpool.mod
│ │ ├── geli.mod
│ │ ├── gettext.mod
│ │ ├── gfxmenu.mod
│ │ ├── gfxterm_background.mod
│ │ ├── gfxterm_menu.mod
│ │ ├── gfxterm.mod
│ │ ├── gptsync.mod
│ │ ├── gzio.mod
│ │ ├── halt.mod
│ │ ├── hashsum.mod
│ │ ├── hello.mod
│ │ ├── help.mod
│ │ ├── hexdump.mod
│ │ ├── hfs.mod
│ │ ├── hfspluscomp.mod
│ │ ├── hfsplus.mod
│ │ ├── http.mod
│ │ ├── iso9660.mod
│ │ ├── jfs.mod
│ │ ├── jpeg.mod
│ │ ├── json.mod
│ │ ├── keystatus.mod
│ │ ├── ldm.mod
│ │ ├── linux.mod
│ │ ├── loadenv.mod
│ │ ├── loopback.mod
│ │ ├── lsacpi.mod
│ │ ├── lsefimmap.mod
│ │ ├── lsefi.mod
│ │ ├── lsefisystab.mod
│ │ ├── lsmmap.mod
│ │ ├── ls.mod
│ │ ├── lssal.mod
│ │ ├── luks2.mod
│ │ ├── luks.mod
│ │ ├── lvm.mod
│ │ ├── lzopio.mod
│ │ ├── macbless.mod
│ │ ├── macho.mod
│ │ ├── mdraid09_be.mod
│ │ ├── mdraid09.mod
│ │ ├── mdraid1x.mod
│ │ ├── memdisk.mod
│ │ ├── memrw.mod
│ │ ├── minicmd.mod
│ │ ├── minix2_be.mod
│ │ ├── minix2.mod
│ │ ├── minix3_be.mod
│ │ ├── minix3.mod
│ │ ├── minix_be.mod
│ │ ├── minix.mod
│ │ ├── mmap.mod
│ │ ├── moddep.lst
│ │ ├── modinfo.sh
│ │ ├── mpi.mod
│ │ ├── msdospart.mod
│ │ ├── mul_test.mod
│ │ ├── net.mod
│ │ ├── newc.mod
│ │ ├── nilfs2.mod
│ │ ├── normal.mod
│ │ ├── ntfscomp.mod
│ │ ├── ntfs.mod
│ │ ├── odc.mod
│ │ ├── offsetio.mod
│ │ ├── part_acorn.mod
│ │ ├── part_amiga.mod
│ │ ├── part_apple.mod
│ │ ├── part_bsd.mod
│ │ ├── part_dfly.mod
│ │ ├── part_dvh.mod
│ │ ├── part_gpt.mod
│ │ ├── partmap.lst
│ │ ├── part_msdos.mod
│ │ ├── part_plan.mod
│ │ ├── part_sun.mod
│ │ ├── part_sunpc.mod
│ │ ├── parttool.lst
│ │ ├── parttool.mod
│ │ ├── password.mod
│ │ ├── password_pbkdf2.mod
│ │ ├── pbkdf2.mod
│ │ ├── pbkdf2_test.mod
│ │ ├── pgp.mod
│ │ ├── png.mod
│ │ ├── priority_queue.mod
│ │ ├── probe.mod
│ │ ├── procfs.mod
│ │ ├── progress.mod
│ │ ├── raid5rec.mod
│ │ ├── raid6rec.mod
│ │ ├── read.mod
│ │ ├── reboot.mod
│ │ ├── regexp.mod
│ │ ├── reiserfs.mod
│ │ ├── romfs.mod
│ │ ├── scsi.mod
│ │ ├── search_fs_file.mod
│ │ ├── search_fs_uuid.mod
│ │ ├── search_label.mod
│ │ ├── search.mod
│ │ ├── serial.mod
│ │ ├── setjmp.mod
│ │ ├── setjmp_test.mod
│ │ ├── sfs.mod
│ │ ├── shift_test.mod
│ │ ├── signature_test.mod
│ │ ├── sleep.mod
│ │ ├── sleep_test.mod
│ │ ├── smbios.mod
│ │ ├── squash4.mod
│ │ ├── strtoull_test.mod
│ │ ├── syslinuxcfg.mod
│ │ ├── tar.mod
│ │ ├── terminal.lst
│ │ ├── terminal.mod
│ │ ├── terminfo.mod
│ │ ├── test_blockarg.mod
│ │ ├── testload.mod
│ │ ├── test.mod
│ │ ├── testspeed.mod
│ │ ├── tftp.mod
│ │ ├── tga.mod
│ │ ├── time.mod
│ │ ├── tpm.mod
│ │ ├── trig.mod
│ │ ├── tr.mod
│ │ ├── true.mod
│ │ ├── udf.mod
│ │ ├── ufs1_be.mod
│ │ ├── ufs1.mod
│ │ ├── ufs2.mod
│ │ ├── video_colors.mod
│ │ ├── video_fb.mod
│ │ ├── videoinfo.mod
│ │ ├── video.lst
│ │ ├── video.mod
│ │ ├── videotest_checksum.mod
│ │ ├── videotest.mod
│ │ ├── xfs.mod
│ │ ├── xnu_uuid.mod
│ │ ├── xnu_uuid_test.mod
│ │ ├── xzio.mod
│ │ ├── zfscrypt.mod
│ │ ├── zfsinfo.mod
│ │ ├── zfs.mod
│ │ └── zstd.mod
│ ├── fonts
│ ├── grub.cfg
│ ├── grubenv
│ └── locale
├── BOOT.bin
├── dtb
│ ├── devicetree.dtb
│ └── zynq-mine.dtb
├── EFI
│ └── grub
│ └── grubarm.efi
├── initrd
│ └── initrd.img-5.4.0-1006-raspi2
└── kernel
├── vmlinuz-4.15.0-1060-raspi2
└── vmlinuz-5.4.0-1006-raspi2
grub.cfg
set default=0
set timeout=5

menuentry "Astra Linux for Raspberry Pi 2" {
UUID=00501d8a-b7f3-403e-9735-a056f96033ed
linux /kernel/vmlinuz-4.15.0-1060-raspi2 console=tty0 console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait earlyprintk
initrd /initrd/initrd.img-5.4.0-1006-raspi2
}
Мне кажется надо копать в этом направлении. https://github.com/utmapp/UTM/issues/2682 Тот же самый вопрос, зависание там же. Там перевели в режим только консоль и все заработало.
set debug
set default=0
set timeout=5

menuentry "Astra Linux for Raspberry Pi 2" {
UUID=00501d8a-b7f3-403e-9735-a056f96033ed
linux /kernel/vmlinuz-4.15.0-1060-raspi2 console=ttyPS0,115200 root=UUID=$UUID rw earlyprintk rootfstype=ext4 rootwait text
initrd /initrd/initrd.img-5.4.0-1006-raspi2
}
Если не ошибаюсь параметр text говорит грузиться только в режиме консоли, но не помогло.
Заранее спасибо