Bug #723

Попытка создания образа обрывается ошибкой "Не удалось обнаружить initramfs"

Added by Михаил Гагауз over 9 years ago. Updated over 9 years ago.

Status:New Start:03/04/2015
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:Calculate Utilities Spent time: -
Target version:-
Votes: 0

Description

Попытка создания образа обрывается ошибкой:

# cl-image --noisohybrid --keep-tree iso
 * Создание образа Calculate Linux
Системная информация
 * Системный профиль: CLDM/x86
 * Собираемая система: Calculate Linux Desktop Mate
 * Версия системы: 14.12.1
 * Тип оборудования машины: i686
 * Свободное место в разделе для сборки образа: 5.2G
 * Свободное место в разделе для iso образа: 5.2G
Выполнение проверок
 * Образ будет создан в: /var/calculate/linux/cldm-20150304-i686.iso
 * ВНИМАНИЕ: образ будет создан во временной файловой системой

 * Не удалось обнаружить initramfs

вывод переменных:
# cl-image --noisohybrid --keep-tree iso -v
Список переменных library:   
--------------------------- --- ----------
       Имя переменной       Режим Значение
--------------------------- --- ----------
cl_chroot_path              [r] /
cl_chroot_status            [r] off
cl_env_path                 [r] ['/etc/calculate/calculate2.env', '/var/calculate/calculate2.env', '/var/calculate/remote/calculate2.env']
cl_kernel_uid               [r] no_uid
cl_root_path                [r] /
hr_cdrom_set                [r] off
os_arch_machine             [r] i686
os_lang                     [r] ['bg_BG', 'de_DE', 'en_US', 'es_ES', 'fr_FR', 'it_IT', 'pl_PL', 'pt_BR', 'pt_PT', 'ro_RO', 'ru_RU', 'uk_UA']
os_linux_shortname          [r] Gentoo
os_linux_system             [r]
os_root_dev                 [r] /dev/ram0
os_root_type                [r] livecd
os_scratch                  [r] on

Список переменных builder:   
--------------------------- --- ----------
       Имя переменной       Режим Значение
--------------------------- --- ----------
ac_builder_iso              [r] up
ac_builder_squash           [r]
cl_builder_assemble_set     [r] off
cl_builder_branch_orig      [r]
cl_builder_cdname           [r]
cl_builder_current_squash   [r] livecd.squashfs
cl_builder_distro           [r] []
cl_builder_filesnum         [r] 0
cl_builder_image            [r] /var/calculate/linux/cldm-20150304-i686.iso
cl_builder_image_path       [r] ['/var/calculate/linux', '/var/calculate/remote/linux', '/usr/calculate/share/linux']
cl_builder_initrd_install   [r]
cl_builder_iso_path         [w] /var/calculate/tmp/iso-CLDM-i686
cl_builder_isohybrid_set    [r] off
cl_builder_kernel           [r] vmlinuz-3.18.8-calculate
cl_builder_kernel_cmd       [w]
cl_builder_kernel_config    [r] config-3.18.8-calculate
cl_builder_kernel_suffix    [r]
cl_builder_kernel_systemmap [r] System.map-3.18.8-calculate
cl_builder_kernel_ver       [r] 3.18.8-calculate
cl_builder_linux_info       [r] {'os_arch_machine': 'i686', 'os_system_profile': '../../var/lib/layman/mavriq-overlay/profiles/CLDM/x86', 'os_linux_shortname': 'CLDM', 'os_linux_subname': 'Mate', 'cl_update_rep_url': ['git://git.calculate.ru/calculate/portage.git', 'git://git.calculate.ru/calculate/overlay.git', 'git://git.calculate.ru/calculate/distros.git', 'git://github.com/mavriq/mavriq-overlay.git'], 'os_linux_system': 'desktop', 'os_linux_ver': '14.12.1', 'os_linux_name': 'Calculate Linux Desktop', 'cl_update_rep_name': ['portage', 'calculate', 'distros', 'mavriq-overlay']}
cl_builder_live_set         [r] off
cl_builder_old_squash       [r] livecd.squashfs
cl_builder_path             [w] /run/builder
cl_builder_remove_squash    [r]
cl_builder_root_param       [w] live:LABEL=CLDM-20150304
cl_builder_squash_path      [w] /livecd.squashfs.dir
cl_builder_tree             [r] on
cl_kernel_boot_path         [w] /boot
cl_kernel_cache_path        [w] /var/cache/genkernel
cl_kernel_config            [r]
cl_kernel_config_path       [w] /var/lib/layman/calculate/profiles/kernel
cl_kernel_full_ver          [r] 3.18.8-calculate
cl_kernel_install_path      [w] /
cl_kernel_src_path          [r] /usr/src/linux
cl_kernel_suffix            [r] 3.18.8-i686-Gentoo
cl_kernel_temp_path         [w] /var/calculate/tmp/genkernel
cl_kernel_ver               [r] 3.18.8
cl_name                     [r] calculate-builder
cl_ver                      [r] 2.2.32.1
os_builder_arch_machine     [r] i686
os_builder_clock_timezone   [w]
os_builder_id               [r]
os_builder_linux_build      [r] 20150304
os_builder_linux_filesnum   [r] 505856
os_builder_linux_name       [r] Calculate Linux Desktop
os_builder_linux_shortname  [r] CLDM
os_builder_linux_subname    [r] Mate
os_builder_linux_system     [r] desktop
os_builder_linux_ver        [r] 14.12.1
os_builder_locale_lang      [w]
os_builder_makeopts         [w]
os_builder_profile          [r] ../../var/lib/layman/mavriq-overlay/profiles/CLDM/x86

установленные пакеты:
# eix -I 'calculate-(builder|utils|sources)'
[I] sys-apps/calculate-builder [1]
     Available versions:  2.2.32-r8{tbz2} **2.2.9999 {PYTHON_TARGETS="python2_7"}
     Installed versions:  2.2.32-r8{tbz2}(01:15:12 01.01.2015)(PYTHON_TARGETS="python2_7")
     Homepage:            http://www.calculate-linux.org/main/en/calculate2
     Description:         Builder tasks utilities for Calculate Linux

[I] sys-apps/calculate-utils [1]
     Available versions:  
     (0)    2.2.32-r15{tbz2} **2.2.9999
     (3)    3.3.0.17{tbz2} ~3.3.1 **3.3.9999
       {client console desktop minimal pxe qt4 +server CL="assemble builder client desktop installgui server" PYTHON_TARGETS="python2_7"}
     Installed versions:  2.2.32-r15{tbz2}(22:07:35 23.01.2015)(CL="builder -assemble -server") 3.3.0.17(3){tbz2}(01:09:02 02.03.2015)(client console desktop qt4 server -minimal -pxe PYTHON_TARGETS="python2_7")                                                                                                                                                                                                              
     Homepage:            http://www.calculate-linux.org/main/en/calculate_utilities
     Description:         A set of Calculate utilities for system installation, build and upgrade

[I] sys-kernel/calculate-sources [1]
     Available versions:  
     (3.12.38) ~3.12.38^bs
     (3.14.31) ~3.14.31^bs
     (3.14.34) ~3.14.34^bs
     (3.18.8) 3.18.8^bs{tbz2}
     (3.19.0) **3.19.0^bs
       {build firmware minimal plymouth symlink themes vmlinuz}
     Installed versions:  3.18.8(3.18.8)^bs{tbz2}(15:07:24 04.03.2015)(firmware plymouth symlink themes vmlinuz -build -minimal)
     Homepage:            http://www.calculate-linux.org
     Description:         Calculate Linux kernel image

[1] "calculate" /var/lib/layman/calculate

Найдено 3 совпадений.

собрать образ помогло явное прописывание отсутствующей переменной:

cat << EOF >/etc/calculate/calculate2.env
[builder]
cl_builder_initrd_install = initramfs-3.18.8-calculate.img
EOF

но, думаю, это плохое решение.

History

Updated by Mikhail Hiretsky over 9 years ago

Что находится в boot собираемой системы? На какое ядро указывает usr/src/linux в собираемой системе? К какому ядру реально принадлежит initramfs-3.18.8-calculate.img?

gzip -dc initramfs-3.18.8-calculate.img | cpio -tf | grep modules.alias

Updated by Михаил Гагауз over 9 years ago

Что находится в boot собираемой системы?

# ls -lA /run/builder/boot/
итого 45856
lrwxrwxrwx 1 root root        1 фев 16  2012 boot -> .
-rw-r--r-- 1 root root    54531 авг 15  2014 boot.jpg
-rw-r--r-- 1 root root   129641 мар  4 17:13 config-3.18.8-calculate
drwxr-xr-x 2 root root     4217 авг 15  2014 grub
-rw-r--r-- 1 root root 40243330 мар  4 17:13 initramfs-3.18.8-calculate.img
-rw-r--r-- 1 root root        0 янв  1 00:55 .keep
-rw-r--r-- 1 root root  1760704 мар  4 17:13 System.map-3.18.8-calculate
-rw-r--r-- 1 root root  4767184 мар  4 17:13 vmlinuz-3.18.8-calculate

На какое ядро указывает usr/src/linux в собираемой системе?

на единственное установленное:
# ls -l /run/builder/usr/src/linux

К какому ядру реально принадлежит initramfs-3.18.8-calculate.img?

все тому-же

# diff -su /run/builder/boot/initramfs-3.18.8-calculate.img /run/builder/usr/share/calculate-sources/3.18.8/boot/initramfs-3.18.8-calculate 
Файлы /run/builder/boot/initramfs-3.18.8-calculate.img и /run/builder/usr/share/calculate-sources/3.18.8/boot/initramfs-3.18.8-calculate идентичны

gzip -dc initramfs-3.18.8-calculate.img | cpio -tf | grep modules.alias

хмм..

# gzip -dc /run/builder/boot/initramfs-3.18.8-calculate.img | cpio -tf | grep modules.alias

gzip: /run/builder/boot/initramfs-3.18.8-calculate.img: not in gzip format
cpio: преждевременный конец архива
# lz4cat < /run/builder/boot/initramfs-3.18.8-calculate.img | cpio -tf | grep modules.alias
lib/modules/3.18.8-calculate/modules.alias
lib/modules/3.18.8-calculate/modules.alias.bin
128599 блоков

если я правильно понял, шаблоном /var/lib/layman/calculate/profiles/templates/3.3/6_ac_install_patch/sys-kernel/calculate-sources/3.18/10-calculate-x86-3.18 включается парамтр ядра CONFIG_KERNEL_LZ4=y
может ли причина ошибки быть в том, что initramfs сжат при помощи lz4?

Updated by Михаил Гагауз over 9 years ago

PS
на другой системе я использую до сих пор ядро 3.14.27, там ядро сжато при помощи gzip, и там выполнить cl-image удалось без проблем

Updated by Mikhail Hiretsky over 9 years ago

Да. Причина в том, что calculate-builder ищет подходящий для ядра initramfs заглядывая во внутрь, считая что все initramfs запакованы gzip. Исправления будут в calculate-lib-2.2.32-r7.

Also available in: Atom PDF

Thank you!