Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # ~/bin/40_mk_custom_cfg, copy to /etc/grub.d/40_mk_custom_cfg for booting iso's
- emit_ubuntu_iso_menuentry() {
- cat << EOF | tr -d '\' 2>/dev/null
- menuentry \'${1/.iso/} $2\'\{
- insmod part_msdos part_gpt fat iso9660 ext2 gzio lzopio loopback
- insmod search_fs_uuid search_fs_file search_label
- search -u $2 -s root
- set isofile=$1
- loopback loop \$\{isofile\}
- set root=loop
- linux /casper/vmlinuz.efi boot=casper iso-scan/filename=\$\{isofile\} initrd=/casper/initrd.lz
- initrd /casper/initrd.lz
- \}
- EOF
- }
- emit_kali_iso_menuentry() {
- cat << EOF | tr -d '\' 2>/dev/null
- menuentry \'${1/.iso/} $2\' \{
- insmod part_msdos part_gpt fat iso9660 ext2 gzio lzopio loopback
- insmod search_fs_uuid search_fs_file search_label
- search -u $2 -s root
- set isofile=$1
- loopback loop \$\{isofile\}
- set root=loop
- linux (loop)/live/vmlinuz boot=live findiso=\$\{isofile\} noconfig=sudo username=root hostname=kali
- initrd (loop)/live/initrd.img
- \}
- EOF
- }
- for d in `mount -t ext2,ext3,ext4 | cut -d' ' -f1,3 | tr ' ' '='`
- do b="${d/*=/}"
- b=${b}/boot
- b=${b//\/\///} ; d=${d/=*/}
- u=`lsblk -P -o UUID $d`
- u=${u/UUID=/}
- u=${u//\"/}
- if [ -d $b ]
- then sudo rm /tmp/stub 2>/dev/null
- for iso in $b/iso/*.iso
- do if [ -f $iso ]
- then #echo drive $d uuid $u bootdir $b iso $iso
- if [[ $iso =~ kali ]]
- then emit_kali_iso_menuentry $iso $u >> /tmp/stub
- elif [[ $iso =~ amd64 ]] || [[ $iso =~ rippa ]]
- then emit_ubuntu_iso_menuentry $iso $u >> /tmp/stub
- fi
- fi
- done
- if [ -s /tmp/stub ]
- then sudo mkdir -p $b/grub
- sudo mv /tmp/stub $b/grub/custom.cfg
- sudo rm /tmp/stub 2>/dev/null
- fi
- fi
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement