Skip to content

Instantly share code, notes, and snippets.

@gertcuykens
Last active June 6, 2020 17:17
Show Gist options
  • Save gertcuykens/5858590 to your computer and use it in GitHub Desktop.
Save gertcuykens/5858590 to your computer and use it in GitHub Desktop.
ramdisk
DEFAULT ramdisk
LABEL ramdisk
kernel /casper/vmlinuz
append boot=casper initrd=/casper/initrd.img
LABEL isotest
kernel /casper/vmlinuz
append boot=casper integrity-check initrd=/casper/initrd.img
LABEL memtest
kernel /install/memtest
append -
LABEL hd
localboot 0x80
append -
DISPLAY isolinux.txt
TIMEOUT 300
PROMPT 1
# prompt flag_val
# If flag_val is 0, display the "boot:" prompt
# only if the Shift or Alt key is pressed,
# or Caps Lock or Scroll lock is set (this is the default).
# If flag_val is 1, always display the "boot:" prompt.
# http://linux.die.net/man/1/syslinux syslinux manpage
splash.rle
Ubuntu Ramdisk
-> ramdisk
-> isotest
-> memtest
printf "\x18" > isolinux.txt
bmptoppm splash.bmp > splash.ppm
ppmtolss16 '#ffffff=7' < splash.ppm > splash.rle
(480px wide, 15 colours)
#!/bin/bash
sudo sh -c 'cd ubuntu && find . -type f -print0 | xargs -0 md5sum | grep -v "\./md5sum.txt" > md5sum.txt'
----------------------------------
sudo chroot chroot dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee image/casper/filesystem.manifest
sudo cp -v image/casper/filesystem.manifest image/casper/filesystem.manifest-desktop
REMOVE='ubiquity ubiquity-frontend-gtk ubiquity-frontend-kde casper lupin-casper live-initramfs user-setup discover1 xresprobe os-prober libdebian-installer4'
for i in $REMOVE
do
sudo sed -i "/${i}/d" image/casper/filesystem.manifest-desktop
done
------------------------------------
mkdir image/.disk
cd image/.disk
touch base_installable
echo "full_cd/single" > cd_type
echo "Ubuntu Remix" > info
echo "http//your-release-notes-url.com" > release_notes_url
cd ../..
--------------------------------------
image/README.diskdefines
#define DISKNAME Ubuntu Remix
#define TYPE binary
#define TYPEbinary 1
#define ARCH i386
#define ARCHi386 1
#define DISKNUM 1
#define DISKNUM1 1
#define TOTALNUM 0
#define TOTALNUM0 1
#!/bin/bash
sudo apt-get install debootstrap syslinux squashfs-tools
sudo debootstrap --arch=i386 saucy chroot
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i chroot/$i; done
sudo chroot chroot
export HOME=/root
export LC_ALL=C
vi /etc/apt/sources.lst
apt-get update
apt-get dist-upgrade
apt-get install vim openssh-server open-iscsi iscsitarget linux-generic casper
#mkinitramfs -o /new-initrd.gz ...-generic
#update-initramfs -u
apt-get clean
rm -r /tmp/*
exit
for i in /dev/pts /dev /proc /sys; do sudo umount chroot/$i; done
cp /usr/lib/syslinux/isolinux.bin ubuntu/isolinux
cp chroot/boot/memtest86+.bin ubuntu/install/memtest.bin
cp chroot/boot/initrd.img-*-generic ubuntu/casper/initrd.img
cp chroot/boot/vmlinuz-*-generic ubuntu/casper/vmlinuz
sudo cp bios/core/isolinux.bin ~/server/ubuntu/isolinux/
sudo cp bios/com32/lib/libcom32.c32 ~/server/ubuntu/isolinux/
sudo cp bios/com32/elflink/ldlinux/ldlinux.c32 ~/server/ubuntu/isolinux/
sudo cp bios/com32/modules/reboot.c32 ~/server/ubuntu/isolinux/
sudo cp bios/com32/modules/poweroff.c32 ~/server/ubuntu/isolinux/
sudo cp bios/com32/modules/elf.c32 ~/server/ubuntu/isolinux
sudo cp bios/core/ldlinux.sys ubuntu/isolinux/
sudo mksquashfs chroot ubuntu/casper/filesystem.squashfs -e boot
sudo mkisofs -r -V "Ubuntu" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ubuntu.iso ubuntu
sudo apt-get install qemu-kvm
sudo qemu -cdrom ubuntu.iso -boot d -m 384 -net nic,model=virtio
#!/bin/bash
apt-get install uuid-dev nasm gnu-efi
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.00.tar.gz
make
#!/bin/bash
dd if=/dev/zero of=loop bs=1 count=1 seek=200M
mkfs.ext2 -L rescue -m 0 loop
mkdosfs -F 16 -n rescue loop
sudo mount -o loop loop mnt
boot/extlinux/extlinux.conf
sudo extlinux --install boot/extlinux/
sudo umount mnt
syslinux loop
gzip -c loop > usb.gz
zcat usb.gz | sudo tee /dev/sdc1 > /dev/null
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment