backbone.ws

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
wiki:boot_flash [2012/04/26 07:36] – [Boot USB stick] kolanwiki:boot_flash [2015/01/18 12:17] (current) kolan
Line 1: Line 1:
-===== Boot USB stick ===== +The page moved to [[gnu_linux:boot:usb_stick|Boot USB stick]].
- +
-Here a short instruction how to create a multiboot usb flash disk containing [[http://syslinux.zytor.com/wiki/index.php/The_Syslinux_Project|Syslinux]] ([[http://greenflash.su/Syslinux/Syslinux.htm|rus]]), [[http://diddy.boot-land.net/grub4dos/Grub4dos.htm|Grub4dos]] ([[http://greenflash.su/Grub4Dos/Grub4dos.htm|rus]]), [[http://www.debian.org|Debian x86/64]], [[http://www.fedoraproject.org|Fedora x86/64]], [[http://www.gentoo.org|Gentoo x86/64]], [[http://clonezilla.org|Clonezilla]], [[http://old-dos.ru/files/file_672.html|4DOS]], [[http://www.microsoft.com/windows/default.aspx?icid=winvan|MS Windows]] (experimental), [[http://www.sysresccd.org/Main_Page|SystemRescueCd]] ([[http://www.memtest.org/|Memtest86]], [[http://pogostick.net/~pnh/ntpasswd|NTpassword]], [[http://www.freedos.org|FreeDOS]], [[http://gag.sourceforge.net|GAG]], [[http://www.ranish.com/part|Ranish]], [[http://hdt-project.org|HDT]], [[http://www.dban.org|DBAN]], [[http://www.ihdd.ru/mhdd|MHDD]], [[http://netboot.sourceforge.net|Netboot]], [[http://www.gnu.org/software/grub|Grub2]], [[http://www.xfce.org|Xfce]], [[http://gparted.sourceforge.net|GParted]]). +
- +
-==== Steps ==== +
-  - Firstly backup all data on the stick (using tar/cp/rsync). +
-  - Installing SystemRescueCD on the stick. +
-      * Under MS Windows: download image [[http://www.sysresccd.org/Sysresccd-manual-en_How_to_install_SystemRescueCd_on_an_USB-stick#B.29_Recommended_USB_installation_method_from_Windows|SystemRescueCD-Installer.exe]] and follow instructions given on the link. +
-      * Under GNU/Linux: Mount [[http://www.sysresccd.org/Download|SystemRescueCd-x86-x.x.x.iso]] with //exec// option and run as root //usb_inst.sh// script. Use this short script replacing //iso_path// to path to the iso file: <code bash | Installing SystemRescueCD: iso_path - path to the dowloded iso image>iso_path=/path/to/systemrescuecd-x86-x.x.x.iso +
-mkdir iso_dir && sudo mount -o loop,exec "$iso_path" iso_dir && sudo iso_dir/usb_inst.sh \ +
-&& echo "SystemRescueCD successfully installed\! ;-)" || echo "Installation of SystemRescueCD failed\! ;-(" ; \ +
-sudo umount iso_dir ; rmdir iso_dir</code> +
-  - Set correct file system type to make >=DOS-7.1 understand it. Under GNU/Linux type<code bash | Set correct fs type for DOS>sudo fdisk /dev/sdX # X - is the stick vfat partition, type 't', 'b', 'w', 'Enter'</code>Additionally you can set a DOS fs label<code bash | set dos fs label>sudo dosfslabel /dev/sdX1 LABEL</code> +
-  - Add menu items to //stick:/syslinux/syslinux.cfg// before first LABEL string match. <code | stick://syslinux/syslinux.cfg>LABEL Debian netinstall 32 bit +
- MENU LABEL Debian netinstall 32 bit +
- KERNEL vmlinuz-debian32 +
- initrd initrd-debian32.gz +
- +
-LABEL Debian netinstall 64 bit +
- MENU LABEL Debian netinstall 64 bit +
- KERNEL vmlinuz-debian64 +
- initrd initrd-debian64.gz +
- +
-LABEL Fedora netinstall +
- MENU LABEL Fedora netinstall +
- KERNEL vmlinuz-fedora +
- +
-LABEL Grub 4 Dos +
- MENU LABEL 0) Grub 4 DOS +
- KERNEL grub.exe +
- +
-# Firstly, Windows does not found files in /I386 folder because it searches in the root / of the stick. +
-# Copying them to the root can make another troubles. +
-#LABEL winxp +
-# MENU LABEL Boot Windows 2000/XP/2003 (SETUPLDR.BIN) from CD/DVD +
-# COM32 chain.c32 +
-# APPEND ntldr=/I386/SETUPLDR.BIN +
-#LABEL win7 +
-# MENU LABEL Boot Windows Vista/2008/7 (bootmgr) from CD/DVD +
-# COM32 chain.c32 +
-# APPEND ntldr=/bootmgr +
- +
-# Solution: boot DOS >7.0 (6.0 does not see FAT32) and install under DOS. +
-LABEL 4dos +
- MENU LABEL 4DOS MS-DOS 7.1 RUS +
- kernel memdisk +
- append initrd=/bootdisk/4dos.ima floppy +
- +
-# Download if you need 6.22 version of DOS +
-LABEL dos622 +
- MENU LABEL DOS 6.22 +
- kernel memdisk +
- append initrd=/bootdisk/dos622.img floppy</code> +
-  - Extract from [[http://sourceforge.net/projects/grub4dos | Grub4dos]] //grub.exe// file to the stick into /syslinux/ relative path. And create //stick:/menu.lst// config file for Grub4dos <code ini | stick:/menu.lst>color black/cyan yellow/cyan +
-timeout 30 +
-default /default +
- +
-splashimage=/splash.xpm.gz +
-foreground=AB82FF +
-background=191970 +
- +
-# map + Contig/WinContig shows blue screen when detecting hardware +
-# map --mem hangs in black screen for a long time, then reboot +
-#title WinXP iso +
-#find --set-root /winxp.iso +
-#    map /winxp.iso (hd32) +
-#    map --hook +
-#    root (hd32) +
-#    chainloader (hd32) +
- +
-# Way to install  Windows XP, 2003, 2000, 98, 95 and restoring SYSLINUX boot loader after NTLDR rewrote it. +
-# To install Windows XP select "Grub 4 Dos" menu item on boot screen, then select "Dos 7.1 Rus" item +
-# and type: smartdrv ; c: ; cd c:\install\windows\i386 ; winnt.exe - Windows XP setup will start +
-# For Windows 98 run setup.exe setup executable. +
-# For that operations you need Windows installation CD with i386 directory. +
- +
-title 4DOS MS-DOS 7.1 RUS +
- map --mem /bootdisk/4dos.ima (fd0) +
- map --hook +
- chainloader (fd0)+1 +
- rootnoverify (fd0)</code> +
-  - To get available Debian netinstall need to download [[ftp://ftp.debian.org/debian/dists/testing/main/installer-i386/current/images/netboot/debian-installer/i386/linux | kernel-32bit]], [[ftp://ftp.debian.org/debian/dists/testing/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz | initrd-32bit]], [[ftp://ftp.debian.org/debian/dists/testing/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux | kernel-64bit]], [[ftp://ftp.debian.org/debian/dists/testing/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz | initrd-64bit]] and move it to the //stick:/syslinux// directory renaming to //vmlinuz-debian32//, //initrd-debian32.gz//, //vmlinuz-debian64//, //inird-debian64.gz// accordinly. Under GNU/Linux you can do all operations by typing one command <code bash | Downloading Debian files: path - path to the mounted usb stick fs, release = stable | testing | sid> +
-path=/mnt/flash ; release=testing +
-ftp_url="ftp://ftp.debian.org/debian/dists/$release/main/installer";+
-ftp_path="current/images/netboot/debian-installer"+
-&& p="$ftp_url-i386/$ftp_path/i386"+
-&& wget "$p/linux" -O "$path/syslinux/vmlinuz-debian32"+
-&& wget "$p/initrd.gz" -O "$path/syslinux/initrd-debian32.gz"+
-&& p="$ftp_url-amd64/$ftp_path/amd64"+
-&& wget "$p/linux" -O "$path/syslinux/vmlinuz-debian64"+
-&& wget "$p/initrd.gz" -O "$path/syslinux/initrd-debian64.gz"+
-&& echo "Debian boot image files download successfully\! ;-)" \ +
-|| echo "Downloading Debian boot image files failed\! ;-("</code> +
-  - To get available Fedora netinstall download [[http://dl.fedoraproject.org/pub/alt/bfo/bfo.lkrn | bfo.lkrn]] and save it as stick:/syslinux/vmlinuz-fedora. Example:<code bash | Download Fedora netinstall kernel image: path - path to the mounted stick>path=/mnt/flash +
-wget http://dl.fedoraproject.org/pub/alt/bfo/bfo.lkrn -O $path/syslinux/vmlinuz-fedora</code> +
-  - To get available Gentoo installers need to download [[http://mirrors.kernel.org/gentoo/snapshots/portage-latest.tar.bz2 | portage-latest.tar.bz2]], [[http://mirrors.kernel.org/gentoo/releases/x86/autobuilds/current-stage3 | stage3-i686-xxx.tar.bz2]] and [[http://mirrors.kernel.org/gentoo/releases/amd64/autobuilds/current-stage3 | stage3-amd64-xxx.tar.bz2]] to the //stick:/install/gentoo// directory. Under GNU/Linux all operations can be made in one step <code bash | Downloading Gentoo portage and stages: path - path to the stick> +
-path=/mnt/flash +
-full_path="$path/install/gentoo";+
-url_path="http://mirrors.kernel.org/gentoo/releases"; mkdir -p "$full_path"+
-&& fname=`wget $url_path/x86/autobuilds/latest-stage3-i686.txt -O - 2>/dev/null | tail -n1 | cut -d/ -f2` \ +
-&& wget "$url_path/x86/autobuilds/current-stage3-i686/$fname" -O "$full_path/$fname"+
-&& fname=`wget $url_path/amd64/autobuilds/latest-stage3.txt -O - 2>/dev/null | tail -n1 | cut -d/ -f2` \ +
-&& wget "$url_path/amd64/autobuilds/current-stage3/$fname" -O "$full_path/$fname"+
-&& wget "$url_path/snapshots/current/portage-latest.tar.bz2" -O "$full_path/portage-latest.tar.bz2"+
-&& echo "Downloading portage and stag3 success \! ;-)" \ +
-|| echo "Downloading portage and stag3 failed \! ;-("</code> +
-  - To have DOS 7.1 on the stick download diskette image from [[http://narod.ru/disk/27030580000/4DOS.IMA.html | narod.ru]] or [[http://www.backbone.ws/share/dist/os/dos | this site]] and move to the //stick:/bootdisk// directory. In Bash you cat type <code bash | Downloading DOS 7.1 image: path - path to mounted stick>path=/mnt/flash +
-wget http://www.backbone.ws/share/dist/os/dos/4dos.ima -O "$path/bootdisk/4dos.ima"+
-&& echo "DOS 7.1 download succes\! ;-)" || echo "DOS 7.1 download failed\! ;-("</code> +
-  - Important! Setup MS Windows in this way with a 100% possibility it erases SYSLINUX boot loader because Windows Installer wrotes it's own boot loader from time to time. However if installation of Windows success you can got to Grub4dos using NTLDR and select DOS 7.1, then type<code>c: ; syslinux.com c:</code> //syslinux.com// must be extracted from //stick:/bootprog/syslinux-x.xx.zip/dos//. Also to install Windows XP you need to copy //ntdetect.com// from //i386// installation directory and //grldr// from [[http://sourceforge.net/projects/grub4dos | Grub4dos]] to the root of the stick. Menu config must be on the stick<code ini | stick:/boot.ini>[boot loader] +
-timeout=30 +
-default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS +
-[operating systems] +
-multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect +
-C:\grldr="Grub4Dos"</code> +
-  - Installing Clonezilla. Download latest [[http://sourceforge.net/projects/clonezilla/files/clonezilla_live_stable | stable]] or [[http://sourceforge.net/projects/clonezilla/files/clonezilla_live_testing | testing]] version of Clonezilla. Unpack three files from the iso by mounting it or by using File-Roller etc. You should get such directory tree.<code | stick:/>stick +
-├── live +
-│   ├── filesystem.squashfs +
-│   ├── initrd.img +
-│   └── vmlinuz</code> Copy from //clonezilla-live-xxx.iso/syslinux/syslinux.cfg// file strings from first "MENU TITLE" to last "MENU END" including them and insert before first "LABEL ..." string into //stick:/syslinux/syslinux.cfg// +
-  - More Grub4dos menu list examples.<code | stick:/menu.lst>title find and load NTLDR of Windows +
- NT/2K/XP +
- fallback 1 +
- find --set-root /ntldr +
- chainloader /ntldr +
- savedefault --wait=2 +
- +
-title find and load CMLDR, the Recovery +
- Console of Windows NT/2K/XP +
- fallback 2 +
- find --set-root /cmldr +
- chainloader /cmldr +
- +
-#..................................... +
-# write string "cmdcons" to +
-memory 0000:7C03 in 2 steps: +
-#..................................... +
-# step 1. Write 4 chars "cmdc" +
-at 0000:7C03 +
-write 0x7C03 0x63646D63 +
-# step 2. Write 3 chars "ons" +
-and an ending null at 0000:7C07 +
-write 0x7C07 0x00736E6F +
-savedefault --wait=2 +
- +
-title find and load IO.SYS of Windows +
- 9x/Me +
- fallback 3 +
- find --set-root /io.sys +
- chainloader /io.sys +
- savedefault --wait=2 +
- +
-title find and boot Mandriva with +
- menu.lst already installed +
- fallback 4 +
- find --set-root /etc/mandriva-release +
- savedefault --wait=2 +
- configfile /boot/grub/menu.lst +
- +
-title find and boot Linux with menu.lst +
- already installed +
- fallback 5 +
- find --set-root /sbin/init +
- savedefault --wait=2 +
- configfile /boot/grub/menu.lst +
- +
-title commandline +
- savedefault --wait=2 +
- commandline +
- +
-title floppy (fd0) +
- chainloader (fd0)+1 +
- rootnoverify (fd0) +
- savedefault --wait=2 +
- +
-title back to dos +
- savedefault --wait=2 +
- quit +
- +
-title reboot +
- savedefault --wait=2 +
- reboot +
- +
-title halt +
- savedefault --wait=2 +
- halt +
- +
-title memdrive duplicated from floppy +
- image file (hd0,0)/sbm.bin +
- map --mem (hd0,0)/sbm.bin (fd0) +
- map --hook +
- chainloader (fd0)+1 +
- rootnoverify (fd0) +
- savedefault --wait=2 +
- +
-title memdrive based on win98 partition +
- (hd0,6) +
- map --mem (hd0,6)+1 (hd0) +
- # map --mem (hd0,0)/win98.gz (hd0) +
- map --hook +
- chainloader (hd0)+1 +
- rootnoverify (hd0) +
- savedefault --wait=2 +
- +
-title Boot Windows XP +
- root (hd0,1) +
- chainloader +1 +
- savedefault +
- +
-title Boot Options +
- lock +
- find --set-root /submenu.lst +
- configfile /submenu.lst +
- +
-title Find “hdd.tag” and chainload +
- partition +
- find --set-root /hdd.tag +
- chainloader +1 +
- +
-title Find and load “ntldr” +
- find --set-root /ntldr +
- chainloader /ntldr +
- +
-title debian-6.0.0-i386-netinst.iso +
- (hd32 --mem) +
- map --mem +
- (hd0,0)/debian-6.0.0-i386-netinst.iso (hd32) +
- map --hook +
- root (hd32) +
- chainloader (hd32) +
- boot +
- +
-title debian-6.0.0-i386-netinst.iso +
- (0xFF --mem) +
- map --mem +
- (hd0,0)/debian-6.0.0-i386-netinst.iso (0xFF) +
- map --hook +
- root (0xFF) +
- chainloader (0xFF) +
- boot +
- +
-title debian-6.0.0-i386-netinst.iso +
- (hd32) +
- map +
- (hd0,0)/debian-6.0.0-i386-netinst.iso (hd32) +
- map --hook +
- root (hd32) +
- chainloader (hd32) +
- boot +
- +
-title debian-6.0.0-i386-netinst.iso +
- (0xFF) +
- map +
- (hd0,0)/debian-6.0.0-i386-netinst.iso (0xFF) +
- map --hook +
- root (0xFF) +
- chainloader (0xFF) +
- boot +
- +
-title debian-6.0.0-i386-netinst.iso +
- (--mem maxblast) +
- map --mem +
- (hd0,0)/debian-6.0.0-i386-netinst.iso (hd32) +
- map --hook +
- map --mem (hd32)/images/maxblast.igz +
- (fd0) +
- map --hook +
- root (fd0) +
- chainloader +1 +
- boot +
- +
-title debian-6.0.0-i386-netinst.iso +
- (--mem maxblast --mem floppy) +
- map --mem +
- (hd0,0)/debian-6.0.0-i386-netinst.iso (hd32) +
- map --hook +
- map --mem (hd32)/images/maxblast.igz +
- (fd0) +
- map --hook +
- map --mem (fd0)/floppy.img.gz (fd1) +
- map --hook +
- root (fd1) +
- chainloader +1 +
- boot</code>+