| Summary: | objcopy: поддержка pe/coff (для unified kernel image) | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Alexey Sheplyakov <asheplyakov> |
| Component: | binutils | Assignee: | Gleb F-Malinovskiy <glebfm> |
| Status: | NEW --- | QA Contact: | qa-sisyphus |
| Severity: | enhancement | ||
| Priority: | P5 | CC: | glebfm |
| Version: | unstable | ||
| Hardware: | aarch64 | ||
| OS: | Linux | ||
ядро, initramfs, и командную строку ядра можно упаковать в один EFI бинарник. И запускать его (на системах с UEFI) без дополнительных загрузчиков. Делается это примерно так: objcopy --add-section .cmdline="cmdline.txt" --change-section-vma .cmdline=0x30000 \ --add-section .linux="/boot/vmlinuz-5.10.14-un-def-alt2 " --change-section-vma .linux=0x2000000 \ --add-section .initrd="/boot/initrd-5.10.14-un-def-alt2.img" --change-section-vma .initrd=0x3000000 \ /usr/lib/systemd/boot/efi/linuxaa64.efi.stub "linux-5.10.14-un-def-alt2.efi" Но для этого нужно, чтоб objcopy поддерживал PE/COFF формат. А сейчас: $ objdump --help | awk '/supported targets:/ { print }' objdump: supported targets: elf64-littleaarch64 elf64-bigaarch64 elf32-littleaarch64 elf32-bigaarch64 elf32-littlearm elf32-bigarm elf64-little elf64-big elf32-little elf32-big srec symbolsrec verilog tekhex binary ihex plugin