Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
####### # # E-scripts on making live USBs (mainly with live-build). # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # An introduction to eev can be found here: # # (find-eev-quick-intro) # http://angg.twu.net/eev-intros/find-eev-quick-intro.html # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://angg.twu.net/e/live.e> # or at <http://angg.twu.net/e/live.e.html>. # See also <http://angg.twu.net/emacs.html>, # <http://angg.twu.net/.emacs[.html]>, # <http://angg.twu.net/.zshrc[.html]>, # <http://angg.twu.net/escripts.html>, # and <http://angg.twu.net/>. # ####### # «.manpages» (to "manpages") # «.crunchbang» (to "crunchbang") # «.persistence-inspect» (to "persistence-inspect") # «.unetbootin» (to "unetbootin") # «.unetbootin-deb-src» (to "unetbootin-deb-src") # «.debian-live-old» (to "debian-live-old") # «.debian-live» (to "debian-live") # «.live-manual» (to "live-manual") # «.live-build-Contents-bug» (to "live-build-Contents-bug") # «.live-build-versions» (to "live-build-versions") # «.live-build-distro» (to "live-build-distro") # «.live-build-my.list.chroot» (to "live-build-my.list.chroot") # «.live-build-chrome» (to "live-build-chrome") # «.live-build-add-partition» (to "live-build-add-partition") # «.live-build-partition-3» (to "live-build-partition-3") # «.live-build-read-partitions» (to "live-build-read-partitions") # «.live-build-read-short» (to "live-build-read-short") # «.live-build-gpt» (to "live-build-gpt") # «.live-build-gparted-by-hand» (to "live-build-gparted-by-hand") # «.live-build-test-qemu» (to "live-build-test-qemu") # «.live-build-hdd» (to "live-build-hdd") # «.live-build-xorriso» (to "live-build-xorriso") # «.live-build» (to "live-build") # «.debian-live-chrome» (to "debian-live-chrome") # «.debian-live-stretch» (to "debian-live-stretch") # «.debian-live-make-ISO» (to "debian-live-make-ISO") # «.debian-live-irc» (to "debian-live-irc") # «.irc-channel» (to "irc-channel") # «.debian-live-mailing-list» (to "debian-live-mailing-list") # «.mailing-list» (to "mailing-list") # (find-es "pendrive") # (find-fline "~/live/") # (find-fline "~/live/olb") # (find-fline "~/live/olb" "lb chroot_cache restore") # (find-fline "/usr/lib/live/build/chroot_cache") # (find-fline "/usr/bin/lb") # (find-fline "/usr/lib/live/build.sh") # (find-fline "/usr/share/live/build/functions/") # (find-status "live-build") # (find-vldifile "live-build.list") # (find-udfile "live-build/") # (find-fline "/usr/lib/live/build/") # (find-fline "/usr/lib/live/build/binary_syslinux") # (find-fline "/usr/lib/live/build/binary_iso") # (find-fline "/usr/lib/live/build/binary_package-lists") # (find-status "debootstrap") # (find-vldifile "debootstrap.list") # (find-udfile "debootstrap/") # (find-status "live-boot-doc") # (find-vldifile "live-boot-doc.list") # (find-udfile "live-boot-doc/") # (find-man "7 live-boot") # (find-man "7 live-build") # (find-man "7 live-tools") # (find-man "7 live-config") # (find-man "5 persistence.conf") # (find-status "live-config-doc") # (find-vldifile "live-config-doc.list") # (find-udfile "live-config-doc/") # (find-udfile "live-config/examples/live-config-foobar/") # (find-status "live-manual-html") # (find-vldifile "live-manual-html.list") # (find-udfile "live-manual-html/") # (find-udfile "live-manual/html/") # file:///usr/share/doc/live-manual/html/live-manual.en.html # (find-status "genisoimage") # (find-vldifile "genisoimage.list") # (find-udfile "genisoimage/") # (find-man "5 genisoimagerc") # (find-man "1 mkzftree") # (find-man "1 genisoimage") # (find-man "1 dirsplit") # (find-man "1 isoinfo") # (find-man "1 geteltorito") # (find-man "1 devdump") # (find-man "1 isodump") # (find-man "1 isovfy") ##### # # manpages # 2013oct26 # ##### # «manpages» (to ".manpages") ##### # # crunchbang # 2013nov24 # ##### # «crunchbang» (to ".crunchbang") # http://crunchbang.org/ # http://en.wikipedia.org/wiki/CrunchBang_Linux # http://crunchbang.org/forums/viewtopic.php?id=19658 Waldorf LiveUSB # http://crunchbang.org/forums/viewtopic.php?id=23267 How To prepare an ISO to USB - Linux & Windows Instructions *** # http://crunchbang.org/forums/viewtopic.php?id=25489 The Correct Way for Persistence on a LiveUSB for WALDORF *** # http://crunchbang.org/forums/viewtopic.php?id=22031 Waldorf and persistence # http://crunchbang.org/torrents/crunchbang-11-20130506-i686.iso.torrent # (find-fline "/sda5/torrents/" "crunchbang-11-20130506-i686.iso") # (find-sh0 "sudo ls -l /dev/disk/by-id/*usb*") ** First test (without persistence): * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) ISO=/sda5/torrents/crunchbang-11-20130506-i686.iso laf $ISO sudo dd if=$ISO of=/dev/sdb bs=4M; sync ** To create a pen drive with persistence we follow the instructions here: ** http://crunchbang.org/forums/viewtopic.php?id=25489 ** 1) Format the pen drive with a single FAT32 partition ** (find-es "pendrive" "repartition-1") ** 2) Install the ISO into that partition with: ** (to "unetbootin") ** 3) Shrink that partition with gparted, label it "DEBIAN_LIVE", ** and create a 2nd partition (ext2), label it "persistence" ** 4) Make the changes below: * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-tkdiff "~/LIVE/syslinux.cfg.orig" "~/LIVE/syslinux.cfg") mkdir /tmp/pen/ sudo mount /dev/sdb1 /tmp/pen/ cd /tmp/pen/ sudo cp -iv /tmp/pen/syslinux.cfg /tmp/pen/syslinux.cfg.orig sudo cp -v ~/LIVE/syslinux.cfg /tmp/pen/syslinux.cfg # (find-tkdiff "/tmp/pen/syslinux.cfg.orig" "/tmp/pen/syslinux.cfg") sudo umount /tmp/pen/ mkdir /tmp/persistence/ sudo mount /dev/sdb2 /tmp/persistence/ sudo cp -v ~/LIVE/live-persistence.conf /tmp/persistence/ sudo umount /tmp/persistence/ # Old notes: # (kill-new " persistence") # (find-asrootfile "/tmp/pen/") # (find-asrootfile "/tmp/pen/syslinux.cfg") # (find-fline "~/LIVE/syslinux.cfg") # (find-fline "~/LIVE/live-persistence.conf") # (kill-new "") # (find-asroot "/tmp/persistence/") # (find-asroot "/tmp/persistence/live-persistence.conf") ##### # # Inspecting how persistence is implemented # 2013nov25 # ##### # «persistence-inspect» (to ".persistence-inspect") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) mkdir /tmp/debian-live/ mkdir /tmp/persistence/ sudo mount -o ro /dev/sdb1 /tmp/debian-live/ sudo mount -o ro /dev/sdb2 /tmp/persistence/ # (find-fline "/tmp/debian-live/") # (find-fline "/tmp/debian-live/syslinux.cfg" "persistence") # (find-fline "/tmp/persistence/") # (find-fline "/tmp/persistence/home/crunchbang/") # (find-fline "/tmp/persistence/usr/bin/") sudo umount /tmp/debian-live/ sudo umount /tmp/persistence/ # (find-man "mount") # (find-sh "locate union") ##### # # unetbootin # 2013nov24 # ##### # «unetbootin» (to ".unetbootin") # (find-status "unetbootin") # (find-vldifile "unetbootin.list") # (find-udfile "unetbootin/") # (find-man "1 unetbootin") # (find-fline "/usr/share/menu/unetbootin") # (find-fline "/usr/share/menu/unetbootin" "Applications/System/Administration") # http://unetbootin.sourceforge.net/ # http://sourceforge.net/apps/trac/unetbootin/wiki # http://sourceforge.net/apps/trac/unetbootin/wiki/guide # http://unetbootin.sourceforge.net/diskimg/readme.txt # http://sourceforge.net/apps/trac/unetbootin/wiki/installmodes # http://sourceforge.net/apps/trac/unetbootin/wiki/commands *** # http://sourceforge.net/apps/trac/unetbootin/wiki/commands?format=txt # (find-wget "http://sourceforge.net/apps/trac/unetbootin/wiki/commands?format=txt") ##### # # unetbootin (from the debian sources) # 2013nov28 # ##### # «unetbootin-deb-src» (to ".unetbootin-deb-src") # http://ftp.de.debian.org/debian/pool/main/u/unetbootin/ # http://ftp.de.debian.org/debian/pool/main/u/unetbootin/unetbootin_585-2.dsc # http://ftp.de.debian.org/debian/pool/main/u/unetbootin/unetbootin_585-2.debian.tar.gz # http://ftp.de.debian.org/debian/pool/main/u/unetbootin/unetbootin_585.orig.tar.gz #* rm -Rv ~/usrc/unetbootin/ mkdir ~/usrc/unetbootin/ cd $S/http/ftp.de.debian.org/debian/pool/main/u/unetbootin/ cp -v unetbootin_585* ~/usrc/unetbootin/ cd ~/usrc/unetbootin/ dpkg-source -sn -x unetbootin_585-2.dsc cd ~/usrc/unetbootin/unetbootin-585/ dpkg-buildpackage -us -uc -b -rfakeroot |& tee odb #* # (find-fline "~/usrc/unetbootin/") * (eepitch-shell) cd ~/usrc/unetbootin/ sudo dpkg -i *.deb #* # (code-c-d "unetbootin" "~/usrc/unetbootin/unetbootin-585/") # (find-unetbootinfile "") ##### # # Debian Live (old) # 2014jul06 # ##### # «debian-live-old» (to ".debian-live-old") # «debian-live» (to ".debian-live") # http://live.debian.net/manual/1.x/html/persistence.html # (find-fline "/sda4/isos/") # (find-es "live" "crunchbang") ** First test (without persistence): * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) ISO=/sda4/isos/debian-live-7.5.0-i386-xfce-desktop.iso laf $ISO sudo dd if=$ISO of=/dev/sdb bs=4M; sync ##### # # live-manual # 2018mai18 # ##### # «live-manual» (to ".live-manual") # http://packages.debian.org/live-manual # https://packages.debian.org/search?keywords=live-manual # https://packages.debian.org/sid/live-manual-html # http://http.debian.net/debian/pool/main/l/live-manual/live-manual_20151217.1_all.deb # http://http.debian.net/debian/pool/main/l/live-manual/live-manual-html_20151217.1_all.deb # http://debian-live.alioth.debian.org/live-manual/stable/manual/html/live-manual.en.html # http://debian-live.alioth.debian.org/ (should transition to:) # https://salsa.debian.org/public cd /tmp/ wget http://http.debian.net/debian/pool/main/l/live-manual/live-manual_20151217.1_all.deb wget http://http.debian.net/debian/pool/main/l/live-manual/live-manual-html_20151217.1_all.deb sudo dpkg -i live-manual-html_20151217.1_all.deb # sudo dpkg -i live-manual_20151217.1_all.deb # (find-status "live-manual-html") # (find-vldifile "live-manual-html.list") # (find-udfile "live-manual-html/") # (find-fline "/usr/share/doc/live-manual/html/live-manual/") # file:///usr/share/doc/live-manual/html/live-manual/about-manual.en.html#7 # file:///usr/share/doc/live-manual/html/live-manual/examples.en.html # file:///usr/share/doc/live-manual/html/live-manual/installation.en.html#installing-live-build ##### # # Why we need the version of live-build from Sid (the Contents-xxx.gz bug) # 2018mai29 # ##### # «live-build-Contents-bug» (to ".live-build-Contents-bug") # Description of the bug: # https://superuser.com/questions/923411/why-are-there-no-contents-arch-gz-file-for-debian-jessie # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637442 # # Check: # http://ftp.debian.org/debian/dists/wheezy/main/ Contents-amd64.gz # http://ftp.debian.org/debian/dists/stretch/main/ Contents-amd64.gz ##### # # live-build: installing a newer version (from sid) # 2018mai18 # ##### # «live-build-versions» (to ".live-build-versions") # http://packages.debian.org/live-build # https://packages.debian.org/search?keywords=live-build # http://http.debian.net/debian/pool/main/l/live-build/ # http://http.debian.net/debian/pool/main/l/live-build/live-build_20180411.dsc # http://http.debian.net/debian/pool/main/l/live-build/live-build_20180411.tar.xz # http://http.debian.net/debian/pool/main/l/live-boot-doc/ # http://http.debian.net/debian/pool/main/l/live-manual/ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd /tmp/ wget http://cdn-fastly.deb.debian.org/debian/pool/main/l/live-build/live-build_20180411_all.deb wget http://cdn-fastly.deb.debian.org/debian/pool/main/l/live-build/live-build_20170213_all.deb sudo dpkg -i live-build_20180411_all.deb apti -f # (find-status "live-build") # (find-vldifile "live-build.list") # (find-udfile "live-build/") ##### # # live-build: changing the distribution # 2018mai19 # ##### # «live-build-distro» (to ".live-build-distro") # (find-man "1 lb_config") # (find-man "1 lb_config" " --debian-installer-distribution") # (find-fline "/usr/lib/live/build/lb_config") --debian-installer-distribution stretch --distribution stretch --parent-distribution stretch --parent-debian-installer-distribution stretch ##### # # live-build: adding packages using the my.list.chroot file # 2018mai18 # ##### # «live-build-my.list.chroot» (to ".live-build-my.list.chroot") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) sudo rm -Rfv /home/live/ mkdire /home/live/ cd /home/live/ cat > /tmp/my.list.chroot <<'%%%' emacs24 emacs24-el zsh lua5.1 git make lua-lpeg expect xpdf recode figlet xinit fvwm %%% cd /home/live/ sudo lb config \ --debian-installer-distribution stretch \ --distribution stretch \ --parent-distribution stretch \ --parent-debian-installer-distribution stretch sudo cp -v /tmp/my.list.chroot \ /home/live/config/package-lists/my.list.chroot sudo lb build |& tee build1.log ##### # # live-build: adding some standard debian packages plus google-chrome # 2018mai19 # ##### # «live-build-chrome» (to ".live-build-chrome") # (find-THfile "live-build.blogme" "live-build-chrome") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # sudo rm -Rfv /home/live/ mkdire /home/live/ cd /home/live/ # sudo lb clean --binary sudo lb clean sudo lb config \ --debian-installer-distribution stretch \ --distribution stretch \ --parent-distribution stretch \ --parent-debian-installer-distribution stretch cat > /tmp/my.list.chroot <<'%%%' emacs24 emacs24-el zsh lua5.1 git make lua-lpeg expect xpdf recode figlet xinit fvwm lua5.1-doc install-info bash-doc zsh-doc %%% sudo cp -v /tmp/my.list.chroot \ /home/live/config/package-lists/my.list.chroot cd /tmp/ wget -nc https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb wget -nc http://http.debian.net/debian/pool/non-free/e/emacs24-non-dfsg/emacs24-common-non-dfsg_24.5+1-2_all.deb # (find-fline "/tmp/") sudo cp -v google-chrome*.deb /home/live/config/packages.chroot/ sudo cp -v emacs24-common-non-dfsg*.deb /home/live/config/packages.chroot/ cd /home/live/ sudo lb build |& tee build1.log # (find-fline "/home/live/") # (find-fline "/home/live/build1.log") # (find-fline "/home/live/" "live-image-amd64.hybrid.iso") # (find-fline "/home/live-images/") laf -h /home/live/ laf -h /home/live-images/ laf -h /home/live/live-image-amd64.hybrid.iso cp -v /home/live/live-image-amd64.hybrid.iso \ /home/live-images/emacs-fvwm-chrome.hybrid.iso # Make an image adding xfce4 and lxde # cat > /tmp/my.list.chroot <<'%%%' emacs24 emacs24-el zsh lua5.1 git make lua-lpeg expect xpdf recode figlet xinit fvwm lua5.1-doc install-info bash-doc zsh-doc xfce4 lxde %%% sudo cp -v /tmp/my.list.chroot \ /home/live/config/package-lists/my.list.chroot cd /home/live/ sudo lb clean sudo lb build |& tee build2.log # (find-fline "/home/live/") # (find-fline "/home/live/" "live-image-amd64.hybrid.iso") # (find-fline "/home/live-images/") laf -h /home/live/ laf -h /home/live-images/ laf -h /home/live/live-image-amd64.hybrid.iso cp -v /home/live/live-image-amd64.hybrid.iso \ /home/live-images/emacs-fvwm-xfce4-lxdm-chrome.hybrid.iso laf -h /home/live-images/ # Copy the image into the pen drive # (find-fline "/dev/disk/by-id/") # sudo time \ dd if=/home/live-images/emacs-fvwm-xfce4-lxdm-chrome.hybrid.iso of=/dev/sdb sync # 4.5.2 Copying an ISO hybrid image to a USB stick: # file:///usr/share/doc/live-manual/html/live-manual/the-basics.en.html#195 # cp live-image-i386.hybrid.iso ${USBSTICK} cd /home/live/ sudo time \ dd if=live-image-amd64.hybrid.iso of=/dev/sdb sync ##### # # Adding a partition to a pen drive made with live-build # 2018mai29 # ##### # «live-build-add-partition» (to ".live-build-add-partition") # (to "live-usb-partition-3") # (find-man "8 fdisk" " -l") # (find-sh "sudo fdisk -l /dev/sdb") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) sudo fdisk /dev/sdb p n p 3 +200M p m w sync # Errors and warnings: # WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util # fdisk doesn't support GPT. Use GNU Parted. # (find-sh "sudo fdisk -l /dev/sdb") # Device Boot Start End Blocks Id System # /dev/sdb1 * 64 1429503 714720 0 Empty # /dev/sdb2 708 2115 704 ef EFI (FAT-12/16/32) # /dev/sdb3 2116 411715 204800 83 Linux sudo mke2fs /dev/sdb3 # The kernel still uses the old table. The new table will be used at # the next reboot or after you run partprobe(8) or kpartx(8) sync # (find-man "8 partprobe") # (find-man "8 kpartx") sudo partprobe sudo kpartx sudo kpartx /dev/sdb mkdir /tmp/pen1 mkdir /tmp/pen2 mkdir /tmp/pen3 sudo mount -o ro /dev/sdb1 /tmp/pen1 sudo mount -o ro /dev/sdb2 /tmp/pen2 sudo mount /dev/sdb3 /tmp/pen3 sudo umount /tmp/pen1 sudo umount /tmp/pen2 sudo umount /tmp/pen3 ##### # # Putting some files (edrx.tgz plus scripts) in the 3rd partition of a Live USB # 2018mai29 # ##### # «live-build-partition-3» (to ".live-build-partition-3") # (to "live-build-add-partition") # (find-fline "/home/live-images/") # (find-fline "/home/live-images/edrx/") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-fline "~/live-build/") rm -Rv ~/live-build/edrx.tgz rm -Rv ~/live-build/edrx2.tgz cd rm -v ~/TH/L/edrx.tgz rm -v ~/edrx.tgz makeLedrxtgz laf ~/edrx.tgz ~/TH/L/edrx.tgz sudo cp -v ~/TH/L/edrx.tgz ~/live-build/ # (find-fline "~/books/__comp/") cd FILES=( TODO ORG/index.org books/__comp/__comp.el books/__comp/ierusalimschy__programming_in_lua_2nd_ed.pdf books/__comp/ierusalimschy__programming_in_lua_3rd_ed.pdf ) sudo tar -cvzf ~/live-build/edrx2.tgz $FILES # (find-fline "~/live-build/") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) mkdir /tmp/pen3/ sudo mount /dev/sdb1 /tmp/pen3/ # (find-fline "/tmp/pen3/") # (find-angg "live-build/") mount sudo cp -v ~/live-build/edrx*.tgz /tmp/pen3/ sudo cp -v ~/live-build/install? /tmp/pen3/ sudo umount /tmp/pen3/ sync # PROBLEM: the pen drive with this added partition doesn't even boot! # Here is a screenshot (low-tech): # http://angg.twu.net/tmp/live-build-partition-3-bug-2018may29.jpg ##### # # Mounting a liveUSB image on a loop device and reading its partitions # 2018mai29 # ##### # «live-build-read-partitions» (to ".live-build-read-partitions") # (find-fline "/home/live-images/" "emacs-fvwm-xfce4-lxdm-chrome.hybrid.iso") # (find-es "loop" "partx") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cp -v /home/live-images/emacs-fvwm-xfce4-lxdm-chrome.hybrid.iso /tmp/myliveusb.img partx --show - /tmp/myliveusb.img # NR START END SECTORS SIZE NAME UUID # 1 64 1429503 1429440 698M # 2 708 2115 1408 704K sudo losetup /dev/loop4 /tmp/myliveusb.img sudo partx --show - /dev/loop4 sudo partx --add /dev/loop4 # partx: /dev/loop4: error adding partition 2 sudo fdisk -l /dev/loop4 # WARNING: GPT (GUID Partition Table) detected on '/dev/loop4'! The # util fdisk doesn't support GPT. Use GNU Parted. # # Disk /dev/loop4: 731 MB, 731906048 bytes # 255 heads, 63 sectors/track, 88 cylinders, total 1429504 sectors # Units = sectors of 1 * 512 = 512 bytes # Sector size (logical/physical): 512 bytes / 512 bytes # I/O size (minimum/optimal): 512 bytes / 512 bytes # Disk identifier: 0x772e4d3a # # Device Boot Start End Blocks Id System # /dev/loop4p1 * 64 1429503 714720 0 Empty # /dev/loop4p2 708 2115 704 ef EFI (FAT-12/16/32) # sudo parted /dev/loop4 print laf /dev/loop* laf /dev/loop4* mkdir /tmp/live1/ mkdir /tmp/live2/ sudo mount -o ro /dev/loop4p1 /tmp/live1/ # (find-fline "/tmp/live1/") # (find-fline "/tmp/live1/boot/grub/" "efi.img") # It seems that there is an image of the second partition in # boot/grub/efi.img, so let's cheat... sudo mount -o ro,loop /tmp/live1/boot/grub/efi.img /tmp/live2/ # (find-fline "/tmp/live2/") sudo umount /tmp/live2 sudo umount /tmp/live1 sudo partx --delete /dev/loop4 sudo losetup /dev/loop4 sudo losetup --detach /dev/loop4 sudo losetup /dev/loop4 ##### # # Mounting a liveUSB image on a loop device and reading it (short version) # 2018mai30 # ##### # «live-build-read-short» (to ".live-build-read-short") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # This is the short version of the script in the block above. # (find-fline "/home/live-images/" "emacs-fvwm-xfce4-lxdm-chrome.hybrid.iso") cp -v /home/live-images/emacs-fvwm-xfce4-lxdm-chrome.hybrid.iso /tmp/myliveusb.img sudo losetup /dev/loop4 /tmp/myliveusb.img sudo partx --add /dev/loop4 # partx: /dev/loop4: error adding partition 2 mkdir /tmp/live1/ mkdir /tmp/live2/ sudo mount -o ro /dev/loop4p1 /tmp/live1/ sudo mount -o ro,loop /tmp/live1/boot/grub/efi.img /tmp/live2/ # (find-fline "/tmp/live1/") # (find-fline "/tmp/live2/") sudo umount /tmp/live2/ sudo umount /tmp/live1/ sudo partx --delete /dev/loop4 sudo losetup --detach /dev/loop4 ##### # # Errors about the gpt table in a live-build pen drive # 2018mai30 # ##### # «live-build-gpt» (to ".live-build-gpt") # (find-sh "sudo parted /dev/sdb print") # (find-sh "sudo parted -m /dev/sdb print") # Warning: /dev/sdb contains GPT signatures, indicating that it has a GPT table. # However, it does not have a valid fake msdos partition table, as it should. # Perhaps it was corrupted -- possibly by a program that doesn't understand GPT # partition tables. Or perhaps you deleted the GPT table, and are now using an # msdos partition table. Is this a GPT partition table? ##### # # Partitioning a LiveUSB pen drive with gparted and copying files to it by hand # 2018mai29 # ##### # «live-build-gparted-by-hand» (to ".live-build-gparted-by-hand") # (find-man "8 parted") # (find-man "8 mkfs") # (find-man "8 mkfs.ext2") # (find-man "8 mkfs.ext3") # (find-man "8 mkfs.ext4") # (find-man "8 mkfs.ext4dev") # (find-man "8 mkfs.fat") # (find-man "8 mkfs.msdos") # (find-man "8 mkfs.ntfs") # (find-man "8 mkfs.vfat") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) sudo dd if=/dev/zero of=/dev/sdb bs=1M count=10 sudo gparted /dev/sdb # GPT partition table; # 1: 750MB ntfs # 2: 16MB fat16 # 3: 200MB ext2 sudo mkfs.ntfs --help sudo mkfs.ntfs -Q /dev/sdb1 sudo mkfs.fat sudo mkfs.fat /dev/sdb2 sudo mkfs.ext2 sudo mkfs.ext2 /dev/sdb3 # Use this to mount /tmp/live1/ and /tmp/live2/: # (to "live-build-read-short") mkdir /tmp/pen1/ mkdir /tmp/pen2/ mkdir /tmp/pen3/ sudo mount /dev/sdb1 /tmp/pen1/ sudo mount /dev/sdb2 /tmp/pen2/ sudo mount /dev/sdb3 /tmp/pen3/ # (find-sh "mount") # (find-fline "/tmp/pen1/") # (find-fline "/tmp/pen2/") # (find-fline "/tmp/pen3/") sudo rm -Rfv /tmp/pen1/.* sudo rm -Rfv /tmp/pen1/* sudo rm -Rfv /tmp/pen2/* # (find-fline "/tmp/live1/") # (find-fline "/tmp/live2/") cd /tmp/live1/ && sudo cp -av .* * /tmp/pen1/ cd /tmp/live2/ && sudo cp -av * /tmp/pen2/ cd sudo umount /tmp/pen1/ sudo umount /tmp/pen2/ sudo umount /tmp/pen3/ sync # Use this to umount /tmp/live1/ and /tmp/live2/: # (to "live-build-read-short") ##### # # Testing an image with QEMU # 2018mai29 # ##### # «live-build-test-qemu» (to ".live-build-test-qemu") # (find-es "qemu" "pen-drive") # Status: sort of works using "-cdrom"; pretending that the image is a # pen drive doesn't work (yet). # 4.6.1 Testing an ISO image with QEMU: # file:///usr/share/doc/live-manual/html/live-manual/the-basics.en.html#218 # (find-es "qemu" "qemu-kvm") cd /home/live/ qemu-system-x86_64 -cdrom live-image-amd64.hybrid.iso ##### # # Building an "hdd" image instead of the default iso-hybrid # 2018mai19 # ##### # «live-build-hdd» (to ".live-build-hdd") # 4.7 Building and using an HDD image: # file:///usr/share/doc/live-manual/html/live-manual/the-basics.en.html#233 * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # sudo rm -Rfv /home/live/ # mkdire /home/live/ cd /home/live/ # sudo lb clean --binary sudo lb clean sudo lb config -b hdd \ --debian-installer-distribution stretch \ --distribution stretch \ --parent-distribution stretch \ --parent-debian-installer-distribution stretch cd /tmp/ wget -nc https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo cp -v google-chrome*.deb /home/live/config/packages.chroot/ cd /home/live/ sudo lb build |& tee build2.log # (find-fline "/home/live/build2.log") # (find-fline "/home/live/") # [2018-05-19 03:57:04] lb binary_disk # P: Begin installing disk information... # [2018-05-19 03:57:05] lb binary_loadlin # [2018-05-19 03:57:05] lb binary_win32-loader # [2018-05-19 03:57:05] lb binary_includes # P: Begin copying binary includes... # [2018-05-19 03:57:05] lb binary_hooks # P: Begin executing hooks... # [2018-05-19 03:57:05] lb binary_grub-efi # P: Begin preparing Grub based EFI support... # Reading package lists... # Building dependency tree... # Reading state information... # E: Unable to locate package shim-signed # E: Unable to locate package grub-efi-amd64-signed # W: UEFI Secure Boot disabled due to missing signed Grub/Shim. # W: Bootloader in this image type not yet supported by live-build. # W: This would produce a not bootable image, aborting (FIXME). # P: Begin unmounting filesystems... # P: Saving caches... # Reading package lists... # Building dependency tree... # Reading state information... # (find-fline "/usr/lib/live/build/binary_grub-efi") # (find-fline "/usr/lib/live/build/binary_grub-efi" "shim-signed") # (find-fline "/usr/lib/live/build/binary_grub-efi" "a not bootable image, aborting (FIXME)") ##### # # How live-build invokes xorriso # 2018mai19 # ##### # «live-build-xorriso» (to ".live-build-xorriso") # (find-es "cdrom" "xorriso") # (find-livebuildgrep "grep -niH -e xorriso *") # (find-fline "/home/live/config/binary" "LB_BOOTLOADERS") # (find-livebuildfile "binary_iso" "IMAGE=\"${LIVE_IMAGE_NAME}-") # (find-livebuildfile "binary_iso" "-e binary/boot/grub/efi.img") # (find-livebuildfile "binary_iso" "xorriso -as mkisofs ${XORRISO_OPTIONS} -o ${IMAGE} binary") # (find-fline "/home/live/binary/") # (find-sh "cd /home/live/binary/ && find .* * | sort") # (find-sh "cd /home/live/binary/ && du -ch") # (find-fline "/home/live/chroot/") # (find-sh "cd /home/live/chroot/ && sudo find * | sort") # (find-sh "cd /home/live/ && find .* * | sort") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) mkdir /tmp/hybridiso/ sudo mount -o loop,ro /home/live/live-image-amd64.hybrid.iso /tmp/hybridiso/ # (find-fline "/tmp/hybridiso/") # (find-fline "/tmp/hybridiso/.disk/mkisofs") # (find-fline "/tmp/hybridiso/.disk/mkisofs" "xorriso -as mkisofs") # (find-sh "cd /tmp/hybridiso/ && find .* * | sort") # (find-fline "/tmp/hybridiso/live/" "filesystem.squashfs") # (find-fline "/tmp/hybridiso/isolinux/") # (find-fline "/tmp/hybridiso/isolinux/splash.png") cp -v /tmp/hybridiso/.disk/mkisofs /tmp/ sudo umount /tmp/hybridiso/ ##### # # live-build # 2018mai15 # ##### # «live-build» (to ".live-build") # (find-es "isolinux") # (find-status "live-build") # (find-vldifile "live-build.list") # (find-udfile "live-build/") # (find-man "1 lb") # (find-man "1 lb_binary") # (find-man "1 lb_bootstrap") # (find-man "1 lb_build") # (find-man "1 lb_chroot") # (find-man "1 lb_clean") # (find-man "1 lb_config") # (find-man "1 lb_source") # (find-man "1 lb_testroot") # (find-man "7 live-build") # (find-fline "/usr/bin/lb") # (find-fline "/usr/bin/live-build") # (find-fline "/usr/lib/live/build/") # (find-fline "/usr/lib/live/build/binary_iso") # (find-status "live-image-lxde-desktop") # (find-vldifile "live-image-lxde-desktop.list") # (find-udfile "live-image-lxde-desktop/") # (find-status "live-image-rescue") # (find-vldifile "live-image-rescue.list") # (find-udfile "live-image-rescue/") # (find-status "live-image-standard") # (find-vldifile "live-image-standard.list") # (find-udfile "live-image-standard/") # (find-status "live-image-xfce-desktop") # (find-vldifile "live-image-xfce-desktop.list") # (find-udfile "live-image-xfce-desktop/") # (find-status "live-boot-doc") # (find-vldifile "live-boot-doc.list") # (find-udfile "live-boot-doc/") # (find-man "5 persistence.conf") # (find-man "7 live-boot") # (find-status "live-config-doc") # (find-vldifile "live-config-doc.list") # (find-udfile "live-config-doc/") # (find-man "7 live-config") # (find-udfile "live-config/examples/") # (find-status "live-debconfig-doc") # (find-vldifile "live-debconfig-doc.list") # (find-udfile "live-debconfig-doc/") # (find-man "7 live-debconfig") # (find-man "5 live-debconfig_hostname") # (find-man "1 live-debconfig-set-selections") # (find-man "1 live-debconfig-get-selections") # (find-status "live-image-lxde-desktop") # (find-vldifile "live-image-lxde-desktop.list") # (find-udfile "live-image-lxde-desktop/") # (find-fline "/usr/share/live/images/lxde-desktop/config/bootloaders/") # (find-fline "/usr/share/live/images/lxde-desktop/config/package-lists/") # (find-status "live-manual-html") # (find-vldifile "live-manual-html.list") # (find-udfile "live-manual-html/") # (find-fline "/usr/share/doc/live-manual/html/live-manual/") # file:///usr/share/doc/live-manual/html/live-manual/about-manual.en.html#7 # file:///usr/share/doc/live-manual/html/live-manual/examples.en.html # file:///usr/share/doc/live-manual/html/live-manual/installation.en.html#installing-live-build # (find-fline "/usr/share/live/images/") # (find-fline "/usr/share/live/images/lxde-desktop/") https://www.debian.org/devel/debian-live/ https://wiki.debian.org/DebianLive * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) mkdir /tmp/tutorial1/ cd /tmp/tutorial1/ lb config # (find-fline "/etc/live/build.conf") sudo lb build |& tee build.log # (find-fline "/tmp/tutorial1/") # (find-fline "/tmp/tutorial1/build.log") # (find-fline "/tmp/tutorial1/chroot/var/cache/apt/archives/") # (find-fline "/tmp/tutorial1/chroot/var/lib/apt/lists/") # (find-fline "/tmp/tutorial1/binary/live/") # (find-fline "/tmp/tutorial1/config/binary" "DISTRIBUTION") # (find-es "u" "every-boot") # emacs zsh lua5.1 git make lua-lpeg expect xpdf recode figlet # (find-fline "/tmp/tutorial1/config/package-lists/my.list.chroot") mkdir /tmp/tutorial1/ cd /tmp/tutorial1/ sudo lb clean |& tee clean.log sudo lb build |& tee build2.log # (find-fline "/tmp/tutorial1/build2.log") # (find-fline "/tmp/tutorial1/cache/packages.binary/" "emacs") # (find-es "u" "every-boot") # google-chrome-stable # (find-fline "/tmp/tutorial1/config/package-lists/my.list.chroot") mkdir /tmp/tutorial1/ cd /tmp/tutorial1/ sudo lb clean |& tee clean.log sudo lb build |& tee build3.log # (find-fline "/tmp/tutorial1/build3.log") # (find-fline "/tmp/tutorial1/build3.log" "Unable to locate package google-chrome-stable") # (find-fline "/tmp/tutorial1/cache/packages.binary/" "") # file:///usr/share/doc/live-manual/html/live-manual/customizing-package-installation.en.html#430 # (find-fline "/tmp/tutorial1/config/packages.chroot/") # (find-es "u" "every-boot") # (find-es "u" "every-boot" "chrome") cd /tmp/ wget -nc https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb cp -v google-chrome*.deb /tmp/tutorial1/config/packages.chroot/ sudo umount /tmp/tutorial1/chroot/dev/pts sudo umount /tmp/tutorial1/chroot/proc sudo umount /tmp/tutorial1/chroot/sys sudo rm -Rf /tmp/tutorial1/ mkdir /tmp/tutorial1/ cd /tmp/tutorial1/ # lb config --distribution buster lb config --distribution stretch # (find-fline "/tmp/tutorial1/config/") # (find-fline "/tmp/tutorial1/config/binary" "DISTRIBUTION") sudo lb clean |& tee clean.log sudo lb build |& tee build5.log mkdir /tmp/tutorial1/ cd /tmp/tutorial1/ sudo lb clean |& tee clean.log sudo lb build |& tee build4.log # (find-fline "/tmp/tutorial1/build4.log") lb config ##### # # Installing Google Chrome in debian-live # 2018mai15 # ##### # «debian-live-chrome» (to ".debian-live-chrome") # (find-es "debrepository" "debootstrap-2018") # https://askubuntu.com/questions/824818/how-can-i-install-chromium-browser-in-live-mode # file:///usr/share/doc/live-manual/html/live-manual/customizing-package-installation.en.html#430 # file:///usr/share/doc/live-manual/html/live-manual/customizing-package-installation.en.html#437 * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) sudo rm -Rfv /home/live/ mkdire /home/live/ cd /home/live/ sudo lb config sudo lb clean |& tee clean.log sudo lb build |& tee build1.log # 4.5.2 Copying an ISO hybrid image to a USB stick: # file:///usr/share/doc/live-manual/html/live-manual/the-basics.en.html#186 cd /home/live/ sudo time \ dd if=binary.hybrid.iso of=/dev/sdb sync # 4.6.1 Testing an ISO image with QEMU: # file:///usr/share/doc/live-manual/html/live-manual/the-basics.en.html#208 # (find-es "qemu" "qemu-kvm") cd /home/live/ qemu-system-x86_64 -cdrom binary.hybrid.iso sudo fdisk /dev/sdb sudo mke2fs /dev/sdb2 # (find-fline "/usr/lib/live/build/lb_binary_iso") sudo gparted /dev/sdb lb config --distribution buster sudo lb clean |& tee clean.log sudo lb build |& tee build1.log # E: Failed getting release file http://ftp.debian.org/debian/dists/belenos/Release # http://ftp.debian.org/debian/dists/ # http://ftp.debian.org/debian/dists/buster/ # (find-fline "/home/live/build2.log") # (find-fline "/home/live/cache/packages.binary/" "emacs") lb config ##### # # debian-live-stretch # 2018mai18 # ##### # «debian-live-stretch» (to ".debian-live-stretch") # (find-es "u" "every-boot") # emacs24 emacs24-el zsh lua5.1 git make lua-lpeg expect xpdf recode figlet # xinit fvwm # (find-fline "/home/live/config/package-lists/") # (find-asrootfile "/home/live/config/package-lists/my.list.chroot") sudo lb clean |& tee clean.log sudo lb build |& tee build2.log sudo lb build |& tee build3.log sudo lb build |& tee build4.log # (find-fline "/home/live/") # (find-sh "cd /home/live/ && sudo find * | sort") # (find-fline "/home/live/config/bootstrap" "LB_DISTRIBUTION") # (find-fline "/home/live/build1.log") # (find-fline "/home/live/build1.log" "that does not conform to ISO-9660") # (find-fline "/home/live/build3.log") # (find-fline "/home/live/" "binary.hybrid.iso") [2018-05-18 01:20:46] lb_chroot_linux-image --2018-05-18 01:20:47-- http://ftp.debian.org/debian//dists/stretch/Contents-amd64.gz Resolving ftp.debian.org (ftp.debian.org)... 2001:67c:2564:a119::148:12, 130.89.148.12 Connecting to ftp.debian.org (ftp.debian.org)|2001:67c:2564:a119::148:12|:80... connected. HTTP request sent, awaiting response... 404 Not Found ##### # # debian-live-make-ISO # 2018mai16 # ##### # «debian-live-make-ISO» (to ".debian-live-make-ISO") # file:///usr/share/doc/live-manual/html/live-manual/the-basics.en.html#171 ##### # # Debian-live IRC channel # 2018mai15 # ##### # «debian-live-irc» (to ".debian-live-irc") # «irc-channel» (to ".irc-channel") # https://www.debian.org/devel/debian-live/ # -> irc://irc.debian.org/debian-live # file:///usr/share/doc/live-manual/html/live-manual.en.html#103 # -> #debian-live channel on irc.debian.org (OFTC) # (erc-select :server "irc.debian.org" :port 6667) # (find-ebuffer "irc.debian.org:6667") # (find-ebuffer "#debian-live") # (find-eev "eev-rcirc.el") # (find-rcirc-buffer-2a "irc.debian.org" "#debian-live" nil "#debian-live") # (find-rcirc-buffer-3a "irc.debian.org" "#debian-live" nil "#debian-live") ##### # # debian-live-mailing-list # 2018mai15 # ##### # «debian-live-mailing-list» (to ".debian-live-mailing-list") # «mailing-list» (to ".mailing-list") # https://www.debian.org/devel/debian-live/ -> # https://lists.debian.org/debian-live/ # (find-es "debrepository" "debootstrap") # (find-es "debrepository" "debootstrap-2018") # (find-sh "locate ext4") http://blog.desdelinux.net/como-instalar-linux-en-un-usb-en-forma-persistente/ http://alexsleat.co.uk/2011/02/06/howto-mount-usb-persistent-casper-rw-file-in-linux/ http://www.doudoulinux.org/web/english/documentation-7/advanced-tools/article/data-persistence.html#types http://code.metager.de/source/xref/linux/stable/Documentation/filesystems/sharedsubtree.txt # (find-man "8 mount") # (find-man "8 mount" "The bind mounts") # (find-man "8 mount" "The shared subtrees operations") # (find-man "8 mount") Documentation/filesystems/sharedsubtree.txt # (find-sh "locate Documentation/filesystems/sharedsubtree.txt") file:///usr/share/doc/live-manual/html/live-manual.en.html#downloading-prebuilt-im file:///usr/share/doc/live-manual/html/live-manual.en.html#husing-hdd-image file:///usr/share/doc/live-manual/html/live-manual.en.html#hapt-pinning file:///usr/share/doc/live-manual/html/live-manual.en.html#hpersistence file:///usr/share/doc/live-manual/html/live-manual.en.html#using-usb-extra-space ages http://dwm.suckless.org/ # Local Variables: # coding: utf-8-unix # End: