Re: [Nix-dev] Fwd: Grub problem: external pointer tables not supported

2017-01-24 Thread Roger Qiu
A while back when I was trying to do the whole encrypted ZFS root, the info
on Grub seemed to show that it didn't support loading ZFS as a booting
device. So it needed a separate boot partition (which I setup as a
soft-raided ext4). Later I moved to using gummiboot and uefi however that
apparently didn't support soft raid, so I just manually cloned the fat32
boot partition which contained the gummiboot uefi application, kernel and
initramfs. The initramfs had a zfs driver so it could load zfs root at
stage 2 boot phase.

So grub has improved, and has zfs root support? That's great! However you
still need a fat32 partition for uefi support. I'm guessing this is still
where your grub code since uefi can't mount zfs or deal with luks.
On 24/01/2017 3:09 PM, "Tomasz Czyż"  wrote:

> Roger,
>
>
> I got it from my grub.cfg config file. It looks like that's how you access
> "root" zfs volume.
>
> If I have
>
> /
> /volume1
> /volume2
>
> in grub I could access it
>
> $disk/@/
> $disk/volume1/
> $disk/volume2/
>
> Looks like just a convention but didn't dive into it.
>
> btw, just to clarify my setup, currently I have /boot and /nix/store on
> the same zfs volume and works, looks like only one directory is affected by
> hardlinks/too many files issue.
>
> Thanks,
> Tom
>
> 2017-01-24 3:43 GMT+00:00 Roger Qiu :
>
>> Btw what is the `@` symbol mean in your `ls` examples? I've never seen
>> that. The grub rescue allows yo use `ls hd (0,1)/...` with no `@`.
>> On 24/01/2017 12:52 PM, "Tomasz Czyż"  wrote:
>>
>>> It looks like I hit some ZFS feature that it's not supported by grub
>>> module.
>>>
>>> How I found that?
>>> In grub, you can list files in zfs volumes by doing ``ls $drive/@/home``
>>> etc.
>>> I could list ``ls $drive/@/nix`` or ``ls $drive/@/nix/var`` but not ``ls
>>> $drive/@/nix/store`` where I kept the kernels.
>>>
>>> I found some explanations about lot's of files and lot's of hardlinks
>>> (nix store had at that time more than 130G and probably triggered the
>>> feature).
>>>
>>> nix-collect-garbage -d didn't help.
>>>
>>> I solved the problem by using boot.loader.grub.copyKernels = true;
>>>
>>> Kernels were copied to the same volume but to /boot where there is
>>> smaller number of files and worked perfectly.
>>>
>>>
>>> 2017-01-23 16:44 GMT+00:00 Tomasz Czyż :
>>>


 2017-01-23 16:15 GMT+00:00 Roger Qiu :

> Hey,
>
> Changing nixos generations won't affect the grub boot partition, that
> only changes which nixos kernel and initramfs image gets booted.
>
 Because all boot options are not working one of my guesses is that in
 new nix version, wrong config was generated when I did system update which
 broke all options.

> This looks like an error in the Grub partition. Maybe you recently
> updated it or changed it, or the partition got corrupted.
>
 It's possible, I tried to boot from USB, do ``nixos-install
 --no-root-passwd`` to reinstall the system, but I'm not sure how to force
 grub/uefi partition recreation/reinstalling, any idea? Should I just format
 it and will be recreated?

> This is why other operating systems tend to make their /boot
> read-only...
>
> If you can't get into the OS, then you can try booting off a USB, and
> then edit the boot partition. Or run the uefi terminal app (but this one
> never worked for me). If you had cloned/raided boot partitions you can try
> changing the uefi image to boot from in your uefi settings (access it like
> BIOS).
>
 I tried that, but I'm not sure what to change. I tried to reinstall
 grub on EFI partition but I'm not sure how to do that, is regular
 grub-install stuff way to go (I thought I had some issues with that and I
 tried nixos-install after that).

> Currently I have 2 uefi boot partitions cloned, but one failed so I've
> been booting off the other one.
>
 Nice one, I think I'll try to do something like that.

 Thanks Roger.

> Thanks,
> Roger
> On 23/01/2017 10:48 PM, "Tomasz Czyż" 
>


> masz.c...@gmail.com > wrote:
>
>> Hello,
>>
>> recently my grub said this to me after I restarted computer:
>>
>> Error: external pointer tables not supported
>> Error: you need to load the kernel first.
>>
>> Every option I select with nix (also past generations) shows me this
>> message.
>>
>> I updated the system to 17.03pre99792.c311871 on 2016-12-23 and
>> restarted it before multiple times (and worked). I don't remember if I 
>> did
>> other updates, but this is what's grub menu shows me.
>>
>> My disk layout is: EFI boot partition for grub, next partition is
>> encrypted luks volume and ZFS on top of it.
>>
>> This setup worked for me for 1.5 year now without any issue.
>>
>> Anybody is aware of any changes to grub/zfs recently or had same
>> issue?
>> Any su

[Nix-dev] Fwd: Grub problem: external pointer tables not supported

2017-01-23 Thread Tomasz Czyż
Roger,


I got it from my grub.cfg config file. It looks like that's how you access
"root" zfs volume.

If I have

/
/volume1
/volume2

in grub I could access it

$disk/@/
$disk/volume1/
$disk/volume2/

Looks like just a convention but didn't dive into it.

btw, just to clarify my setup, currently I have /boot and /nix/store on the
same zfs volume and works, looks like only one directory is affected by
hardlinks/too many files issue.

Thanks,
Tom

2017-01-24 3:43 GMT+00:00 Roger Qiu :

> Btw what is the `@` symbol mean in your `ls` examples? I've never seen
> that. The grub rescue allows yo use `ls hd (0,1)/...` with no `@`.
> On 24/01/2017 12:52 PM, "Tomasz Czyż"  wrote:
>
>> It looks like I hit some ZFS feature that it's not supported by grub
>> module.
>>
>> How I found that?
>> In grub, you can list files in zfs volumes by doing ``ls $drive/@/home``
>> etc.
>> I could list ``ls $drive/@/nix`` or ``ls $drive/@/nix/var`` but not ``ls
>> $drive/@/nix/store`` where I kept the kernels.
>>
>> I found some explanations about lot's of files and lot's of hardlinks
>> (nix store had at that time more than 130G and probably triggered the
>> feature).
>>
>> nix-collect-garbage -d didn't help.
>>
>> I solved the problem by using boot.loader.grub.copyKernels = true;
>>
>> Kernels were copied to the same volume but to /boot where there is
>> smaller number of files and worked perfectly.
>>
>>
>> 2017-01-23 16:44 GMT+00:00 Tomasz Czyż :
>>
>>>
>>>
>>> 2017-01-23 16:15 GMT+00:00 Roger Qiu :
>>>
 Hey,

 Changing nixos generations won't affect the grub boot partition, that
 only changes which nixos kernel and initramfs image gets booted.

>>> Because all boot options are not working one of my guesses is that in
>>> new nix version, wrong config was generated when I did system update which
>>> broke all options.
>>>
 This looks like an error in the Grub partition. Maybe you recently
 updated it or changed it, or the partition got corrupted.

>>> It's possible, I tried to boot from USB, do ``nixos-install
>>> --no-root-passwd`` to reinstall the system, but I'm not sure how to force
>>> grub/uefi partition recreation/reinstalling, any idea? Should I just format
>>> it and will be recreated?
>>>
 This is why other operating systems tend to make their /boot
 read-only...

 If you can't get into the OS, then you can try booting off a USB, and
 then edit the boot partition. Or run the uefi terminal app (but this one
 never worked for me). If you had cloned/raided boot partitions you can try
 changing the uefi image to boot from in your uefi settings (access it like
 BIOS).

>>> I tried that, but I'm not sure what to change. I tried to reinstall grub
>>> on EFI partition but I'm not sure how to do that, is regular grub-install
>>> stuff way to go (I thought I had some issues with that and I tried
>>> nixos-install after that).
>>>
 Currently I have 2 uefi boot partitions cloned, but one failed so I've
 been booting off the other one.

>>> Nice one, I think I'll try to do something like that.
>>>
>>> Thanks Roger.
>>>
 Thanks,
 Roger
 On 23/01/2017 10:48 PM, "Tomasz Czyż" 

>>>
>>>
 masz.c...@gmail.com > wrote:

> Hello,
>
> recently my grub said this to me after I restarted computer:
>
> Error: external pointer tables not supported
> Error: you need to load the kernel first.
>
> Every option I select with nix (also past generations) shows me this
> message.
>
> I updated the system to 17.03pre99792.c311871 on 2016-12-23 and
> restarted it before multiple times (and worked). I don't remember if I did
> other updates, but this is what's grub menu shows me.
>
> My disk layout is: EFI boot partition for grub, next partition is
> encrypted luks volume and ZFS on top of it.
>
> This setup worked for me for 1.5 year now without any issue.
>
> Anybody is aware of any changes to grub/zfs recently or had same issue?
> Any suggestions how I can recover from it or what can be wrong?
>
> Tom
>
>
>
> ___
> nix-dev mailing list
> nix-dev@lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>
>
>>>
>>>
>>> --
>>> Tomasz Czyż
>>>
>>
>>
>>
>> --
>> Tomasz Czyż
>>
>> ___
>> nix-dev mailing list
>> nix-dev@lists.science.uu.nl
>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>>
>>


-- 
Tomasz Czyż



-- 
Tomasz Czyż
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev