I would like to use Debian netinst (more specifically, kmuto's remaster of Lenny netinst) as the basis of a system recovery partition but I would very much like to automate to install process so that all I would have to do eventually is just boot it of a CD or USB and everything (the base system at least) would all be installed with no manual intervention.
Debians solution to this is called pre-seeding but I'm not having any luck configuring it. Before I go remastering the netinst CD I want to have a preseed file working that is loaded off USB at boot with a standard (kmuto) netinst CD. The idea is that I would install windows and then leave 20GB or so unused space on the drive which the Debian installer would auto-partition into one big / partition or one big / and a swap as big as the RAM if Debian insists on having a swap partition (which I think it does). This Debian install doesn't require any net access or access to the repos.
If anyone has successfully pre-seeded Debian netinst, please can you share your preseed config file and I'm also not entirely sure I'm passing the right arguments at boot to load the preseed file as I've read different examples of how it should be called.
Here's my preseed file as it stands (albeit with most of the comments removed so I could post it here), which I'm trying to load by appending:
To the kernel boot args on the Debian netinst with this preseed.cfg located in the root of my flash drive as a unix formatted text file. Debian loads the kernel but before it starts booting the kernel I just get this on my screen:
(process:1472): INFO: kdb-mode: setting console mode to Unicode (UTF-8)
I've heard that RH/Fedoras kickstart system is a lot easier for creating automated installers than debs preseeding system- anyone had experience with that? Is there stripped-down RH/Fed ala Deb netinst which I could use should I not get preseeding to work? I don't need xorg etc, just a shell, the basic disc tools + partimage.Code:d-i debian-installer/locale string GB # Keyboard selection. #d-i console-tools/archs select at d-i console-keymaps-at/keymap select uk # Example for a different keyboard architecture #d-i console-keymaps-usb/keymap select mac-usb-us ### Network configuration # netcfg will choose an interface that has link if possible. This makes it # skip displaying a list if there is more than one interface. d-i netcfg/choose_interface select auto # To pick a particular interface instead: #d-i netcfg/choose_interface select eth1 # 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 10 # If you prefer to configure the network manually, uncomment this line and # the static network configuration below. d-i netcfg/disable_dhcp boolean true # If you want the preconfiguration file to work on systems both with and # without a dhcp server, uncomment these lines and the static network # configuration below. d-i netcfg/dhcp_failed note d-i netcfg/dhcp_options select Configure network manually # Static network configuration. d-i netcfg/get_nameservers string 192.168.1.1 d-i netcfg/get_ipaddress string 192.168.1.42 d-i netcfg/get_netmask string 255.255.255.0 d-i netcfg/get_gateway string 192.168.1.1 d-i netcfg/confirm_static boolean true # 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 # Disable that annoying WEP key dialog. d-i netcfg/wireless_wep string # The wacky dhcp hostname that some ISPs use as a password of sorts. #d-i netcfg/dhcp_hostname string radish # 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 d-i mirror/country string manual d-i mirror/http/hostname string http.us.debian.org d-i mirror/http/directory string /debian d-i mirror/http/proxy string # Suite to install. #d-i mirror/suite string testing # Suite to use for loading installer components (optional). #d-i mirror/udeb/suite string testing ### 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 Europe/Brussels # Controls whether to use NTP to set the clock during the install d-i clock-setup/ntp boolean true # NTP server to use. The default is almost always fine here. #d-i clock-setup/ntp-server string ntp.example.com ### Partitioning # If the system has free space you can choose to only partition that space. d-i partman-auto/init_automatically_partition select biggest_free d-i partman-auto/method string regular d-i partman-lvm/device_remove_lvm boolean true # The same applies to pre-existing software RAID array: d-i partman-md/device_remove_md boolean true # And the same goes for the confirmation to write the lvm partitions. d-i partman-lvm/confirm boolean true d-i partman-auto/choose_recipe select atomic d-i partman/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true ### Base system installation # Select the initramfs generator used to generate the initrd for 2.6 kernels. d-i base-installer/kernel/linux/initramfs-generators string yaird # The kernel image (meta) package to be installed; "none" can be used if no # kernel is to be installed. d-i base-installer/kernel/image string linux-image-2.6-686 # Root password, either in clear text d-i passwd/root-password password password d-i passwd/root-password-again password password # or encrypted using an MD5 hash. #d-i passwd/root-password-crypted password [MD5 hash] # To create a normal user account. d-i passwd/user-fullname string Debian User d-i passwd/username string user # Normal user's password, either in clear text d-i passwd/user-password password password d-i passwd/user-password-again password password # or encrypted using an MD5 hash. #d-i passwd/user-password-crypted password [MD5 hash] # Create the first user with the specified UID instead of the default. #d-i passwd/user-uid string 1010 # The user account will be added to some standard initial groups. To # override that, use this. #d-i passwd/user-default-groups string audio cdrom video ### Apt setup # You can choose to install non-free and contrib software. #d-i apt-setup/non-free boolean true #d-i apt-setup/contrib boolean true # Uncomment this if you don't want to use a network mirror. d-i apt-setup/use_mirror boolean false # Select which update services to use; define the mirrors to be used. # Values shown below are the normal defaults. #d-i apt-setup/services-select multiselect security, volatile #d-i apt-setup/security_host string security.debian.org #d-i apt-setup/volatile_host string volatile.debian.org tasksel tasksel/first multiselect standard d-i grub-installer/with_other_os boolean true d-i finish-install/reboot_in_progress note
Last edited by danboid; 1st July 2009 at 07:30 PM.
I developed a completely automated Debian install system a while ago to setup video streaming clients (worked really well too, blank system to X+Firefox+mplayer plugin w/ connected video stream in 1 keypress). The preseed system works pretty well, allows alot of flexibility in configuration but can tricky.
It was a while ago, so I had to look it up, but I believe the argument to load the preseed file should be:You may also want to play with the debconf/priority to control which questions you get asked in the first place.Code:preseed/file=/hd-media/preseed.cfg
There are currently 1 users browsing this thread. (0 members and 1 guests)