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...