#!/bin/bash dist exherbo chroot_dir /mnt/exherbo part sda 1 82 2048M part sda 2 83 + format /dev/sda1 swap format /dev/sda2 ext4 mountfs /dev/sda1 swap mountfs /dev/sda2 ext4 / noatime net eth0 dhcp stage_uri http://dev.exherbo.org/stages/exherbo-x86-current.tar.xz tree_type sync kernel_config_uri http://www.openchill.org/kconfig.2.6.30 kernel_sources vanilla-sources rootpw a bootloader grub keymap fr # en hostname exherbo skip install_repo_tree pre_setup_fstab(){ # rewrite install_repo_tree spawn_chroot "paludis --regenerate-installable-cache" || die "could not regenerate cache" spawn_chroot "paludis -i paludis" || die "could not update paludis" spawn_chroot "paludis --sync" || die "could not sync exheres tree" # often breaks, you might want to run/debug that after reboot # spawn_chroot "paludis -i everything --dl-reinstall if-use-changed --dl-upgrade always" || die "could not update stage" } post_setup_fstab() { spawn_chroot "paludis -i ${kernel_sources}" || die "could not paludis vanilla sources" spawn_chroot "eclectic kernel set 1" || die "could not symlink sources to /usr/src/linux" fetch "${kernel_config_uri}" "${chroot_dir}/usr/src/linux/.config" || die "could not fetch kernel config" spawn_chroot "cd /usr/src/linux && make oldconfig && make && make modules_install" || die "could not build the kernel" spawn_chroot "cp /usr/src/linux/arch/${arch}/boot/bzImage /boot/kernel-genkernel-${arch}-2.6" || die "could not copy the kernel" # configure_bootloader() expects a kernel name created by genkernel hence the name format # you could always rewrite configure_bootloader() to accept another kernel name format } skip build_kernel skip install_bootloader pre_configure_bootloader(){ spawn_chroot "paludis -i ${bootloader}" || die "could not install bootloader" } skip install_extra_packages post_configure_bootloader(){ for p in ${extra_packages} do spawn_chroot "paludis -i ${p}" || die "could not install extra packages" done }