Bug 11370 - Тип образа на выходе для каждой компоненты (стадии)
: Тип образа на выходе для каждой компоненты (стадии)
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/mkimage)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2007-04-05 15:28 by
Modified: 2009-08-28 14:42 (History)


Attachments
пример патча (1.86 KB, patch)
2007-04-05 16:09, Andriy Stepanov
no flags Details | Diff
biostest.tar.gz (2.93 KB, application/x-tgz)
2007-04-06 17:10, Sergey V Turchin
no flags Details
IMAGE_TYPE and TO_ISOLINUX derectives together (1.96 KB, patch)
2007-04-23 17:10, Andriy Stepanov
no flags Details | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2007-04-05 15:28:48
Идея заключается чтобы для каждой компоненты-стадии
(boot, disk, install2, live, rescue,.....)
можно было указывать в ее конфигурацонном файле ($IDENT/config)
тип желаемого образа на выходе (tgz, tbz2, cpio, squashfs) например:
IMAGE_TYPE="cpio"

Вот наброс патча:

--- spt 2007-03-14 03:35:43 +0300
+++ my-spt  2007-04-05 13:38:20 +0400
@@ -37,8 +37,10 @@

 create_image() {
    Verbose "Creating image for \`$IDENT'."
+    [ -n "$IMAGE_TYPE" ] || IMAGE_TYPE="$image_type"
+    Verbose "image type: \`$IMAGE_TYPE'."

-   case "$image_type" in
+   case "$IMAGE_TYPE" in
        squashfs)
        init_chroot_progs "squashfsprogs"
        cp -a "$tmpdir/.archive.tar" "$chroot/tmp/"
@@ -57,6 +59,20 @@
        mkiso=
        cat "$tmpdir/.archive.tar" | gzip -f9 > "$workdir/$OUT.tar.gz"
        ;;
+        cpio)
+        init_chroot_progs "cpio findutils"
+       cp -a "$tmpdir/.archive.tar" "$chroot/tmp/"
+cat >"$tmpdir/script" <<'__EOF__'
+mkdir -p /tmp/.archive
+tar -C /tmp/.archive -xf /tmp/.archive.tar
+cd /tmp/.archive
+find . | cpio -o -H newc > /.image
+__EOF__
+       chroot_exec "$tmpdir/script"
+       mv -f -- "$chroot/.image" "$outdir/$OUT"
+        gzip "$outdir/$OUT"
+        mv "$outdir/$OUT.gz" "$outdir/$OUT"
+        ;;
        *)
        Fatal 'Unsupported image type.'
        ;;
@@ -115,7 +132,7 @@

    if [ -n "$HOOKPKGS" ]; then
        Verbose "Installation packages for hook"
-       hsh-install "$workdir" $verbose $quiet $excludedocs
${number:+--number="$number"} 
$HOOKPKGS
+       hsh-install "$workdir" $verbose $quiet $excludedocs
${number:+--number="$number"} 
--save-fakeroot $HOOKPKGS
    fi

    packages="$profile_dir/$IDENT/packages"
@@ -151,12 +168,12 @@

 runto_components() {
     local cmd comp
-    local IDENT VENDOR COPYONLY INSTALLDIR NOIMAGE EXTRAOPTS FILES OUT
+    local IDENT VENDOR COPYONLY INSTALLDIR NOIMAGE EXTRAOPTS FILES OUT
IMAGE_TYPE

     cmd="$1" && shift

     for comp in $COMPONENTS; do
-   IDENT="packages" VENDOR="ALTLinux" COPYONLY= INSTALLDIR= NOIMAGE=
EXTRAOPTS=
FILES= OU
T=
+   IDENT="packages" VENDOR="ALTLinux" COPYONLY= INSTALLDIR= NOIMAGE=
EXTRAOPTS=
FILES= OU
T= IMAGE_TYPE=

    . "$profile_dir/$comp/config" ||
        Fatal "File \`$profile_dir/$comp/config' not found."
------- Comment #1 From 2007-04-05 16:09:51 -------
Created an attachment (id=1886) [details]
пример патча
------- Comment #2 From 2007-04-05 16:11:06 -------
Пример выглядит вполне рабочим. 2lakostis: просьба приложить этот патч, нужно
для сборки средств тестирования железа (firmwarekit) для серверного и
десктопного дистрибутивов.
------- Comment #3 From 2007-04-05 17:04:35 -------
И строки для isolinux.cfg.in туда же:
label firmware
  kernel alt0/vmlinuz
  append initrd=biostest splash=verbose biostest showopts
------- Comment #4 From 2007-04-06 17:10:20 -------
Created an attachment (id=1890) [details]
biostest.tar.gz

Пример компоненты
------- Comment #5 From 2007-04-06 17:14:46 -------
Так же нужно, чтобы OUT от компоненты можно было укладывать в /isolinux 
создавамого образа.
При этом прифиль содержит компоненты livecd и biostest.
У меня затерлись данные в /isolinux от 1-й, если 2 компоненты туда хотят 
положить файлы.
------- Comment #6 From 2007-04-23 17:10:38 -------
Created an attachment (id=1922) [details]
IMAGE_TYPE and TO_ISOLINUX derectives together

Для компоненты можно указывать тип образа на выходе:
IMAGE_TYPE="cpio"
и возможность помещения выходного образа в каталог isolinux:
TO_ISOLINUX="yes"
(чтоб была возможность обращения из isolinux.cfg, при загрузке)
------- Comment #7 From 2008-06-13 13:00:39 -------
*** This bug has been confirmed by popular vote. ***
------- Comment #8 From 2009-02-14 18:39:20 -------
Предлагаю оставить spt в покое, а дорабатывать при необходимости -- mkimage.
------- Comment #9 From 2009-02-16 14:25:45 -------
По факту я уже не интересуюсь spt.
------- Comment #10 From 2009-08-28 05:04:23 -------
apparently wontfix
------- Comment #11 From 2009-08-28 14:33:40 -------
На всякий случай перевешу, чтоб выяснить, есть ли уже такой функционал и нужен
ли он вообще, если нет.

Это было нужно для создания специального образа для утилиты тестирования
оборудования (уже забыл, как называется), чтоб прямо с DVD ее запускать

P.S.
Детали у Stanv (он пока в отпуске)
------- Comment #12 From 2009-08-28 14:42:37 -------
В mkimage каждая стадия имеет свой тип. Из того что я понял, всё это уже есть в
mkimage.