4.3. Bestanden klaar maken om van een USB-geheugenstick op te starten

Om een USB-stick klaar te maken, raden we aan om een systeem te gebruiken waarop GNU/Linux reeds actief is en dat USB ondersteunt. Op de huidige GNU/Linux-systemen zou de USB-stick automatisch herkend moeten worden als u hem in de USB-aansluiting plaatst. Als dat niet gebeurt, moet u nagaan of de kernel-module usb-storage geladen is. Als u de USB-stick in de aansluiting plaatst, zal hij herkend worden als een apparaat met als naam /dev/sdX, waarbij de X een letter is uit het bereik a-z. U kunt nagaan als welk apparaat de USB-stick herkend werd, door het commando lsblk voor en na het plaatsen van de stick in de aansluiting. (Een andere mogelijke methode hiervoor is de uitvoer bekijken van het commando dmesg dat u als root-gebruiker moet geven). Om naar uw stick te kunnen schrijven, kan het nodig zijn om het schakelaartje dat hem tegen schrijven beveiligt, op uit te zetten.

[Waarschuwing] Waarschuwing

De procedures die in dit deel beschreven worden zullen alles wat al op het apparaat staat, verwijderen! Vergewis u er dus heel goed van dat u de correcte apparaatnaam gebruikt voor uw USB-stick. Indien u de verkeerde apparaatnaam gebruikt, kan het resultaat zijn dat alle informatie op bijvoorbeeld een harde schijf verloren gaat.

4.3.1. Een USB-stick klaar maken met een hybride CD/DVD-image

Debian installatie-images voor deze architectuur worden met de isohybrid-technologie gemaakt. Dit betekent dat zij rechtstreeks naar een USB-stick geschreven kunnen worden, wat een erg gemakkelijke manier is om een instalatiemedium aan te maken. Kies gewoon een image (zoals het image voor netinst, cd of dvd-1) dat past op uw USB-stick. Ga naar Paragraaf 4.1, “Officiële Debian GNU/Linux installatie-images” om een installatie-image op te halen.

Als een alternatieve mogelijkheid voor zeer kleine USB-sticks van slechts enkele megabytes groot, kunt u het mini.iso-image uit de netboot-map downloaden (op de in Paragraaf 4.2.1, “Waar u installatiebestanden kunt vinden” vermelde plaats).

Het installatie-image dat u kiest, moet rechtstreeks naar de USB-stick geschreven worden. Daarbij wordt de huidige inhoud ervan overschreven. Bijvoorbeeld, als u een bestaand GNU/Linux-systeem gebruikt, kan het imagebestand op de volgende manier naar een USB-stick geschreven worden, nadat u er zich eerst van vergewist heeft dat de stick niet aangekoppeld is:

# cp debian.iso /dev/sdX
# sync

Informatie over hoe dit op andere besturingssystemen moet gebeuren, is te vinden in de Debian CD FAQ.

[Belangrijk] Belangrijk

Het image moet geschreven worden op het volledige schijfapparaat en niet op en partitie, bijvoorbeeld /dev/sdb en niet /dev/sdb1. Gebruik geen gereedschap zoals unetbootin dat aan het image veranderingen aanbrengt.

[Belangrijk] Belangrijk

Voor de meeste gebruikers zou het op deze manier eenvoudig wegschrijven van een installatie-image naar USB goed moeten werken. De hierna volgende andere mogelijkheden zijn complexer en hoofdzakelijk bedoeld voor mensen met specifieke behoeftes.

Het hybride image op de stick neemt niet alle opslagruimte in beslag. Het kan dus de moeite waard zijn om in overweging te nemen om de vrije ruimte te gebruiken om er firmwarebestanden of -pakketten op te plaatsen of desgewenst andere bestanden. Dit kan nuttig zijn indien u slechts één stick heeft of alles wat u nodig heeft op één apparaat wilt houden.

Om dit te doen kunt u cfdisk of gelijk welk ander schijfindelingsprogramma gebruiken om op de stick een extra partitie aan te maken. Maak daarna op die partitie een (FAT) bestandssysteem aan, koppel dit aan en kopieer er de firmware naartoe of pak die ernaartoe uit, bijvoorbeeld met:

# mkdosfs -n FIRMWARE /dev/sdX3
# mount /dev/sdX3 /mnt
# cd /mnt
# tar zxvf /path/to/firmware.tar.gz
# cd /
# umount /mnt

Zorg ervoor dat u de juiste apparaatnaam gebruikt voor uw USB-stick. Het commando mkdosfs is te vinden in het pakket dosfstools Debian.

[Opmerking] Opmerking

Indien u ervoor gekozen heeft om de mini.iso naar de USB-stick te schrijven, moet de tweede partitie niet gecreëerd worden, omdat ze al aanwezig zal zijn, wat erg handig is. De USB-stick uit de aansluiting halen en ze er terug insteken, zou de twee partities zichtbaar moeten maken.

4.3.2. Handmatig bestanden naar de USB-stick kopiëren

Voordat isohybrid-technologie werd gebruikt voor de installatie-images van Debian, werden de in de hoofdstukken hieronder beschreven methoden gebruikt om media klaar te maken voor het opstarten vanaf USB-apparaten. Deze zijn achterhaald door de in Paragraaf 4.3.1, “Een USB-stick klaar maken met een hybride CD/DVD-image” beschreven techniek, maar zijn hier behouden voor educatieve en historische doeleinden en voor het geval ze nuttig zouden kunnen zijn voor sommige gebruikers.

Een andere manier dan die welke beschreven wordt in Paragraaf 4.3.1, “Een USB-stick klaar maken met een hybride CD/DVD-image”, is handmatig de bestanden van het installatiesysteem samen met een installatie-image te kopiëren naar de stick. Merk op dat de USB-stick minstens 1 GB groot moet zijn (het kan met een kleinere grootte als u de bestanden van netboot gebruikt volgens de richtlijnen in Paragraaf 4.3.3, “Handmatig bestanden naar de USB-stick kopiëren — de flexibele manier”).

Er bestaat een alles-in-één bestand hd-media/boot.img.gz dat al de bestanden van het installatiesysteem bevat (met inbegrip van de kernel) evenals syslinux en zijn configuratiebestand.

[Opmerking] Opmerking

Merk op dat hoewel deze methode handig is, ze een belangrijk nadeel heeft: de logische grootte van het apparaat wordt beperkt tot 1 GB, zelfs als de USB-stick een grotere capaciteit heeft. U zult de USB-stick opnieuw moeten indelen in partities en er opnieuw een bestandssysteem op moeten creëren om zijn volledige capaciteit terug te winnen, als u hem ooit voor andere doeleinden wilt gebruiken.

U moet gewoon dit image direct naar uw USB-stick uitpakken:

# zcat boot.img.gz > /dev/sdX

Koppel nadien de USB-geheugenstick aan (mount /dev/sdX /mnt), waarop nu een FAT-bestandssysteem zal staan en kopieer er een Debian ISO-image (netinst of de volledige cd; zie Paragraaf 4.1, “Officiële Debian GNU/Linux installatie-images”) naartoe. Koppel de stick af (umount /mnt) en u bent klaar.

4.3.3. Handmatig bestanden naar de USB-stick kopiëren — de flexibele manier

Indien u van meer flexibiliteit houdt of gewoon wilt weten hoe de zaak in mekaar zit, moet u de volgende methode gebruiken om de bestanden op de stick te plaatsen. Een voordeel van deze methode is dat — als uw USB-stick een voldoende grote capaciteit heeft — u de mogelijkheid heeft om er gelijk welk ISO-image naar te kopiëren, zelfs een DVD-image.

4.3.3.1. De schijf indelen en er een bootloader op plaatsen

We zullen u tonen hoe u de geheugenstick moet instellen om slechts de eerste partitie in plaats van het volledige apparaat te gebruiken.

Om na het opstarten vanaf de USB-stick de kernel te starten, zullen we een bootloader plaatsen op de stick. Hoewel elke bootloader zou moeten werken, is het handig om syslinux te gebruiken, omdat die een FAT16-partitie gebruikt en eenvoudig geconfigureerd kan worden door gewoon een tekstbestand te bewerken. Elk besturingssysteem dat het FAT-bestandssysteem ondersteunt, kan gebruikt worden om de configuratie van de bootloader aan te passen.

Eerst moet u op uw systeem de pakketten syslinux en mtools installeren.

[Opmerking] Opmerking

Aangezien de meeste USB-sticks vooraf geconfigureerd zijn met één enkele FAT16-partitie, zult u de stick wellicht niet opnieuw moeten indelen of formatteren. Als u dat toch moet doen, gebruik dan cfdisk of een ander schijfindelingsgereedschap om nu een FAT16-partitie te maken[3], installeer dan een MBR met:

# cat /usr/lib/syslinux/mbr/mbr.bin 
>/dev/sdX

Creëer daarna het bestandssysteem met:

# mkdosfs /dev/sdX1

Zorg ervoor om voor uw USB-stick de correcte apparaatnaam te gebruiken. Het commando mkdosfs is te vinden in het Debian pakket dosfstools.

Nu u een juist ingedeelde USB-stick heeft, moet u syslinux op de FAT16-partitie plaatsen met:

# syslinux /dev/sdX1

Nogmaals, zorg ervoor dat u de juiste apparaatnaam gebruikt. De partitie mag niet aangekoppeld zijn als u syslinux start. Deze procedure schrijft een opstartsector naar de partitie en creëert het bestand ldlinux.sys dat de code van de bootloader bevat.

4.3.3.2. De bestanden van het installatiesysteem toevoegen

Er zijn hier twee verschillende installatievarianten om uit te kiezen. De hd-media-variant heeft een ISO-installatiebestand op de stick nodig om installatiemodules en het basissysteem van te laden. Het netboot-installatieprogramma zal dat echter allemaal laden van een Debian-spiegelserver.

Afhankelijk van uw keuze zult u enkele bestanden van het installatiesysteem moeten downloaden uit de onderliggende map hd-media of netboot van debian/dists/bookworm/main/installer-i386/current/images/ vanaf een Debian-spiegelserver:

  • vmlinuz or linux (het binaire kernelbestand)

  • initrd.gz (het initiële ramschijf-image)

U kunt ofwel voor de tekstgebaseerde versie (de bestanden zijn rechtstreeks te vinden in hd-media of in netboot) of de grafische versie (zoek in hun onderliggende map gtk) van het installatiesysteem kiezen.

Koppel de partitie aan (mount /dev/sdX1 /mnt) en kopieer de gedownloade bestanden naar de basismap van de stick.

Daarna moet u een tekstbestand aanmaken met de naam syslinux.cfg in de basismap van de stick als configuratiebestand van syslynux. Dit moet als absolute minimum de volgende regel bevatten:

default vmlinuz initrd=initrd.gz

Verander de naam van het binaire kernelbestand in linux als u bestanden uit netboot gebruikte.

Voor het grafische installatiesysteem (uit gtk) moet u vga=788 toevoegen aan het einde van de regel. Ook kunnen desgewenst andere parameters toegevoegd worden.

Om van de opstartprompt gebruik te kunnen maken om nog andere parameters toe te voegen, voegt u een regel prompt 1 toe.

Indien u bestanden gebruikte uit hd-media, moet u nu het ISO-bestand van een Debian installatie-image kopiëren naar de stick. (Voor de netboot-variant is dit niet nodig.)

U kunt ofwel een netinst- of een volledige cd/dvd-image gebruiken (zie Paragraaf 4.1, “Officiële Debian GNU/Linux installatie-images”). Zorg ervoor er een te selecteren dat op uw stick past. Merk op dat u het netboot mini.iso-image hiervoor niet kunt gebruiken.

Koppel de USB-geheugenstick af wanneer u klaar bent (umount /mnt).



[3] Vergeet niet om de bootable-vlag in te stellen (dit maakt er een opstartpartitie van).