Puppy Linux: Installazione Frugale su USB con Syslinux

Puppy Linux è una versione speciale di Linux pensata per vecchi computer e per girare completamente in ram. Oltre che per essere installata su vecchi computer, Puppy Linux è ottima per essere usata come OS portatile installato su una penna USB e, a differenza da una distro live, può anche salvare i dati se installata con un file di persistenza.

Per me è molto comodo avere sempre con me un OS Linux pronto per lavorare.

Per la mia attuale configurazione sto utilizzando una penna USB da 64 GB con una partizione ntfs dove salvo i miei dati come su qualsiasi penna usb e con una partizione ext dove è installato il bootloader Syslinux ed una distribuzione Puppy Linux chiamata Slacko. Per fare in modo che la partizione ntfs sia leggibile da dagli OS Windows deve essere la prima partizione (sdX1) nella penna poiché Windows può leggere solo la prima partizione da una penna usb.

Di seguito le istruzioni da seguire passo passo:

  • creare una partizione ntfs sdX1 con etichetta Data
  • creare una partizione ext4(*) sdX2 con label Slacko e creare in essa due directory: boot/syslinux, slacko
  • scaricare la distro Puppy Linux Slacko a 32bit in modo da poterla avviare su qualsiasi architettura
  • montare la iso scaricata e copiare tutto il suo contenuto nella directory slacko in sdX2
  • scaricare il Syslinux ed estrarre il suo contenuto in /tmp
  • copiare tutti i moduli syslinux nella directory boot/syslinux nella partizione sdX2:

cp -r /tmp/syslinux-6.03/bios/*.c32 /media/Slacko/boot/syslinux/

  • installare l'mbr Syslinux nella penna usb:

dd conv=notrunc bs=440 count=1 if=/tmp/syslinux-6.03/bios/mbr/mbr.bin of=/dev/sdX

  • installare Syslinux nella usb:

/syslinux-6.03/bios/extlinux/extlinux --install /media/Slacko/boot/syslinux/

  • abilitare il flag di boot su sdX2:

parted /dev/sdX2 set 1 boot on

  • creare il file per configurare la persistenza:

cp /media/Slacko/isolinux.cfg /media/Slacko/syslinux_frugal.cfg

  • correggere i percorsi in syslinux_frugal.cfg e sostituire pmedia=cd con pmedia=usb:

default puppy
display /slacko/boot.msg
prompt 1
timeout 50

F1 /slacko/boot.msg
F2 /slacko/help.msg
F3 /slacko/help2.msg

label puppy
kernel /slacko/vmlinuz
append initrd=/slacko/initrd.gz pmedia=usb

  • creare il file per configurare il background del menù di boot:

touch /media/Slacko/boot/syslinux/defaults.cfg

  • configurare il file defaults.cfg:

MENU MARGIN 0
MENU ROWS -9
MENU TABMSG
MENU TABMSGROW -3
MENU CMDLINEROW -3
MENU HELPMSGROW -4
MENU HELPMSGENDROW -1

MENU COLOR SCREEN 37;40
MENU COLOR BORDER 34;40
MENU COLOR TITLE 1;33;40
MENU COLOR SCROLLBAR 34;46
MENU COLOR SEL 30;47
MENU COLOR UNSEL 36;40
MENU COLOR CMDMARK 37;40
MENU COLOR CMDLINE 37;40
MENU COLOR TABMSG 37;40
MENU COLOR DISABLED 37;40
MENU COLOR HELP 32;40

  • creare il file per configurare le voci del menù di boot:

touch /media/Slacko/boot/syslinux/menu.cfg

  • configurare il file menu.cfg:

UI vesamenu.c32
PROMPT 0
MENU INCLUDE defaults.cfg
MENU TITLE USB MultiBoot
DEFAULT slacko_frugal
ONTIMEOUT slacko_frugal
TIMEOUT 30
 
LABEL std
    MENU LABEL Standard Boot
    COM32 whichsys.c32
    APPEND -iso- localboot.c32 -1 -sys- chain.c32 hd1 swap  
 
LABEL slacko_frugal
    MENU LABEL Slacko Frugal
    COM32 whichsys.c32 -sys- config /slacko/syslinux_frugal.cfg -iso- config /slacko/isolinux.cfg
 
LABEL hdt
    MENU LABEL Hardware Info
    COM32 hdt.c32
    
LABEL reboot
    MENU LABEL Reboot
    COM32 reboot.c32

 

 

*

Per installare una vecchia versione di Puppy Linux occorre formattare sdX2 come ext3 altrimenti avremo l'errore: Boot failed: Failed to load ldlinux.c32

Syslinux non supporta i 64 bit dell'ext4 quindi dobbiamo formattare una partizione ext4 per syslinux disabilitando i 64 bit:

mkfs.ext4 -F -O ^64bit -L "Slacko" /dev/sdX2

Tags: