grub-install interakció nélkül

Automatizálnom kellett egy debootstrap-os/chroot-os Linux telepítés lépéseit, ami meg is történt, de az utolsó lépésnél, a grub-install-nál elakadtam. A probléma, hogy bármit is próbáltam, a grub-install mindenképpen visszakérdez a végrehajtásnál, hogy na, akkor most melyik eszközre menjen.A parancs: grub-install /dev/eszköz --target=i386-pc --efi-directory=/ --boot-directory=/boot

A kugli nem segített, a man dettó. Kínomban megpróbáltam elébiggyeszteni, hogy echo "\n' + Self.logname + '\n" | , hátha megeszi stdin-ről, de nem tette.

Van valakinek ötlete?

Hozzászólások

yes | grub-install ... ?

A grub-installer Debian csomag postinst scriptjét és a grub-installer scriptet magát nézd meg, az szerintem nem kérdez vissza, debconf-ból veszi ki a zoxigént és felparaméterezve meghívja a grub-install parancsot.

a jo oreg grub shell nem jatszik?

grub>
root(hd0,0)
setup(hd0)

uefi szerint?

En inkabb irnek egy expect scriptet, mert az szebb, mint az osszefuzott parancsok. Meg igy nem tudom, hogy mukodik e. Igy meg sosem irtam expect-et.

De itt szerintem a HERE is megfelelo lenne


grub-install --target=i386-pc --efi-directory=/ --boot-directory=/boot /dev/sdb << EOF

/dev/sdb

EOF

Persze a fenti csak abban az esetben ha tenyleg "soremeles" + "device" + "soremeles" a kombo :D

Nekem megy a full automatikus debootstrap chrootból.

Ami relevánsnak tűnik a kérdés szempontjából:


export DEBIAN_FRONTEND=noninteractive

export DISK=${DISK:-"/dev/sdb"}

grub-install --target x86_64-efi ${DISK} --efi-directory /boot --boot-directory=/boot --removable --recheck --bootloader-id=grub

Miután fejesjoco felhívta a figyelmemet arra, hogy az apt-get dobja fel a kérdést, kipróbáltam arra is a DEBIAN_FRONTEND-et:

export DEBIAN_FRONTEND=noninteractive && apt-get -y --no-install-recommends install grub-pc
grub-install --target=i386-' + mbt + ' --efi-directory=/ --boot-directory=/boot /dev/sdb

És így működött. Köszi neked is.

Nem tudom, mennyit számít, de ha a /dev/eszköz a végén lenne? Azaz:

grub-install --target=i386-pc --efi-directory=/ --boot-directory=/boot /dev/eszköz

A manual így írja, hogy előbb az opciók, majd utána az eszköz neve. Nem egy programmal találkoztam, ami érzékeny erre.

A fenti képed alapján ("The grub-pc package is being upgraded") nem a grub-install tűnik problémának. Rögtön evvel kellett volna kezdeni...

A grub-pc deb csomagban a grub-pc/install_devices template tartalmazza ezt a szöveget.

Látszik az is, hogy a postinst script használja ezt. Ez a dpkg válasz adatbázisával dolgozik. Szerintem oda kell beletúrni, hogy ezt a kérdést ne tegye föl, előre add meg neki a válaszokat.

Ilyesmi: echo "set grub-pc/install_devices /dev/sda" | debconf-communicate