gratifiant > linux.debian.user.french

toto (25/07/2019, 20h50)
Bonjour a tous.

* creation de ma cle usb multiboot uefi gpt grub

* fdisk -l /dev/sdb donne :

Disque /dev/sdb : 28,7 GiB, 30752000000 octets, 60062500 secteurs
Modèle de disque : Ultra
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : gpt
Identifiant de disque : DD53617D-5C86-8E48-9350-BEE362FD9F20

Périphérique Début Fin Secteurs Taille Type
/dev/sdb1 2048 1050623 1048576 512M Système EFI
/dev/sdb2 1050624 60062466 59011843 28,1G Système de fichiers Linux

* l'installation de grub sur ma cle se fait ainsi :

mkdir /mnt/efi
mkdir /mnt/data

mount /dev/sdb1 /mnt/efi
mount /dev/sdb2 /mnt/data

grub-install --efi-directory=/mnt/efi --boot-directory=/mnt/data/boot
--removable (termine avec succes)

mkdir /mnt/data/iso
cp firmware-10.0.0-amd64-netinst.iso /mnt/data/iso/ (il s'agit d'un simple
essai d'image iso)

* cat /mnt/data/boot/grub/grub.cfg donne :

menuentry 'debianNetInst' {
iso=/iso/firmware-10.0.0-amd64-netinst.iso
loopback loop $iso
linux (loop)/install.amd/vmlinuz priority=low vga=788 ---
initrd (loop)/install.amd/initrd.gz
}

* lors du boot du pc je choisi "System setup" dans le menu grub du disque
dur parmi :

Debian GNU/Linux
Options avancées pour Debian GNU/Linux
System setup

( remarque : je également fait "Echap" au boot de pc pour tomber
directectement sur "boot options" (F9) mais cela conduit au même problème)

* puis s'affiche le choix du bios et je choisi "boot options" (F9) et parmi
les choix je prends "usb hard drive (uefi)"

* enfin le message suivant s'affiche et reboot le pc sans que le menu grub
de ma cle s'affiche :

system bootorder not found initializing defaults
reset system

* je retombe alors sur le menu de grub du disque dur suivant sans avoir pu
booter ma cle :

Debian GNU/Linux
Options avancées pour Debian GNU/Linux
System setup

* que manque t-il a ma construction ?

Merci pour l'aide.
Basile Starynkevitch (25/07/2019, 22h10)
On 7/25/19 8:28 PM, toto wrote:
> Bonjour a tous.
> * creation de ma cle usb multiboot uefi gpt grub


A partir d'une image .iso qui traine sur le net, par exemple une Debian
netinst <https://www.debian.org/CD/netinst/> obtenue avec
<http://man7.org/linux/man-pages/man1/wget.1.html>wget
<http://man7.org/linux/man-pages/man1/wget.1.html>.

il suffit de la copier, kilo-octets par kilo-octets, avec l'utilitaire
dd <http://man7.org/linux/man-pages/man1/dd.1.html>.

Mais il faut *faire très attention à la destination de la copie.* Ca
peut-être /dev/sdb ou /dev/sdc ou /dev/sdd, etc... *selon le matériel*
(donc pas la même chose sur ton ordinateur que sur le mien!).

Par exemple pour télécharger l'image wget


Puis /chez moi /dd if=debian-10.0.0-amd64-netinst.iso of=/dev/sdc bs=16k
oflag=sync status=progress quisouvent nécessite d'être root(sudo).

La question est de bien deviner le "disque" destination de la copie.
Lire sd(4) <http://man7.org/linux/man-pages/man4/sd.4.html> en premier lieu.

Ensuite, après avoir branché la clef mais avant d'avoir fait la commande
dd, on peut utiliser dmesg ou df pour deviner si c'est sda ou sdb, etc.

Si df mentionne la clef, il faut préalablement la démonter avec umount.

Et on trouve des images de clef USB multiboot uefi gpt grub sur le Web. STFW

Librement
Pascal Hambourg (27/07/2019, 10h40)
Le 25/07/2019 à 21:59, Basile Starynkevitch a écrit :
> A partir d'une image .iso qui traine sur le net, par exemple une Debian
> netinst (...)
> il suffit de la copier, kilo-octets par kilo-octets, avec l'utilitaire
> dd


Et ensuite, comment mets-tu en place le multiboot ?
Pascal Hambourg (27/07/2019, 10h40)
Le 25/07/2019 à 20:28, toto a écrit :
> Périphérique Début Fin Secteurs Taille Type
> /dev/sdb1 2048 1050623 1048576 512M Système EFI
> /dev/sdb2 1050624 60062466 59011843 28,1G Système de fichiers Linux


La partition système EFI est-elle bien formatée en FAT ? Quel type (16
ou 32) ?

> mount /dev/sdb1 /mnt/efi
> mount /dev/sdb2 /mnt/data
> grub-install --efi-directory=/mnt/efi --boot-directory=/mnt/data/boot
> --removable (termine avec succes)


Ça m'a l'air correct, même si je ne me serais pas embêté à créer un
répertoire /boot.
As-tu vérifié le contenu de la partition EFI ?

> cp firmware-10.0.0-amd64-netinst.iso /mnt/data/iso/ (il s'agit d'un simple
> essai d'image iso)


Mais ce n'est pas forcément un choix judicieux. Si ça n'a pas changé
avec Buster, l'initramfs (initrd.gz) pour cdrom inclus dans les images
d'installation de Debian ne peut pas utiliser un fichier image mais
seulement un périphérique (disque ou partition). Il faut utiliser le
fichier initrd.gz pour hd-media à la place de celui inclus dans l'image.

<http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/hd-media/>

> ( remarque : je également fait "Echap" au boot de pc pour tomber
> directectement sur "boot options" (F9) mais cela conduit au même problème)


PC de marque HP ? J'en ai connu plusieurs modèles dont l'amorçage UEFI
était défectueux.

> * puis s'affiche le choix du bios et je choisi "boot options" (F9) et parmi
> les choix je prends "usb hard drive (uefi)"
> * enfin le message suivant s'affiche et reboot le pc sans que le menu grub
> de ma cle s'affiche :
> system bootorder not found initializing defaults
> reset system


Je n'ai jamais vu ce message et ne le comprends pas. BootOrder est une
variable EFI indiquant l'ordre de priorité des différentes sources
d'amorçage. Mais il est sans objet quand on force un périphérique
d'amorçage. Tu peux afficher les variables de boot EFI avec efibootmgr.
toto (27/07/2019, 16h00)
Bonjour.

Merci pour votre bon questionnement.

Tout d'abord j'ai tout refais sans résultat mais je détaille la construction
pour que vous y jettiez uncoup d'oeil :

sudo su
dd if=/dev/zero of=/dev/sdb bs=1024 count=10240
parted /dev/sdb
mkpart fat32 0 512MiB
mkpart ext4 512MiB -1s
set 1 esp on
p

Model: SanDisk Ultra (scsi)
Disk /dev/sdb: 29327MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name Flags
1 0,02MiB 512MiB 512MiB fat32 boot, esp
2 512MiB 29327MiB 28815MiB ext4

q

mkfs.fat -F 32 /dev/sdb1
mkfs.ext4 /dev/sdb2
mkdir -p usb/efi
mkdir usb/data
mount /dev/sdb1 usb/efi
mount /dev/sdb2 usb/data
grub-install --efi-directory=usb/efi --boot-directory=usb/data/boot
--removable (indique sans erreur à la fin)
mkdir usb/data/iso
cp Téléchargements/firmware-10.0.0-amd64-netinst.iso usb/data/iso/
nano usb/data/boot/grub/grub.cfg

menuentry 'debianNetInst' {
iso=/iso/firmware-10.0.0-amd64-netinst.iso
loopback loop $iso
linux (loop)/install.amd/vmlinuz priority=low
initrd (loop)/install.amd/initrd.gz
}

ctl+o
ctl+x

Quelques infos :

parted /dev/sdb p
Model: SanDisk Ultra (scsi)
Disk /dev/sdb: 30,8GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name Flags
1 17,4kB 537MB 537MB fat32 boot, esp
2 537MB 30,8GB 30,2GB ext4

lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 1 28,7G 0 disk
??sdb1 8:17 1 512M 0 part /home/toto/usb/efi
??sdb2 8:18 1 28,1G 0 part /home/toto/usb/data

blkid /dev/sdb
/dev/sdb: PTUUID="404153ff-8711-437a-8538-819876a84a7b" PTTYPE="gpt"

blkid /dev/sdb?
/dev/sdb1: UUID="358A-89F0" TYPE="vfat"
PARTUUID="740d77b7-481a-42de-93f4-d74965e8f46e"
/dev/sdb2: UUID="f077c67d-6edb-4b7b-90ad-514093124a3e" TYPE="ext4"
PARTUUID="a3b49102-54f8-43a6-8633-7b2e31075343"

ls -R usb
usb:
data efi

usb/data:
boot iso lost+found

usb/data/boot:
grub

usb/data/boot/grub:
fonts grub.cfg grubenv locale x86_64-efi

usb/data/boot/grub/fonts:
unicode.pf2

usb/data/boot/grub/locale:
ast.mo de_CH.mo en en eo.mo fr.mo hu.mo
ja.mo nb.mo pl.mo sl.mo tr.mo zh_CN.mo
ca.mo de en en es.mo gl.mo id.mo
ko.mo nl.mo pt_BR.mo sr.mo uk.mo zh_TW.mo
da.mo de.mo en en fi.mo hr.mo it.mo
lt.mo pa.mo ru.mo sv.mo vi.mo

usb/data/boot/grub/x86_64-efi:
acpi.mod efinet.mod hfspluscomp.mod net.mod
shift_test.mod
adler32.mod efi_uga.mod hfsplus.mod newc.mod
signature_test.mod
affs.mod ehci.mod http.mod nilfs2.mod sleep.mod
afs.mod elf.mod iorw.mod normal.mod sleep_test.mod
ahci.mod eval.mod iso9660.mod ntfscomp.mod spkmodem.mod
all_video.mod exfat.mod jfs.mod ntfs.mod squash4.mod
aout.mod exfctest.mod jpeg.mod odc.mod syslinuxcfg.mod
appleldr.mod ext2.mod keylayouts.mod offsetio..mod
tar.mod
archelp.mod extcmd.mod keystatus.mod ohci.mod
terminal.lst
ata.mod fat.mod ldm.mod part_acorn.mod terminal.mod
at_keyboard.mod file.mod legacycfg.mod part_amiga.mod
terminfo.mod
backtrace.mod fixvideo.mod legacy_password_test.mod
part_apple.mod test_blockarg.mod
bfs.mod font.mod linux16.mod part_bsd.mod testload.mod
bitmap.mod fshelp.mod linuxefi.mod part_dfly.mod
test.mod
bitmap_scale.mod fs.lst linux.mod part_dvh.mod
testspeed.mod
blocklist.mod functional_test.mod loadbios.mod part_gpt.mod
tftp.mod
boot.mod gcry_arcfour.mod load.cfg partmap.lst tga.mod
bsd.mod gcry_blowfish.mod loadenv.mod part_msdos.mod
time.mod
bswap_test.mod gcry_camellia.mod loopback.mod part_plan.mod
trig.mod
btrfs.mod gcry_cast5.mod lsacpi.mod part_sun.mod tr.mod
bufio.mod gcry_crc.mod lsefimmap.mod part_sunpc.mod
true.mod
cat.mod gcry_des.mod lsefi.mod parttool.lst udf.mod
cbfs.mod gcry_dsa.mod lsefisystab.mod parttool.mod
ufs1_be.mod
cbls.mod gcry_idea.mod lsmmap.mod password.mod ufs1.mod
cbmemc.mod gcry_md4.mod ls.mod password_pbkdf2.mod ufs2.mod
cbtable.mod gcry_md5.mod lspci.mod pata.mod uhci.mod
cbtime.mod gcry_rfc2268.mod lssal.mod pbkdf2.mod
usb_keyboard.mod
chain.mod gcry_rijndael.mod luks.mod pbkdf2_test.mod
usb.mod
cmdline_cat_test.mod gcry_rmd160.mod lvm.mod pcidump..mod
usbms.mod
cmp.mod gcry_rsa.mod lzopio.mod play.mod
usbserial_common.mod
cmp_test.mod gcry_seed.mod macbless.mod png.mod
usbserial_ftdi.mod
command.lst gcry_serpent.mod macho.mod priority_queue.mod
usbserial_pl2303.mod
configfile.mod gcry_sha1.mod mdraid09_be.mod probe.mod
usbserial_usbdebug.mod
core.efi gcry_sha256.mod mdraid09.mod procfs.mod
usbtest.mod
cpio_be.mod gcry_sha512.mod mdraid1x.mod progress.mod
verify.mod
cpio.mod gcry_tiger.mod memdisk.mod raid5rec.mod
video_bochs.mod
cpuid.mod gcry_twofish.mod memrw.mod raid6rec..mod
video_cirrus.mod
crc64.mod gcry_whirlpool.mod minicmd.mod random.mod
video_colors.mod
cryptodisk.mod geli.mod minix2_be.mod read.mod
video_fb.mod
crypto.lst gettext.mod minix2.mod reboot.mod
videoinfo.mod
crypto.mod gfxmenu.mod minix3_be.mod regexp.mod
video.lst
cs5536.mod gfxterm_background.mod minix3.mod reiserfs.mod
video.mod
ctz_test.mod gfxterm_menu.mod minix_be.mod relocator.mod
videotest_checksum.mod
datehook.mod gfxterm.mod minix.mod romfs.mod
videotest.mod
date.mod gptsync.mod mmap.mod scsi.mod xfs.mod
datetime.mod grub.efi moddep.lst search_fs_file.mod
xnu.mod
diskfilter.mod gzio.mod modinfo.sh search_fs_uuid.mod
xnu_uuid.mod
disk.mod halt.mod morse.mod search_label.mod
xnu_uuid_test.mod
div.mod hashsum.mod mpi.mod search.mod xzio.mod
div_test.mod hdparm.mod msdospart.mod serial.mod
zfscrypt.mod
dm_nv.mod hello.mod mul_test.mod setjmp.mod zfsinfo.mod
echo.mod help.mod multiboot2.mod setjmp_test.mod
zfs.mod
efifwsetup.mod hexdump.mod multiboot.mod setpci.mod
efi_gop.mod hfs.mod nativedisk.mod sfs.mod

usb/data/iso:
firmware-10.0.0-amd64-netinst.iso

usb/data/lost+found:

usb/efi:
EFI

usb/efi/EFI:
BOOT

usb/efi/EFI/BOOT:
BOOTX64.CSV BOOTX64.EFI fbx64.efi grub.cfg grubx64.efi mmx64.efi

Après quelques recherches sur internet j'ai tapé "efibootmgr -v" qui affiche
:

BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0002,3002,2001,2002,2003
Boot0000* USB Hard Drive (UEFI) - SanDisk
PciRoot(0x0)/Pci(0x14,0x0)/USB(5,0)/HD(1,GPT,740d77b7-481a-42de-93f4-d74965e8f46e,0x22,0xfffde)RC
Boot0002* debian
HD(1,GPT,bd93dbd2-3135-43ab-86bf-e4ff881eec9a,0x800,0x100000)/File(\EFI\debian\shimx64.efi)
Boot2001* USB Drive (UEFI) RC
Boot2002* Internal CD/DVD ROM Drive (UEFI) RC
Boot3000* Internal Hard Disk or Solid State Disk RC
Boot3001* Internal Hard Disk or Solid State Disk RC
Boot3002* Internal Hard Disk or Solid State Disk RC
Boot3003* Internal Hard Disk or Solid State Disk RC

On voit donc que ma clé usb est vue par le bios de mon pc portable comme un
"disque dur usb avec une table de partition gpt" (bios UEFI) d'après la
ligne :

Boot0000* USB Hard Drive (UEFI) - SanDisk
PciRoot(0x0)/Pci(0x14,0x0)/USB(5,0)/HD(1,GPT,740d77b7-481a-42de-93f4-d74965e8f46e,0x22,0xfffde)RC

Dans mon bios UEFI de mon pc portable HP les options de boot sont :

EFI boot order
OS boot manager
Internal cd / dvd rom drive
Usb diskette on key / usb hard disk
Usb cd / dvd rom drive
! Network adapter

Le point ! signifie que j'ai désactivé la possibilité de boot par le réseau
(j'y connais pas grand chose et je n'aime pas cela lorsque je suis connecté
à internet).

Je remarque alors ces 2 lignes :

Boot2001* USB Drive (UEFI) RC
---> correspondant peut être dans mon bios à "Usb diskette onkey / usb
hard disk"

Boot0000* USB Hard Drive (UEFI) - SanDisk
PciRoot(0x0)/Pci(0x14,0x0)/USB(5,0)/HD(1,GPT,740d77b7-481a-42de-93f4-d74965e8f46e,0x22,0xfffde)RC
---> correspondant apparemment à ma clé usb "sandisk"

Apparemment il faudrait manipuler la commande "efibootmgr" (comme par
exemple "efibootmgr -n 0000" mais je pense que cela ne chnagerait rien !).

Est-ce que cette commande modifie uniquement des données de l'installation
debian sur disque dur ou modifie-t-elle des firmwares du matériel de mon pc
portable ?
Je ne voudrais pas modifier ou détruire des firmwares et bloquer
définitivement mon pc portable !
Bref il faudrait m'éclaircir ce point et pourquoi pas me donner la solution
qui semble toute proche.

Remarque importante, j'ai installé debian buster 10.0.0 avec une clé usb que
j'ai réalisée ainsi :

cp firmware-10.0.0-amd64-DVD-1.iso /dev/sdb
sync

C'est peut être à cause de cette installation que lorsque je veuxbooter
avec une clé construite autrement il y a un problème de boot order ?

Je continue à chercher sur internet mais évidement toujours mercipour les
coups de main.
toto (28/07/2019, 16h30)
RESOLU !!!!
Pascal Hambourg (28/07/2019, 20h20)
Le 28/07/2019 à 16:08, toto a écrit :
> RESOLU !!!!


De quelle manière ?
Discussions similaires