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 revision
Previous revision
Last revisionBoth sides next revision
multiboot_usb_key [2011/11/03 12:06] – mNZSdxuWOtKPsQ 41.89.6.3multiboot_usb_key [2013/02/18 03:25] 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. 
 + 
 +===== Debian Live (February 2013) ===== 
 + 
 +  mkdir /tmp/live_amd64 
 +  cd /tmp/live_amd64 
 +  lb config -a amd64 -d sid --mirror-bootstrap http://mirrors.ucr.ac.cr/debian/ --mirror-binary http://mirrors.ucr.ac.cr/debian/ --archive-areas "main contrib non-free" 
 + 
 +In directory config/package-lists, create file called base.list and add the following to it: 
 + 
 +  lvm2 
 +  testdisk 
 +  dmsetup 
 +  cryptsetup 
 +  cryptmount 
 +  gdisk 
 +  emacs 
 +  mc 
 +  joe 
 +  gddrescue 
 +  magicrescue 
 +  wipe 
 +  ntfs-3g 
 +  partimage 
 +  sshfs 
 +  firmware-linux-nonfree 
 +  firmware-linux 
 + 
multiboot_usb_key.txt · Last modified: 2021/02/01 05:55 by 127.0.0.1