]> git.donarmstrong.com Git - neurodebian.git/commitdiff
trying to find matching preseeding for keyboard + ship initial_setup from wheezy...
authorYaroslav Halchenko <debian@onerussian.com>
Thu, 19 Jul 2012 22:16:15 +0000 (18:16 -0400)
committerYaroslav Halchenko <debian@onerussian.com>
Thu, 19 Jul 2012 22:16:15 +0000 (18:16 -0400)
vm/d-i/wheezy/initial_setup [new file with mode: 0755]
vm/d-i/wheezy/preseed.cfg
vm/tools/nd_createappliance

diff --git a/vm/d-i/wheezy/initial_setup b/vm/d-i/wheezy/initial_setup
new file mode 100755 (executable)
index 0000000..6c2e5af
--- /dev/null
@@ -0,0 +1,157 @@
+#!/bin/bash
+
+# play safe
+set -e
+set -u
+
+# Standard Debian install
+
+# prepare on hydra and use debproxy for speed
+
+# have dedicated hard-drives for swap and home
+
+# expert install
+
+# hostname: neurodebian
+# domain: ''
+
+# Needs to be assured since it got reset to debian
+hostname neurodebian  # this is not a permanent change
+echo "neurodebian" >| /etc/hostname  # make it permanent
+sed -i -e 's/^127\.0\.1\.1.*/127.0.1.1\tneurodebian/g' /etc/hosts
+
+# all file in one partition
+
+# root: not there
+# user: brain
+# pwd: neurodebian
+
+
+# Do a minimal install
+# --------------------
+
+# All files in one partition/
+# just base system, run selection, but no tasks (not even 'Standard system')
+
+# set root password to 'neurodebian' too
+#echo "Set root passwd:"
+#passwd root
+
+apt-get install --no-install-recommends -y etckeeper
+
+# setup etckeeper
+git config --global user.name NeuroDebian
+git config --global user.email nd@localhost
+
+# install new stuff
+# -----------------
+
+# Add sources.list for backports and neurodebian
+wget -O /etc/apt/sources.list.d/neuro.debian.net.list http://neuro.debian.net/lists/squeeze.us-nh
+
+echo "deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free" > /etc/apt/sources.list.d/backports.debian.org.list
+cat << EOT > /etc/apt/preferences.d/backports.debian.org.pref
+Package: *
+Pin: release a=squeeze-backports
+Pin-Priority: 200
+EOT
+
+apt-get update -y
+# Backports' Release files signed with both ftpmaster and old backports keys
+# That causes APT to spit out a warning, but to not confuse users, lets simply
+# obtain that key if possible
+gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16BA136C && \
+        gpg --export 16BA136C | apt-key add - || :
+
+apt-get install -y --allow-unauthenticated neurodebian-keyring
+apt-get update -y
+
+# to cheat the VM check
+touch /dev/vboxguest
+
+# Assure that corresponding linux headers are installed since otherwise they
+# might not be.  There is also a dichotomy between target 686 and installer
+# using 486 build of the kernel.  It requires manual build/installation
+# of guest additions for 686 at this point. Hence all the ugly logic below
+cunamer=`uname -r`
+cdarch=${cunamer##*-}
+# We carry 686 only
+[ $cdarch = '486' ] && darch='686' || darch=$cdarch
+apt-get install -y linux-headers-2.6-$cdarch
+
+# Forcefully install guest additions from backports so we are
+# compatible with VirtualBox 4.x series
+apt-get install -y -t squeeze-backports virtualbox-ose-guest-dkms \
+       virtualbox-ose-guest-utils  virtualbox-ose-guest-x11 \
+       >| /var/log/initial_setup-dkms.log 2>&1
+
+# to get all the rest stuff in recommends
+apt-get install -y dkms neurodebian-guest-additions
+
+if [ "$darch" != "$cdarch" ] ; then
+    # Because DKMS builds for currently running kernel, which during
+    # installation might be a more generic 486, lets force building for 686
+       # and also install necessary headers (will be purged later on anyways)
+       apt-get install -y linux-headers-2.6-$darch
+
+       unamer=${cunamer//$cdarch/$darch}
+       # First collect information about installed vb additions
+       vbg=( `dkms status | grep virtualbox | head -n 1 | tr ',' ' '` )
+       echo "I: forcing build and install of guest additions for 686"
+       dkms build -m ${vbg[0]} -v ${vbg[1]} -a i686 -k $unamer \
+               >| /var/log/initial_setup-dkms-686-build.log 2>&1
+       dkms install -m ${vbg[0]} -v ${vbg[1]} -a i686 -k $unamer \
+               >| /var/log/initial_setup-dkms-686-install.log 2>&1
+fi
+
+# Add brain use into vboxsf group so he gets access to shared folders
+# by default
+adduser brain vboxsf
+
+# assure at the end that we got right modules build in the right location
+find /lib/modules/*$darch -iname vboxsf.ko | grep -q .
+
+apt-get install --no-install-recommends -y \
+ gnome-core mc evince bash-completion ntpdate file-roller gnome-utils \
+ gnome-themes eog vim reportbug \
+ software-center gdebi gedit-plugins gnome-media synaptic menu less libxp6
+
+# Clean-up installed development files which got pulled in for
+# VM guest additions (to build kernel modules via DKMS)
+apt-get purge -y libc6-dev
+dpkg -l | awk '/^ii.*[ \t]linux-headers/{print $2;}' | xargs -r apt-get purge -y
+
+# Gnome optional pulled by gnome-core:
+apt-get purge -y gnome-core evolution-common evolution libevolution
+
+# And utter cleanup
+apt-get -y autoremove
+
+# intermediate cleanup to prevent virtual harddrive from fragmenting too much
+find /var/cache/apt/archives/ -name '*.deb' -delete
+
+# cleanup unwanted stuff
+# video drivers (all but vesa)
+apt-get purge -y $(apt-cache search --names-only --installed xserver-xorg-video | grep xserver-xorg-video | cut -d ' ' -f 1,1) xserver-xorg-video-vesa+
+apt-get purge -y brasero
+
+# and whatever is obsolete
+apt-get autoremove --purge -y
+
+# custom config
+# use NeuroDebian website as default homepage
+sed -i -e 's,http://www.debian.org,http://neuro.debian.net,g' /etc/chromium-browser/master_preferences
+
+# reduce grub timeout to speed up boot of VM
+sed -i -e 's/GRUB_TIMEOUT=5/GRUB_TIMEOUT=1/g' /etc/default/grub
+update-grub
+
+# finally configure geomirror for APT and disable deb-src lists
+sed -i -e "s/10.0.0.1:9999/$(dpkg --print-architecture)-geomirror.debian.net/" \
+    -e "s/^deb-src/#deb-src/" /etc/apt/sources.list
+
+etckeeper commit "Initial VM setup done"
+
+# Create a link to automatically mounted Shared folder
+# Created by the Welcome Wizard
+#sudo -u brain ln -s /mnt/host /home/brain/
index 6419cbcd8dfe24db30fa65a7b9857bf80cca5b7a..4b785664fa24a2d4785fb35b609d80f170fc8b07 100644 (file)
@@ -8,7 +8,8 @@ d-i debian-installer/locale string en_US
 
 # Keyboard selection.
 #d-i console-tools/archs select at
-d-i console-keymaps-at/keymap select us
+#d-i console-setup-pc-ekmap/keymap select us
+d-i countrychooser/country-name select United States
 # Example for a different keyboard architecture
 #d-i console-keymaps-usb/keymap select mac-usb-us
 
@@ -75,7 +76,7 @@ d-i mirror/http/directory string /debian
 #d-i mirror/http/proxy string
 
 # Suite to install.
-d-i mirror/suite string squeeze
+d-i mirror/suite string wheezy
 # Suite to use for loading installer components (optional).
 #d-i mirror/udeb/suite string testing
 
@@ -323,7 +324,7 @@ d-i debian-installer/exit/poweroff boolean true
 # packages and run commands in the target system.
 #d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh
 #d-i preseed/late_command string wget -O/target/tmp/initial_setup http://git.debian.org/?p=pkg-exppsy/neurodebian.git;a=blob_plain;f=vm/d-i/tools/initial_setup;hb=HEAD; \
-d-i preseed/late_command string wget -O/target/tmp/initial_setup http://head1.hydra.dartmouth.edu/d-i/tools/initial_setup ; \
+d-i preseed/late_command string wget -O/target/tmp/initial_setup http://head1.hydra.dartmouth.edu/d-i/wheezy/initial_setup ; \
         in-target /bin/bash /tmp/initial_setup
 
 # XXX here get/call nd_setupguestos ?
index 6a4539bb962f96136efc042e0730ac1e5f27de07..b5bdb0853880f2f3aa21603c7caa64610f78614e 100755 (executable)
@@ -6,14 +6,15 @@ set -eu
 
 # TODO: arguments later on to become cmdline args
 #iso=debian-squeeze-di-beta1-amd64-businesscard.iso
-iso=debian-6.0.3-${ARCH:=amd64}-businesscard.iso
+#iso=debian-6.0.3-${ARCH:=amd64}-businesscard.iso
+iso=debian-wheezy-DI-a1-${ARCH:=amd64}-businesscard.iso
 di_cd=$(readlink -f $PWD/../../../neurodebian-images/$iso)
 di_host=head1.hydra.dartmouth.edu               # where to look for di preseed
 
 build_dir=$PWD/build
 dist_dir=$PWD/dist
 vendor="NeuroDebian"
-vm_version="6.0.5"
+vm_version="6.999.20120716"
 vm_ostype=Debian
 vendor_url="http://neuro.debian.net"
 product_url="${vendor_url}/vm.html"