commit 5dab0d088d55e5959998073a6f3dde0d9f771eac Author: Gardais Jeremy Date: Mon Sep 8 09:49:55 2014 +0200 First commit. diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..dc5956e --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,4 @@ + +2014-09-08 0.1.0 +Summary: +First commit. diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/chain.c32 b/chain.c32 new file mode 100644 index 0000000..a15cc0a Binary files /dev/null and b/chain.c32 differ diff --git a/config/clonezilla/menu.cfg b/config/clonezilla/menu.cfg new file mode 100644 index 0000000..2fc4f53 --- /dev/null +++ b/config/clonezilla/menu.cfg @@ -0,0 +1,16 @@ +label clonezilla64 + menu label Clonezilla Live ^64 bits + kernel installer/clonezilla/amd64/vmlinuz + # keyboard-layouts="fr" define the keymap + # locales="fr_FR.UTF-8" define the locale + # gl_batch: detect the display + APPEND initrd=installer/clonezilla/amd64/initrd.img boot=live config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" keyboard-layouts="fr" ocs_live_batch="no" locales="fr_FR.UTF-8" gl_batch nosplash noprompt fetch=tftp://129.20.27.239/installer/clonezilla/amd64/filesystem.squashfs +label clonezilla86 + menu label Clonezilla Live ^86 bits + kernel installer/clonezilla/i686/vmlinuz + APPEND initrd=installer/clonezilla/i686/initrd.img boot=live config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" keyboard-layouts="fr" ocs_live_batch="no" locales="fr_FR.UTF-8" gl_batch nosplash noprompt fetch=tftp://129.20.27.239/installer/clonezilla/i686/filesystem.squashfs +label separator + menu label ----- +label mainmenu + menu label ^Back.. + menu exit diff --git a/config/debian/menu.cfg b/config/debian/menu.cfg new file mode 100644 index 0000000..f6bbfd8 --- /dev/null +++ b/config/debian/menu.cfg @@ -0,0 +1,42 @@ +label install + menu label Debian GNU/Linux wheezy ^amd64 bits + kernel installer/debian/wheezy/amd64/linux + append vga=normal initrd=installer/debian/wheezy/amd64/initrd.gz -- quiet +label install + menu label Debian GNU/Linux wheezy ^i386 bits + kernel installer/debian/wheezy/i386/linux + append vga=normal initrd=installer/debian/wheezy/i386/initrd.gz -- quiet +label installFirmware + menu label Debian GNU/Linux Wheezy 64 bits WITH ^Firmwares + kernel installer/debian/wheezy/amd64/linux + append vga=normal initrd=installer/debian/wheezy/amd64/initrd_firm.gz -- quiet +label wheezy + menu label Debian GNU/Linux Wheezy 64 bits WITH ^PRESEED + kernel installer/debian/wheezy/amd64/linux + APPEND vga=normal initrd=installer/debian/wheezy/amd64/initrd_firm.gz auto=true interface=auto netcfg/dhcp_timeout=60 netcfg/choose_interface=auto priority=critical preseed/url=tftp://129.20.27.239/installer/debian/wheezy/amd64/preseed.cfg IPAPPEND 2 + +label separator + menu label --- +label install + menu label Debian GNU/Linux jessie ^amd64 bits + kernel installer/debian/jessie/amd64/linux + append vga=normal initrd=installer/debian/jessie/amd64/initrd.gz -- quiet +label install + menu label Debian GNU/Linux jessie ^i386 bits + kernel installer/debian/jessie/i386/linux + append vga=normal initrd=installer/debian/jessie/i386/initrd.gz -- quiet +label separator + menu label --- +label install + menu label Debian GNU/Linux sid ^amd64 bits + kernel installer/debian/sid/amd64/linux + append vga=normal initrd=installer/debian/sid/amd64/initrd.gz -- quiet +label install + menu label Debian GNU/Linux sid ^i386 bits + kernel installer/debian/sid/i386/linux + append vga=normal initrd=installer/debian/sid/i386/initrd.gz -- quiet +label separator + menu label --- +label mainmenu + menu label ^Back.. + menu exit diff --git a/config/diag/menu.cfg b/config/diag/menu.cfg new file mode 100644 index 0000000..569f267 --- /dev/null +++ b/config/diag/menu.cfg @@ -0,0 +1,21 @@ +label memtest + menu label ^Memory diagnostic tool (Memtest) + kernel installer/memtest/memtest86+ +label sysresccd + menu label ^Recovery CD (SysRescCD) + kernel installer/sysresccd/rescuecd + append scandelay=5 initrd=installer/sysresccd/initram.igz setkeymap=fr boottftp=tftp://129.20.27.239/installer/sysresccd/sysrcd.dat +label gparted64 + menu label ^Partiton Manager AMD64 (Gparted) + kernel installer/gparted/amd64/vmlinuz + # locale: fr, keymap: fr, résolution graphique: auto + append initrd=installer/gparted/amd64/initrd.img boot=live username=user locales=fr_FR.UTF-8 keyboard-layouts=fr config noswap noprompt gl_batch fetch=tftp://129.20.27.239/installer/gparted/amd64/filesystem.squashfs +label gparted86 + menu label ^Partiton Manager i486 (Gparted) + kernel installer/gparted/i486/vmlinuz + append initrd=installer/gparted/i486/initrd.img boot=live username=user locales=fr_FR.UTF-8 keyboard-layouts=fr config noswap noprompt gl_batch fetch=tftp://129.20.27.239/installer/gparted/i486/filesystem.squashfs +label separator + menu label ------ +label mainmenu + menu label ^Back .. + menu exit diff --git a/config/menu.cfg b/config/menu.cfg new file mode 100644 index 0000000..efd9731 --- /dev/null +++ b/config/menu.cfg @@ -0,0 +1,37 @@ +menu begin diagnostic + menu title ^Hardware diagnostic + include config/diag/menu.cfg +menu end + +label separator + menu label ----- + +menu begin debian + menu title ^Debian Install + include config/debian/menu.cfg +menu end + +menu begin ubuntu + menu title ^Ubuntu Install + include config/ubuntu/menu.cfg +menu end + +menu begin centos + menu title ^CentOS Install + include config/centos/menu.cfg +menu end + +menu begin clonezilla + menu title ^Clonezilla Live + include config/clonezilla/menu.cfg +menu end + +label separator + menu label ----- + +label bootlocal + menu label ^Boot from local disk + menu default + localboot 0 + timeout 40 + totaltimeout 1200 diff --git a/config/ubuntu/menu.cfg b/config/ubuntu/menu.cfg new file mode 100644 index 0000000..aafea80 --- /dev/null +++ b/config/ubuntu/menu.cfg @@ -0,0 +1,13 @@ +label install64 + menu label Ubuntu LTS GNU/Linux ^64 bits + kernel installer/ubuntu/lts/amd64/linux + append vga=normal initrd=installer/ubuntu/lts/i386/initrd.gz -- quiet +label install86 + menu label Ubuntu LTS GNU/Linux ^86 bits + kernel installer/ubuntu/lts/i386/linux + append vga=normal initrd=installer/ubuntu/lts/i386/initrd.gz -- quiet +label separator + menu label ----- +label mainmenu + menu label ^Back.. + menu exit diff --git a/gpxelinux.0 b/gpxelinux.0 new file mode 100644 index 0000000..ba43512 Binary files /dev/null and b/gpxelinux.0 differ diff --git a/menu.c32 b/menu.c32 new file mode 100644 index 0000000..348c6b8 Binary files /dev/null and b/menu.c32 differ diff --git a/preseed/debian/stable/preseed.cfg b/preseed/debian/stable/preseed.cfg new file mode 100644 index 0000000..f8d68ce --- /dev/null +++ b/preseed/debian/stable/preseed.cfg @@ -0,0 +1,346 @@ +#################################################################### +# Howto use +#################################################################### + +## With an PXE boot: +#label wheezy +# menu label Debian GNU/Linux Wheezy 64 bits WITH ^PRESEED +# kernel installer/debian/wheezy/amd64/linux +# APPEND vga=normal initrd=installer/debian/wheezy/amd64/initrd_firm.gz auto=true interface=auto netcfg/dhcp_timeout=60 netcfg/choose_interface=auto priority=critical preseed/url=tftp://129.20.27.239/installer/debian/wheezy/amd64/preseed.cfg IPAPPEND 2 + + + +#################################################################### +# Localization +#################################################################### + +#### Install Time +# Preseeding only locale sets language, country and locale. +#d-i debian-installer/locale string en_US + +# The values can also be preseeded individually for greater flexibility. +d-i debian-installer/language string en +d-i debian-installer/country string FR +d-i debian-installer/locale select en_US.UTF-8 +d-i debian-installer/fallbacklocale select en_US.UTF-8 +d-i debian-installer/keymap string fr-latin9 + +## Choose language +d-i localechooser/languagelist select en +## Choose keyboard configuration +d-i console-tools/archs string skip-config +d-i console-keymaps-at/keymap select fr-latin9 +d-i keyboard-configuration/xkb-keymap select French + + + +##################################################################### +## Network configuration +##################################################################### + +# To set a different link detection timeout (default is 3 seconds). +# Values are interpreted as seconds. +d-i netcfg/link_detection_timeout string 20 + +# If you have a slow dhcp server and the installer times out waiting for +# it, this might be useful. +d-i netcfg/dhcp_timeout string 60 +d-i netcfg/dhcpv6_timeout string 60 + +## Network Configuration +d-i netcfg/get_hostname string myhostname +d-i netcfg/get_domain string mydomain.fr + +# If non-free firmware is needed for the network or other hardware, you can +# configure the installer to always try to load it, without prompting. Or +# change to false to disable asking. +d-i hw-detect/load_firmware boolean true + + + +##################################################################### +## Mirror settings +##################################################################### + +## Mirror +d-i mirror/country string FR +d-i mirror/http/hostname string ftp.fr.debian.org +d-i mirror/http/directory string /debian/ +d-i mirror/http/proxy string +d-i mirror/http/mirror string ftp.fr.debian.org +d-i mirror/suite string + + + +##################################################################### +## Account +##################################################################### +# Allow login as root? +user-setup-udeb passwd/root-login boolean true +# Root password in clear text +d-i passwd/root-password password r00tme +d-i passwd/root-password-again password r00tme +# ... or encrypted with MD5 hash +#d-i passwd/root-password-crypted password $1t.ta/19E8.0À9..ats.sar.jaruiv138e + +# Create a normal user account now? +user-setup-udeb passwd/make-user boolean true +# User name +d-i passwd/user-fullname string bob +d-i passwd/username string bob +# User password in clear text +d-i passwd/user-password password insecure +d-i passwd/user-password-again password insecure +# ... or encrypted with MD5 hash +#d-i passwd/user-password-crypted password $1$098f6bcd4621d373cade4e832627b4f6 +# Set User UID +d-i passwd/user-uid string 1000 + + + +##################################################################### +## Clock and time zone setup +##################################################################### + +### Timezone +# Material clock on UTC +d-i clock-setup/utc boolean true +d-i time/zone string Europe/Paris +## Use NTP to set time +d-i clock-setup/ntp boolean true +d-i clock-setup/ntp-server string ntp.univ-rennes1.fr +#d-i clock-setup/ntp-server string 0.debian.pool.ntp.org + + + +##################################################################### +## Disk Partitioning/Boot loader +##################################################################### + +# If the system has only one disk the installer will default to using it. +# Otherwise, the device name must be given +d-i partman-auto/disk string /dev/sda + +d-i partman-auto/init_automatically_partition select custom + +# Specify the method to use +# - regular: use the usual partition types for the architecture +# - lvm: use LVM to partition the disk +# - crypto: use LVM within an encrypted partition +#d-i partman-auto/method string regular +d-i partman-auto/method string lvm + +# It's ok to have /boot in the LVM +d-i partman-auto-lvm/no_boot boolean false + +# Remove old LVM configuration +d-i partman-lvm/device_remove_lvm boolean true +d-i partman-lvm/device_remove_lvm_span boolean true +d-i partman-auto/purge_lvm_from_device boolean true +# Remove old RAID configuration +#d-i partman-md/device_remove_md boolean true +# Confirm to write the LVM partitions +d-i partman-lvm/confirm boolean true +d-i partman-lvm/confirm_nooverwrite boolean true + +# Choose one of the three predefined partitioning recipes: +# - atomic: all files in one partition +# - home: separate /home partition +# - multi: separate /home, /use, /var and /tmp partitions +#partman-auto partman-auto/choose_recipe select multi + +# Or provide own recipe +# Regular partition +# limit:: ## In MB ! +#d-i partman-auto/expert_recipe string \ + #boot-root :: \ + #40 50 100 ext3 \ + #$primary{ } $bootable{ } \ + #method{ format } format{ } \ + #use_filesystem{ } filesystem{ ext3 } \ + #mountpoint{ /boot } \ + #. \ + #500 10000 10000 ext4 \ + #method{ format } format{ } \ + #use_filesystem{ } filesystem{ ext4 } \ + #label{ root } \ + #mountpoint{ / } \ + #. \ + #64 512 300% linux-swap \ + #method{ swap } format{ } \ + #. + +# LVM partition +# The device for physical volume must be listed in partman-auto/disk +d-i partman-auto/expert_recipe string \ + boot-root :: \ + 200 200000 250 ext3 \ + $primary{ } $bootable{ } \ + method{ format } format{ } \ + use_filesystem{ } filesystem{ ext3 } \ + label{ boot } \ + mountpoint{ /boot } \ + . \ + 20000 100000 10000000000000000 ext4 \ + $defaultignore{ } \ + $primary{ } \ + method{ lvm } device{ /dev/sda } \ + vg_name{ sys } \ + . \ + 1000 8000 4000 ext4 \ + $lvmok{ } \ + in_vg{ sys } lv_name{ lv_root } \ + method{ format } format{ } \ + use_filesystem{ } filesystem{ ext4 } \ + label{ root } \ + mountpoint{ / } \ + . \ + 4000 7000 5000 ext4 \ + $lvmok{ } \ + in_vg{ sys } lv_name{ lv_usr } \ + method{ format } format{ } \ + use_filesystem{ } filesystem{ ext4 } \ + options/nodev{ nodev } \ + label{ usr } \ + mountpoint{ /usr } \ + . \ + 4000 6000 5000 ext4 \ + $lvmok{ } \ + in_vg{ sys } lv_name{ lv_var } \ + method{ format } format{ } \ + use_filesystem{ } filesystem{ ext4 } \ + options/nodev{ nodev } \ + label{ var } \ + mountpoint{ /var } \ + . \ + 1000 5000 2000 ext4 \ + $lvmok{ } \ + in_vg{ sys } lv_name{ lv_tmp } \ + method{ format } format{ } \ + use_filesystem{ } filesystem{ ext4 } \ + options/nodev{ nodev } \ + options/nosuid{ nosuid } \ + label{ tmp } \ + mountpoint{ /tmp } \ + . \ + 4000 4000 10000 ext4 \ + $lvmok{ } \ + in_vg{ sys } lv_name{ lv_home } \ + method{ format } format{ } \ + use_filesystem{ } filesystem{ ext4 } \ + options/nodev{ nodev } \ + label{ home } \ + mountpoint{ /home } \ + . \ + 2000 3000 5000 ext4 \ + $lvmok{ } \ + in_vg{ sys } lv_name{ lv_opt } \ + method{ format } format{ } \ + use_filesystem{ } filesystem{ ext4 } \ + label{ opt } \ + mountpoint{ /opt } \ + . \ + 512 1000 100% linux-swap \ + $lvmok{ } \ + in_vg{ sys } lv_name{ lv_swap } \ + method{ swap } format{ } \ + . \ + 100 100 100000000000 ext4 \ + $lvmok{ } \ + in_vg{ sys } lv_name{ lv_free } \ + method{ format } format{ } \ + use_filesystem{ } filesystem{ ext4 } \ + label{ free } \ + mountpoint{ /mnt/free } \ + . +## Need to put all free space in a temp logical volume/partition +# Otherwise it's the last partition which get all free space + +# Automatically partition without confirmation +d-i partman/confirm_write_new_label boolean true +d-i partman/choose_partition select Finish partitioning and write changes to disk +d-i partman/confirm boolean true +d-i partman/confirm_nooverwrite boolean true + + + +##################################################################### +## APT configuration // Package selection +##################################################################### + +## Post install APT setup +d-i apt-setup/uri_type select d-i +d-i apt-setup/hostname string ftp.fr.debian.org +d-i apt-setup/directory string /debian/ +d-i apt-setup/another boolean false +d-i apt-setup/security-updates boolean false +d-i apt-setup/non-free boolean true +d-i apt-setup/contrib boolean true + +# Additional repositories, local[0-9] available +d-i apt-setup/local0/repository string \ + http://apt.puppetlabs.com wheezy main dependencies +#d-i apt-setup/local0/comment string local server +# Enable deb-src lines +d-i apt-setup/local0/source boolean true +# URL to the public key of the local repository; you must provide a key or +# apt will complain about the unauthenticated repository and so the +# sources.list line will be left commented out +#d-i apt-setup/local0/key string http://local.server/key +d-i apt-setup/local0/key string http://apt.puppetlabs.com/pubkey.gpg + +# By default the installer requires that repositories be authenticated +# using a known gpg key. This setting can be used to disable that +# authentication. Warning: Insecure, not recommended. +#d-i debian-installer/allow_unauthenticated string true + + +## Choose packages +tasksel tasksel/first multiselect ssh-server standard + +# Participate to Popularity Contest (disable for an unconnected server) +d-i popularity-contest/participate boolean false + + + +##################################################################### +## Boot loader +##################################################################### +# Grub is the default boot loader (for x86). If you want lilo installed +# instead, uncomment this: +#d-i grub-installer/skip boolean true +# To also skip installing lilo, and install no bootloader, uncomment this +# too: +#d-i lilo-installer/skip boolean true + + +# This is fairly safe to set, it makes grub install automatically to the MBR +# if no other operating system is detected on the machine. +d-i grub-installer/only_debian boolean true + +# This one makes grub-installer install to the MBR if it also finds some other +# OS, which is less safe as it might not be able to boot that other OS. +d-i grub-installer/with_other_os boolean true + + + +##################################################################### +## Finishing up the installation +##################################################################### + +# Avoid that last message about the install being complete. +d-i finish-install/reboot_in_progress note +d-i prebaseconfig/reboot_in_progress note + +# This will prevent the installer from ejecting the CD during the reboot, +# which is useful in some situations. +d-i cdrom-detect/eject boolean false + +# This is how to make the installer shutdown when finished, but not +# reboot into the installed system. +#d-i debian-installer/exit/halt boolean true +# This will power off the machine instead of just halting it. +#d-i debian-installer/exit/poweroff boolean true + + + diff --git a/pxelinux.0 b/pxelinux.0 new file mode 100644 index 0000000..af7410f Binary files /dev/null and b/pxelinux.0 differ diff --git a/pxelinux.cfg/01-00-1e-4f-f1-ff-63 b/pxelinux.cfg/01-00-1e-4f-f1-ff-63 new file mode 100755 index 0000000..d758b01 --- /dev/null +++ b/pxelinux.cfg/01-00-1e-4f-f1-ff-63 @@ -0,0 +1,72 @@ +ui menu.c32 +menu title PXE-CHIMIE + +# Boot sur le disque local au bout de 10 secondes +prompt 0 +timeout 100 +ONTIMEOUT local-hdd + +LABEL local-hdd +MENU LABEL Boot local disk +KERNEL chain.c32 +APPEND hd0 + +LABEL reboot +MENU LABEL Reboot +KERNEL reboot.c32 + +LABEL ubuntu +MENU LABEL Ubuntu Precise 64bits installer +KERNEL ubuntu/precise/ubuntu-installer/amd64/boot-screens/vesamenu.c32 +APPEND ubuntu/precise/ubuntu-installer/amd64/boot-screens/menu.cfg + +#LABEL CentOS +# MENU LABEL CentOS 6 +# LINUX memdisk +# INITRD iso/CentOS-6.4-x86_64-netinstall.iso +# APPEND iso raw + +LABEL CentOS +MENU LABEL CentOS 6 x86_64 text installer +#KERNEL images/CentOS/6/x86_64/vmlinuz vnc vncpassword=tempVNCpwd headless text ip=dhcp ksdevice=eth0 method=http://mirror.in2p3.fr/linux/CentOS/6/os/x86_64 lang=en_US keymap=fr +KERNEL images/CentOS/6/x86_64/vmlinuz keymap=fr +APPEND initrd=images/CentOS/6/x86_64/initrd.img ksdevice=eth0 kssendmac ks=nfs:deploy.chimie.univ-rennes1.fr:/var/lib/tftpboot/images/CentOS/6/x86_64/ks.cfg headless vnc vncpassword=tempVNCpwd text +#APPEND initrd=images/CentOS/6/x86_64/initrd.img ramdisk_size=100000 ks=nfs:deploy.chimie.univ-rennes1.fr:/var/lib/tftpboot/images/CentOS/6/x86_64/ks.cfg text + +LABEL nec-firm-upd +MENU LABEL Nec Firmware Update CD +LINUX memdisk +INITRD fw/nec/BOOT_CD_NEC_v1.0.24.iso +APPEND iso raw +TEXT HELP + !!! WARNING : firmware update !!! +ENDTEXT + +LABEL freenas +MENU LABEL FreeNAS-9.1.1-RELEASE-x64 Install +LINUX memdisk +INITRD iso/FreeNAS-9.1.1-RELEASE-x64.iso +APPEND iso raw + +LABEL freenas +MENU LABEL FreeNAS Install +PXE freenas/boot/pxeboot + +LABEL clonezilla +MENU LABEL Clonezilla live i686 (Disk Imaging and Cloning) +KERNEL images/clonezilla/i686/vmlinuz +APPEND initrd=images/clonezilla/i686/initrd.img boot=live config noswap nolocales edd=on nomodeset noprompt usercrypted=SpXNs.adAr4po ocs_live_run="ocs-live-general" ocs_live_extra_param="" keyboard-layouts="fr" ocs_live_batch="no" locales="en_US.UTF-8" vga=788 nosplash noprompt fetch=tftp://129.20.80.239/images/clonezilla/i686/filesystem.squashfs + +# Boot the kernel and initramfs over PXE 32-bit. +LABEL pmagic32 +MENU LABEL PMagic 32bits +LINUX images/pmagic/bzImage +INITRD images/pmagic/initrd.img +APPEND edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256 + +# Boot the kernel and initramfs over PXE 64-bit. +LABEL pmagic64 +MENU LABEL PMagic 64bits +LINUX images/pmagic/bzImage64 +INITRD images/pmagic/initrd.img +APPEND edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256 diff --git a/pxelinux.cfg/01-00-e0-81-31-5f-e6 b/pxelinux.cfg/01-00-e0-81-31-5f-e6 new file mode 100755 index 0000000..d758b01 --- /dev/null +++ b/pxelinux.cfg/01-00-e0-81-31-5f-e6 @@ -0,0 +1,72 @@ +ui menu.c32 +menu title PXE-CHIMIE + +# Boot sur le disque local au bout de 10 secondes +prompt 0 +timeout 100 +ONTIMEOUT local-hdd + +LABEL local-hdd +MENU LABEL Boot local disk +KERNEL chain.c32 +APPEND hd0 + +LABEL reboot +MENU LABEL Reboot +KERNEL reboot.c32 + +LABEL ubuntu +MENU LABEL Ubuntu Precise 64bits installer +KERNEL ubuntu/precise/ubuntu-installer/amd64/boot-screens/vesamenu.c32 +APPEND ubuntu/precise/ubuntu-installer/amd64/boot-screens/menu.cfg + +#LABEL CentOS +# MENU LABEL CentOS 6 +# LINUX memdisk +# INITRD iso/CentOS-6.4-x86_64-netinstall.iso +# APPEND iso raw + +LABEL CentOS +MENU LABEL CentOS 6 x86_64 text installer +#KERNEL images/CentOS/6/x86_64/vmlinuz vnc vncpassword=tempVNCpwd headless text ip=dhcp ksdevice=eth0 method=http://mirror.in2p3.fr/linux/CentOS/6/os/x86_64 lang=en_US keymap=fr +KERNEL images/CentOS/6/x86_64/vmlinuz keymap=fr +APPEND initrd=images/CentOS/6/x86_64/initrd.img ksdevice=eth0 kssendmac ks=nfs:deploy.chimie.univ-rennes1.fr:/var/lib/tftpboot/images/CentOS/6/x86_64/ks.cfg headless vnc vncpassword=tempVNCpwd text +#APPEND initrd=images/CentOS/6/x86_64/initrd.img ramdisk_size=100000 ks=nfs:deploy.chimie.univ-rennes1.fr:/var/lib/tftpboot/images/CentOS/6/x86_64/ks.cfg text + +LABEL nec-firm-upd +MENU LABEL Nec Firmware Update CD +LINUX memdisk +INITRD fw/nec/BOOT_CD_NEC_v1.0.24.iso +APPEND iso raw +TEXT HELP + !!! WARNING : firmware update !!! +ENDTEXT + +LABEL freenas +MENU LABEL FreeNAS-9.1.1-RELEASE-x64 Install +LINUX memdisk +INITRD iso/FreeNAS-9.1.1-RELEASE-x64.iso +APPEND iso raw + +LABEL freenas +MENU LABEL FreeNAS Install +PXE freenas/boot/pxeboot + +LABEL clonezilla +MENU LABEL Clonezilla live i686 (Disk Imaging and Cloning) +KERNEL images/clonezilla/i686/vmlinuz +APPEND initrd=images/clonezilla/i686/initrd.img boot=live config noswap nolocales edd=on nomodeset noprompt usercrypted=SpXNs.adAr4po ocs_live_run="ocs-live-general" ocs_live_extra_param="" keyboard-layouts="fr" ocs_live_batch="no" locales="en_US.UTF-8" vga=788 nosplash noprompt fetch=tftp://129.20.80.239/images/clonezilla/i686/filesystem.squashfs + +# Boot the kernel and initramfs over PXE 32-bit. +LABEL pmagic32 +MENU LABEL PMagic 32bits +LINUX images/pmagic/bzImage +INITRD images/pmagic/initrd.img +APPEND edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256 + +# Boot the kernel and initramfs over PXE 64-bit. +LABEL pmagic64 +MENU LABEL PMagic 64bits +LINUX images/pmagic/bzImage64 +INITRD images/pmagic/initrd.img +APPEND edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256 diff --git a/pxelinux.cfg/01-00-e0-81-31-68-1c b/pxelinux.cfg/01-00-e0-81-31-68-1c new file mode 100755 index 0000000..d758b01 --- /dev/null +++ b/pxelinux.cfg/01-00-e0-81-31-68-1c @@ -0,0 +1,72 @@ +ui menu.c32 +menu title PXE-CHIMIE + +# Boot sur le disque local au bout de 10 secondes +prompt 0 +timeout 100 +ONTIMEOUT local-hdd + +LABEL local-hdd +MENU LABEL Boot local disk +KERNEL chain.c32 +APPEND hd0 + +LABEL reboot +MENU LABEL Reboot +KERNEL reboot.c32 + +LABEL ubuntu +MENU LABEL Ubuntu Precise 64bits installer +KERNEL ubuntu/precise/ubuntu-installer/amd64/boot-screens/vesamenu.c32 +APPEND ubuntu/precise/ubuntu-installer/amd64/boot-screens/menu.cfg + +#LABEL CentOS +# MENU LABEL CentOS 6 +# LINUX memdisk +# INITRD iso/CentOS-6.4-x86_64-netinstall.iso +# APPEND iso raw + +LABEL CentOS +MENU LABEL CentOS 6 x86_64 text installer +#KERNEL images/CentOS/6/x86_64/vmlinuz vnc vncpassword=tempVNCpwd headless text ip=dhcp ksdevice=eth0 method=http://mirror.in2p3.fr/linux/CentOS/6/os/x86_64 lang=en_US keymap=fr +KERNEL images/CentOS/6/x86_64/vmlinuz keymap=fr +APPEND initrd=images/CentOS/6/x86_64/initrd.img ksdevice=eth0 kssendmac ks=nfs:deploy.chimie.univ-rennes1.fr:/var/lib/tftpboot/images/CentOS/6/x86_64/ks.cfg headless vnc vncpassword=tempVNCpwd text +#APPEND initrd=images/CentOS/6/x86_64/initrd.img ramdisk_size=100000 ks=nfs:deploy.chimie.univ-rennes1.fr:/var/lib/tftpboot/images/CentOS/6/x86_64/ks.cfg text + +LABEL nec-firm-upd +MENU LABEL Nec Firmware Update CD +LINUX memdisk +INITRD fw/nec/BOOT_CD_NEC_v1.0.24.iso +APPEND iso raw +TEXT HELP + !!! WARNING : firmware update !!! +ENDTEXT + +LABEL freenas +MENU LABEL FreeNAS-9.1.1-RELEASE-x64 Install +LINUX memdisk +INITRD iso/FreeNAS-9.1.1-RELEASE-x64.iso +APPEND iso raw + +LABEL freenas +MENU LABEL FreeNAS Install +PXE freenas/boot/pxeboot + +LABEL clonezilla +MENU LABEL Clonezilla live i686 (Disk Imaging and Cloning) +KERNEL images/clonezilla/i686/vmlinuz +APPEND initrd=images/clonezilla/i686/initrd.img boot=live config noswap nolocales edd=on nomodeset noprompt usercrypted=SpXNs.adAr4po ocs_live_run="ocs-live-general" ocs_live_extra_param="" keyboard-layouts="fr" ocs_live_batch="no" locales="en_US.UTF-8" vga=788 nosplash noprompt fetch=tftp://129.20.80.239/images/clonezilla/i686/filesystem.squashfs + +# Boot the kernel and initramfs over PXE 32-bit. +LABEL pmagic32 +MENU LABEL PMagic 32bits +LINUX images/pmagic/bzImage +INITRD images/pmagic/initrd.img +APPEND edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256 + +# Boot the kernel and initramfs over PXE 64-bit. +LABEL pmagic64 +MENU LABEL PMagic 64bits +LINUX images/pmagic/bzImage64 +INITRD images/pmagic/initrd.img +APPEND edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256 diff --git a/pxelinux.cfg/default b/pxelinux.cfg/default new file mode 100644 index 0000000..7642cb4 --- /dev/null +++ b/pxelinux.cfg/default @@ -0,0 +1,34 @@ +default vesamenu.c32 + +menu title PXE +#menu background config/splash.png + +menu hshift 0 +menu vshift 7 +menu width 50 +menu margin 0 + +# Couleurs +menu color title * #FFFFFFFF * +menu color border * #00000000 #00000000 none +menu color sel * #ffffffff #76a1d0ff * +menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff * +menu color tabmsg * #ffffffff #00000000 * +menu color help 37;40 #ffdddd00 #00000000 none + +# Position des zones de texte +menu helpmsgrow 15 +menu cmdlinerow 16 +#menu timeoutrow 16 +menu tabmsgrow 14 +menu tabmsg Choisissez l'OS que vous souhaitez installer + +# Pas de prompt, ni timeout +prompt 0 +timeout 100 + +# Unactivate escape keyboard and disallow options +noescape 1 +allowoptions 0 + +include config/menu.cfg diff --git a/pxelinux.cfg/defaultOLD b/pxelinux.cfg/defaultOLD new file mode 100755 index 0000000..1a6e82e --- /dev/null +++ b/pxelinux.cfg/defaultOLD @@ -0,0 +1,77 @@ +ui menu.c32 +menu title PXE-CHIMIE + +# Boot sur le disque local au bout de 10 secondes +prompt 0 +timeout 100 +ONTIMEOUT local-hdd + +LABEL local-hdd +MENU LABEL Boot local disk +KERNEL chain.c32 +APPEND hd0 + +LABEL reboot +MENU LABEL Reboot +KERNEL reboot.c32 + +# D-I config version 2.0 +LABEL debian64 + MENU TITLE Debian Wheezy 64bits installer + include debian/wheezy/pxelinux.cfg + +LABEL ubuntu +MENU LABEL Ubuntu Precise 64bits installer +APPEND ubuntu/precise/ubuntu-installer/amd64/boot-screens/menu.cfg +KERNEL ubuntu/precise/ubuntu-installer/amd64/boot-screens/vesamenu.c32 + +#LABEL CentOS +# MENU LABEL CentOS 6 +# LINUX memdisk +# INITRD iso/CentOS-6.4-x86_64-netinstall.iso +# APPEND iso raw + +LABEL CentOS +MENU LABEL CentOS 6 x86_64 text installer +#KERNEL images/CentOS/6/x86_64/vmlinuz vnc vncpassword=tempVNCpwd headless text ip=dhcp ksdevice=eth0 method=http://mirror.in2p3.fr/linux/CentOS/6/os/x86_64 lang=en_US keymap=fr +KERNEL images/CentOS/6/x86_64/vmlinuz keymap=fr +APPEND initrd=images/CentOS/6/x86_64/initrd.img ksdevice=eth0 kssendmac ks=nfs:deploy.chimie.univ-rennes1.fr:/var/lib/tftpboot/images/CentOS/6/x86_64/ks.cfg headless vnc vncpassword=tempVNCpwd text +#APPEND initrd=images/CentOS/6/x86_64/initrd.img ramdisk_size=100000 ks=nfs:deploy.chimie.univ-rennes1.fr:/var/lib/tftpboot/images/CentOS/6/x86_64/ks.cfg text + +LABEL nec-firm-upd +MENU LABEL Nec Firmware Update CD +LINUX memdisk +INITRD fw/nec/BOOT_CD_NEC_v1.0.24.iso +APPEND iso raw +TEXT HELP + !!! WARNING : firmware update !!! +ENDTEXT + +LABEL freenas +MENU LABEL FreeNAS-9.1.1-RELEASE-x64 Install +LINUX memdisk +INITRD iso/FreeNAS-9.1.1-RELEASE-x64.iso +APPEND iso raw + +LABEL freenas +MENU LABEL FreeNAS Install +PXE freenas/boot/pxeboot + +LABEL clonezilla +MENU LABEL Clonezilla live i686 (Disk Imaging and Cloning) +KERNEL images/clonezilla/i686/vmlinuz +APPEND initrd=images/clonezilla/i686/initrd.img boot=live config noswap nolocales edd=on nomodeset noprompt usercrypted=SpXNs.adAr4po ocs_live_run="ocs-live-general" ocs_live_extra_param="" keyboard-layouts="fr" ocs_live_batch="no" locales="en_US.UTF-8" vga=788 nosplash noprompt fetch=tftp://129.20.80.239/images/clonezilla/i686/filesystem.squashfs + +# Boot the kernel and initramfs over PXE 32-bit. +LABEL pmagic32 +MENU LABEL PMagic 32bits +LINUX images/pmagic/bzImage +INITRD images/pmagic/initrd.img +APPEND edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256 + +# Boot the kernel and initramfs over PXE 64-bit. +LABEL pmagic64 +MENU LABEL PMagic 64bits +LINUX images/pmagic/bzImage64 +INITRD images/pmagic/initrd.img +APPEND edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256 diff --git a/reboot.c32 b/reboot.c32 new file mode 100644 index 0000000..c74d620 Binary files /dev/null and b/reboot.c32 differ diff --git a/scripts/download_debian.sh b/scripts/download_debian.sh new file mode 100755 index 0000000..fff3c96 --- /dev/null +++ b/scripts/download_debian.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +# This script do the following: +# Download Debian Stable +# Download Debian Testing +# Download Debian Unstable +# Make an PXE's config file (aka menu.cfg) + +TFTP_ROOT="/var/lib/tftpboot" + +# Config file +CONFIG_PXE="${TFTP_ROOT}/installer/debian/menu.cfg.example" +rm -f ${CONFIG_PXE} && touch ${CONFIG_PXE} + +for DISTRO in wheezy jessie sid; do # For ALL Debian's version + for ARCH in amd64 i386; do # For all classic architecture + # Config file + echo "label install" >> "${CONFIG_PXE}" + + # Create and go into directory + mkdir -p ${TFTP_ROOT}/installer/debian/${DISTRO}/${ARCH} + pushd ${TFTP_ROOT}/installer/debian/${DISTRO}/${ARCH} + + # Download files + wget http://ftp.fr.debian.org/debian/dists/${DISTRO}/main/installer-${ARCH}/current/images/netboot/debian-installer/${ARCH}/linux -O linux + wget http://ftp.fr.debian.org/debian/dists/${DISTRO}/main/installer-${ARCH}/current/images/netboot/debian-installer/${ARCH}/initrd.gz -O initrd.gz + popd + + # Config file + /bin/cat >> "${CONFIG_PXE}" << EOF + menu label Debian GNU/Linux ${DISTRO} ^${ARCH} bits + kernel installer/debian/${DISTRO}/${ARCH}/linux + append vga=normal initrd=installer/debian/${DISTRO}/${ARCH}/initrd.gz -- quiet +EOF + done + + # Config file + /bin/cat >> "${CONFIG_PXE}" << EOF +label separator + menu label --- +EOF +done + +# Config file +/bin/cat >> "${CONFIG_PXE}" << EOF +label mainmenu + menu label ^Back.. + menu exit +EOF + + diff --git a/scripts/download_ubuntu.sh b/scripts/download_ubuntu.sh new file mode 100755 index 0000000..8a923b7 --- /dev/null +++ b/scripts/download_ubuntu.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +# This script do the following: +# Download last Ubuntu LTS (14.04) +# Download Ubuntu 13.10 + +TFTP_ROOT="/var/lib/tftpboot" + +# last Long Term Support distribution name +LTS="trusty" + +for DISTRO in saucy ${LTS}; do + for ARCH in amd64 i386; do + mkdir -p ${TFTP_ROOT}/installer/ubuntu/${DISTRO}/${ARCH} + pushd ${TFTP_ROOT}/installer/ubuntu/${DISTRO}/${ARCH} + wget http://fr.archive.ubuntu.com/ubuntu/dists/${DISTRO}/main/installer-${ARCH}/current/images/netboot/ubuntu-installer/${ARCH}/linux -O linux + wget http://fr.archive.ubuntu.com/ubuntu/dists/${DISTRO}/main/installer-${ARCH}/current/images/netboot/ubuntu-installer/${ARCH}/initrd.gz -O initrd.gz + popd + done +done + +# Link the LTS distribution name to lts +unlink ${TFTP_ROOT}/installer/ubuntu/lts +ln -s ${LTS} ${TFTP_ROOT}/installer/ubuntu/lts +########################### diff --git a/scripts/make_debian_initrd_with_firmware.sh b/scripts/make_debian_initrd_with_firmware.sh new file mode 100755 index 0000000..05e254e --- /dev/null +++ b/scripts/make_debian_initrd_with_firmware.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# This script do the following: +# Download last Debian Initrd +# Download firmwares: +# bnx2 +# all non-free (for tigon) +# Extract all downloaded files +# Make a new initrd with the firmwares + +TEMP_DIR=$(mktemp -d) +pushd "${TEMP_DIR}" + +# Download and uncompress original initrd +wget http://ftp.fr.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz +mkdir "${TEMP_DIR}"/mkinitrd +pushd "${TEMP_DIR}"/mkinitrd/ +zcat ../initrd.gz | cpio -iv + +popd + + +# Download bnx2's firmware and uncompress it +wget http://ftp.fr.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-bnx2_0.41_all.deb +dpkg-deb -x firmware-bnx2_0.41_all.deb "${TEMP_DIR}"/mkinitrd + +# Download tigon(all non-free)'s firmware and uncompress it +wget http://ftp.fr.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-linux-nonfree_0.41_all.deb +dpkg-deb -x firmware-linux-nonfree_0.41_all.deb "${TEMP_DIR}"/mkinitrd + + +# Make a new initrd +mv initrd.gz initrd_orig.gz +pushd "${TEMP_DIR}"/mkinitrd/ +find . -print0 | cpio -0 -H newc -ov | gzip -c > ../initrd.gz +popd + +# Move it to PXE Debian installer +mv initrd.gz /var/lib/tftpboot/installer/debian/wheezy/amd64/initrd_firm.gz + +popd + +# Clean temp file +rm -rf "${TEMP_DIR}" diff --git a/vesamenu.c32 b/vesamenu.c32 new file mode 100644 index 0000000..c466582 Binary files /dev/null and b/vesamenu.c32 differ