February
We are using an Ubuntu Karmic unattended install with a preseeded d-i to install a standard Linux PC with some post-installation scripts to customize it.
It 'll install flawlessly on the HP6730b, but after installation, the laptop just won't boot.
GRUB won't even show up.
The thing just says: Non-system disk or disk error
.
It turns out that a single setting in the preseed file will fix this. We have to replace
d-i partman-auto/expert_recipe_file string /tmp/partman-recipe.txt
with
d-i partman-auto/choose_recipe select atomic
Apparently, our partman-auto
recipe is incompatible with GRUB, but the built-in atomic
recipe is not.
It is possible to extract the recipes from their udebs (no need for source packages here):
dpkg --extract partman-auto_73ubuntu7_amd64.udeb ./
dpkg --extract partman-auto_78ubuntu3_amd64.udeb ./
dpkg --extract partman-auto_84ubuntu4_amd64.udeb ./
dpkg --extract partman-auto_89ubuntu2_amd64.udeb ./
dpkg --extract partman-auto_89ubuntu3_amd64.udeb ./
Now the recipes are in ./lib/partman/recipes/
We can even re-replace
d-i partman-auto/choose_recipe select atomic
with
d-i partman-auto/expert_recipe_file string /tmp/partman-recipe.txt
if we copy one of the recipes into /tmp/partman-recipe.txt
.
It turns out that all work: atomic
, home
and multi
I have no idea yet why the standard recipes work and ours doesn't, so I include here the working recipe derived from multi
:
1 1 1 free $iflabel{ gpt } method{ biosgrub } . 256 1024 300% linux-swap $lvmok{ } method{ swap } label{ lwpswap } format{ } . 5120 10240 20480 $default_filesystem $lvmok{ } method{ format } format{ } use_filesystem{ } $default_filesystem{ } label{ lwproot } mountpoint{ / } . 1024 2048 4096 $default_filesystem $lvmok{ } method{ format } format{ } use_filesystem{ } $default_filesystem{ } label{ lwpvar } mountpoint{ /var } . 256 512 1024 $default_filesystem $lvmok{ } method{ format } format{ } use_filesystem{ } $default_filesystem{ } label{ lwptmp } mountpoint{ /tmp } . 1024 2048 -1 $default_filesystem $lvmok{ } method{ format } format{ } use_filesystem{ } $default_filesystem{ } label{ lwphome } mountpoint{ /home } .
... which gives the same disk layout as the the non-working homegrown recipe:
256 1024 2048 linux-swap method{ swap } label{ lwpswap } format{ } . 5120 10240 20480 ext3 $bootable{ } method{ format } format{ } use_filesystem{ } filesystem{ ext3 } label{ lwproot } mountpoint{ / } . 1024 2048 4096 ext3 method{ format } format{ } use_filesystem{ } filesystem{ ext3 } label{ lwpvar } mountpoint{ /var } . 256 512 1024 ext3 method{ format } format{ } use_filesystem{ } filesystem{ ext3 } label{ lwptmp } mountpoint{ /tmp } . 1024 2048 1000000000 ext3 method{ format } format{ } use_filesystem{ } filesystem{ ext3 } label{ lwphome } mountpoint{ /home } .
The one-sector biosgrub
is not the point, and making the root FS ext2
doesn't help either...