I'm trying to setup a PXE server with Jessie. I've got the basic setup working by following the steps at https://wiki.debian.org/PXEBootInstall
That part was really easy. I would like to make the process as automated as possible and then add Win7/10 to the system as well.
The first hurdle I've come across is the fact that netboot downloads everything off the repositories. This has the potential to use up a lot of bandwidth and I would like to avoid this if possible. The first idea I came across was to create a local mirror, this way not only will I be installing everything off the LAN but I'll also be getting all the updates for my systems off the LAN too. I wasn't too keen on this. The other option that I read about was to use the debian ISOs instead.
What I have tried is to copy the Debian ISO to /var/www/html/debian
Then, when my boot via the pxe, i set the option to manually select a repository and then i type in the IP address for my webserver for the address and type in /debian for the mirror directory.
However it breaks at this point. I get a message saying "Downloading a file failed"
I would prefer the as much of the install to come from the ISO as possible to keep bandwidth usage to a minimum. If there's a better/easier way to this, I would really appreciate a pointer.
For Win10, I read that I have to use an AIK to build the Winpe and then boot that. Then I can load the Windows10 ISO via nfs through Winpe. If there's a guide to do this in Jessie, that would be great!
pxelinux.cfg/default
Code: Select all
root@DHCP:/srv/tftp# cat pxelinux.cfg/default
UI menu.c32
TITLE PXE Test Boot
LABEL Debian 8
kernel linux
append vga=normal preseed/url=http://192.168.0.254/debian/preseed.txt initrd=initrd.gz --
LABEL Windows 10
kernel ??
append ??
LABEL HardDrive Boot
Code: Select all
#### Contents of the preconfiguration file (for jessie)
### Localization
# Preseeding only locale sets language, country and locale.
d-i debian-installer/locale string en_US
# Keyboard selection.
d-i keyboard-configuration/xkb-keymap select us
### Network configuration
d-i netcfg/choose_interface select auto
# Any hostname and domain names assigned from dhcp take precedence over
# values set here. However, setting the values still prevents the questions
# from being shown, even if values come from dhcp.
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
### Mirror settings
# If you select ftp, the mirror/country string does not need to be set.
#d-i mirror/protocol string ftp
#d-i mirror/country string manual
#d-i mirror/http/hostname string 192.168.0.254
#d-i mirror/http/directory string /debian/
#d-i mirror/http/proxy string
### Account setup
# Root password, either in clear text
#d-i passwd/root-password password r00tme
#d-i passwd/root-password-again password r00tme
# or encrypted using a crypt(3) hash.
#d-i passwd/root-password-crypted password [crypt(3) hash]
# To create a normal user account.
d-i passwd/user-fullname string Debian User
d-i passwd/username string debian
### Clock and time zone setup
# Controls whether or not the hardware clock is set to UTC.
d-i clock-setup/utc boolean true
# You may set this to any valid setting for $TZ; see the contents of
# /usr/share/zoneinfo/ for valid values.
d-i time/zone string Canada/Mountain
### Partitioning
d-i partman-auto/init_automatically_partition select biggest_free
### Package selection
tasksel tasksel/first multiselect standard, mate-desktop
popularity-contest popularity-contest/participate boolean false
### Bootloader - Grub
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
# Avoid that last message about the install being complete.
d-i finish-install/reboot_in_progress note