User Tools

Site Tools


multiboot_usb_key

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
multiboot_usb_key [2011/11/03 12:06] – mNZSdxuWOtKPsQ 41.89.6.3multiboot_usb_key [2011/11/08 22:04] – old revision restored memeruiz
Line 1: Line 1:
-gwKY7l , [url=http://hehvpzqmrgpg.com/]hehvpzqmrgpg[/url], [link=http://fvstlojjinua.com/]fvstlojjinua[/link]http://nxnstegjpcje.com/+====== Multiboot usb key with 32 and 64bits debian installers and debian live ====== 
 + 
 +===== Preparing the usb key ===== 
 + 
 +  * Create a partition table and make a fat32 partition that uses the whole usb key space. 
 + 
 +  cfdisk /dev/sdb 
 +  mkfs.vfat /dev/sdb1 
 + 
 +  * Install grub on the usb key 
 + 
 +  mount /dev/sdb1 /media/usb0 
 +  grub-install --no-floppy --root-directory=/media/usb0 /dev/sdb 
 + 
 +  * Create a grub.cfg file in /media/usb0/boot/grub/ with the following contents: 
 + 
 +  menuentry "debian-installer-i386"
 +    linux /boot/vmlinuz_i386 vga=788 -- quiet 
 +    initrd /boot/initrd_i386.gz 
 +  } 
 +   
 +  menuentry "debian-installer-i386 expert"
 +    linux /boot/vmlinuz_i386 priority=low vga=788 -- 
 +    initrd /boot/initrd_i386.gz 
 +  }  
 +   
 +  menuentry "debian-installer-amd64"
 +    linux /boot/vmlinuz_amd64 vga=788 -- quiet 
 +    initrd /boot/initrd_amd64.gz 
 +  }  
 +   
 +  menuentry "debian-installer-amd64 expert"
 +    linux /boot/vmlinuz_amd64 priority=low vga=788 -- 
 +    initrd /boot/initrd_amd64.gz 
 +  } 
 +   
 +  menuentry "live amd64" { 
 +    linux /boot/live_amd64/vmlinuz boot=live live-media-path=/boot/live_amd64 persistent-path=/persistent/amd64/ live-config persistent 
 +    initrd /boot/live_amd64/initrd.img 
 +  } 
 +   
 +  menuentry "live i386" { 
 +    linux /boot/live_i386/vmlinuz boot=live live-media-path=/boot/live_i386 persistent-path=/persistent/i386/ live-config persistent 
 +    initrd /boot/live_i386/initrd.img 
 +  } 
 + 
 +===== Debian installer ===== 
 + 
 +  * Get the hd-usb debian installer vmlinuz and initrd.gz files from the web. Rename them to vmlinuz_$arch and initrd_$arch.gz, where $arch is the computer architecture (i386, amd64). Copy them to /media/usb0/boot. 
 +  * Get the corresponding netinstall iso files for the installed architectures and copy them to /media/usb0 
 + 
 +===== Debian live ===== 
 + 
 +  * Create some necessary directories: 
 + 
 +  mkdir /media/usb0/persistent 
 +  mkdir /media/usb0/persistent/amd64 
 +  mkdir /media/usb0/persistent/i386 
 +  mkdir /media/usb0/boot/live_amd64 
 +  mkdir /media/usb0/boot/live_i386 
 + 
 +==== Generate the debian live image ==== 
 + 
 +  * Install live-helper package 
 +  * Create live image (do this from a 64bit machine): 
 + 
 +  mkdir /tmp/d-l 
 +  mkdir /tmp/d-l/amd64 
 +  cd /tmp/d-l/amd64 
 +  sudo lh clean --binary 
 +  sudo lh config -b usb-hdd -a amd64 -d sid 
 +  sudo lh build 
 + 
 +  * When the build is finished edit the file chroot/sbin/live-snapshot  
 +  * Replace the line: 
 + 
 +  SNAP_COW=$(echo "${SNAP_RESYNC_STRING}" | sed -e 's|^/root\([^:.]*\).*$|'"${DEF_SNAP_COW}"'\1|'
 + 
 +  * With: 
 + 
 +  SNAP_COW=$(echo "${SNAP_RESYNC_STRING}" | sed -e 's|^/cow\([^:.]*\).*$|'"${DEF_SNAP_COW}"'\1|'
 + 
 +  * Regenerate the live image: 
 + 
 +  sudo lh clean --binary 
 +  sudo lh binary 
 + 
 +  * Loop mount the generated live imagecopy the important parts to the usb key, and extract the initrd contents:   
 + 
 +  mount -o loop,offset=512 binary.img /mnt 
 +  cd /mnt/live 
 +  cp * /media/usb0/boot/live_amd64 
 +  mkdir /tmp/initrd_amd64 
 +  cp /mnt/live/initrd.img /tmp/initrd_amd64/initrd.img.gz 
 +  cd /tmp/initrd_amd64 
 +  gunzip initrd.img.gz 
 +  cpio -ivmd -F initrd.img 
 +  rm initrd.img 
 + 
 +  * Edit the file scripts/live 
 +  * Replace line: 
 + 
 +  ${snap_type}SNAP="/cow${snap_mount#$rootmnt}":${snapdev}:${snapfile}" >> /etc/live.conf # for resync on reboot/halt 
 + 
 +  * With: 
 + 
 +  ${snap_type}SNAP="/cow${snap_mount#$rootmnt}":${snapdev}:${snapfile}" >> ${rootmnt}/etc/live.conf # for resync on reboot/halt 
 + 
 +  * And replace line: 
 + 
 +  snapdata=$(find_files "${PERSISTENT_PATH}${snap_label}.squashfs  ${PERSISTENT_PATH}${snap_label}.cpio.gz ${PERSISTENT_PATH}${snap_label}.ext2  ${PERSISTENT_PATH}${snap_label}.ext3 ${PERSISTENT_PATH}${snap_label}.ext4 ${PERSISTENT_PATH}${snap_label}.jffs2"
 + 
 +  * With: 
 + 
 +  snapdata=$(find_files "${PERSISTENT_PATH}/${snap_label}.squashfs  ${PERSISTENT_PATH}/${snap_label}.cpio.gz ${PERSISTENT_PATH}/${snap_label}.ext2  ${PERSISTENT_PATH}/${snap_label}.ext3 ${PERSISTENT_PATH}/${snap_label}.ext4 ${PERSISTENT_PATH}/${snap_label}.jffs2"
 + 
 +  * Recreate initrd.img fileand copy it to the usb key: 
 + 
 +  find .| cpio -o -H newc | gzip -9 > ../initrd.img 
 +  cp ../initrd.img /media/usb0/boot/live_amd64 
 + 
 +  * Repeat the whole procedure for the 32bits case, just use i386 where amd64 is. 
 + 
 + 
 + 
multiboot_usb_key.txt · Last modified: 2021/02/01 05:55 by 127.0.0.1