autoyast: repository on usb partition (leap 15.3)

"Per Lundkvist" <[email protected]> Fri, 12 Nov 2021 10:29:55 -0000
Newsgroups gmane.linux.suse.autoinstall
Message-ID <163671299577.8927.1885980223109654545@mailman3.infra.opensuse.org>
Hi,

I am trying (unsuccessfully) to create an autoyast installation image
containing an additional repository with some extra packages. But all of them fails with 'Make the add-on "" available
via "..."' during autoyast "Preparing System for Automated
Installation" -> "Configure General Settings"

* disk layout

   $ parted -s auto.img unit s print
   Model:  (file)
   Disk auto.img: 9676800s
   Sector size (logical/physical): 512B/512B
   Partition Table: msdos
   Disk Flags: 
   
   Number  Start     End       Size      Type     File system  Flags
    1      2636s     9691s     7056s     primary  fat16        esp, type=ef
    2      9692s     9152511s  9142820s  primary               boot, hidden, type=17
    3      9152512s  9676799s  524288s   primary  ext2         type=83

where partition 3 contains an ext2 filesystem with label CUSTOM
    
* contents of EFI/BOOT/grub.cfg on partition 1:

   menuentry 'Installation' --class opensuse --class gnu-linux --class gnu --class os {
     linuxefi /boot/x86_64/loader/linux autoyast=usb:///autoinst.xml
     initrdefi /boot/x86_64/loader/initrd
   }

* contents of ext2 filesystem on partition 3:

   ./autoinst.xml
   ./autoyast-init-script.sh
   ./etc
   ./etc/zypp
   ./etc/zypp/repos.d
   ./etc/zypp/repos.d/repo-usb.repo
   ./lost+found
   ./repo-usb
   ./repo-usb/noarch
   ./repo-usb/noarch/ansible-2.9.6-bp153.1.20.noarch.rpm
   <...snip...>
   ./repo-usb/noarch/python3-xmltodict-0.12.0-5.4.1.noarch.rpm
   ./repo-usb/repodata
   ./repo-usb/repodata/03a5cb23fd8b5433ecd2f3f0f8012867cf2ea0d6f5715a626f67a61a03b86b09-filelists.xml.gz
   ./repo-usb/repodata/11a53ade1b3813f57ac17aadda703b73df74bdbb8e695922ebb5c9878f539922-primary.xml.gz
   ./repo-usb/repodata/d7e60c76cd87a068178dce81bc42f939c25767c94abb7946019fe75a0baf697b-other.xml.gz
   ./repo-usb/repodata/repomd.xml
   ./repo-usb/x86_64
   ./repo-usb/x86_64/libbrotlicommon1-1.0.7-1.59.x86_64.rpm
   <...snip...>
   ./repo-usb/x86_64/sshpass-1.06-bp153.1.16.x86_64.rpm
   ./setup
   ./setup/descr
   ./setup/descr/packages
   ./setup/descr/packages.DU
   ./setup/descr/packages.en

* autoinst.xml: add-on section:

I've tried different variations of media_url combined with
product_dir, but I have not been able to get any to work:

  <add-on t="map">
    <add_on_others t="list">
        <listentry t="map">
** this fails with Unsupported URI scheme in 'usb:///repo-usb?alias=repo-usb-1'
            <alias>repo-usb-1</alias>
            <media_url>usb:///repo-usb</media_url>
            <ask_on_error t="boolean">true</ask_on_error>
            <name>repo-usb-1</name>
            <priority t="integer">99</priority>
            <product_dir>
                /
            </product_dir>
            <signature-handling t="map">
                <accept_unsigned_file t="boolean">true</accept_unsigned_file>
            </signature-handling>
        </listentry>

        <listentry t="map">
** this fails with Unsupported URI scheme in 'label://custom/repo-usb?alias=repo-usb-2'
            <alias>repo-usb-2</alias>
            <media_url>label://CUSTOM/repo-usb</media_url>
            <ask_on_error t="boolean">true</ask_on_error>
            <name>repo-usb-2</name>
            <priority t="integer">99</priority>
            <product_dir>
                /
            </product_dir>
            <signature-handling t="map">
                <accept_unsigned_file t="boolean">true</accept_unsigned_file>
            </signature-handling>
        </listentry>

        <listentry t="map">
** this fails with Empty destination in URI: hd:/?alias=repo-usb-3&device=*label/CUSTOM
            <alias>repo-usb-3</alias>
            <media_url>hd:/?device=*label/CUSTOM</media_url>
            <ask_on_error t="boolean">true</ask_on_error>
            <name>repo-usb-3</name>
            <priority t="integer">99</priority>
            <product_dir>
                /repo-usb
            </product_dir>
            <signature-handling t="map">
                <accept_unsigned_file t="boolean">true</accept_unsigned_file>
            </signature-handling>
        </listentry>

        <listentry t="map">
** this fails with Empty destination in URI: hd:/?alias=repo-usb-4&device=*label/CUSTOM/repo-usb
            <alias>repo-usb-4</alias>
            <media_url>hd:/?device=*label/CUSTOM/repo-usb</media_url>
            <ask_on_error t="boolean">true</ask_on_error>
            <name>repo-usb-4</name>
            <priority t="integer">99</priority>
            <product_dir>
                /
            </product_dir>
            <signature-handling t="map">
                <accept_unsigned_file t="boolean">true</accept_unsigned_file>
            </signature-handling>
        </listentry>

        <listentry t="map">
** this fails with Unsupported URI scheme in 'disk:///repo-usb?alias?repo-usb-5'
            <alias>repo-usb-5</alias>
            <media_url>disk:/repo-usb</media_url>
            <ask_on_error t="boolean">true</ask_on_error>
            <name>repo-usb-5</name>
            <priority t="integer">99</priority>
            <product_dir>
                /
            </product_dir>
            <signature-handling t="map">
                <accept_unsigned_file t="boolean">true</accept_unsigned_file>
            </signature-handling>
        </listentry>
    </add_on_others>

Any ideas on how to do this?