From owner-freebsd-hackers@freebsd.org Fri Jan 15 15:00:53 2016 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 65970A84E07 for ; Fri, 15 Jan 2016 15:00:53 +0000 (UTC) (envelope-from kraduk@gmail.com) Received: from mail-wm0-x236.google.com (mail-wm0-x236.google.com [IPv6:2a00:1450:400c:c09::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 014791945; Fri, 15 Jan 2016 15:00:53 +0000 (UTC) (envelope-from kraduk@gmail.com) Received: by mail-wm0-x236.google.com with SMTP id u188so26505896wmu.1; Fri, 15 Jan 2016 07:00:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=q3R/PK4YT2acz5gXZ51SUBms9EbbELLjUv7dCgTR6tA=; b=hECUTZ2mv/oDPCz7ZzgFA50r/v+MUQScPala2kDU/tM/ILKLA2JDLIWdpHYI7MA0Pw l9xv7MPHMkEW8KhcsDNOP+WQp4eKAIYiJmPXLl227d5q50i1I+0nK3pwrkH37KwFnrQP WQaM9EVRC70L5hXg2viyW00ScY+ueSAE8s555Yq/e7lijV5pW/rWxPmaaG0RikejJNxR Z3RziiVj6KANZhVxSOOdUJLx0PQ+APp5akIFy+YUOTqtzLNx1KnknFNTA94ED6GC/bxf 9xkIu08Rw4xxoLgXlL8LzDbgGxcp7l0rupl8cBvP9KWLFI4jj+c9QqIbNjQkIhY6VCId enSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=q3R/PK4YT2acz5gXZ51SUBms9EbbELLjUv7dCgTR6tA=; b=iN09gu0t1klgp2Ktgcr8qfBlH6ToLam1BqfdMwRS3ltvwP1Ex8jGHHjIBPGlZy5OiS pZmbrnO4+trSny5MH6ZgMW9K4RPlJdh+RiysypQ6dUrb1WBGf3oIZsYxEVCkmg1m2/bD D73balKcNLy+H2wondQsBx2AWjqnQFNXkyA+WIfmSpCE/6aTpYbc6Mfy7sna9rQidFct kYGFZnfoABY5RNdqTg1zJV+zfm49Wn9t4cHskXzOsHk8cp2xOfZ4ALORePWE6eLxxiBm T8BXMZaOkjhgKZneOlg83JOQBvJedHNuzMb+Cq2WbjFeJRtnCTZvoUAMykEjsG8una2z yj7A== X-Gm-Message-State: AG10YORwVgxw2ExfwT4xrqRVZiHmv0gzc150nKg7U/dISQXereU7UpQjJ4GQGY5LRQGxUJM2gTuVHkhKVk6W4g== MIME-Version: 1.0 X-Received: by 10.28.125.20 with SMTP id y20mr3853614wmc.19.1452870051483; Fri, 15 Jan 2016 07:00:51 -0800 (PST) Received: by 10.28.55.132 with HTTP; Fri, 15 Jan 2016 07:00:51 -0800 (PST) In-Reply-To: <569906A1.8040700@multiplay.co.uk> References: <9418E44F-114E-4ABA-A32D-416297BCDA9F@metricspace.net> <56985C6A.6040209@multiplay.co.uk> <569900CD.2040003@metricspace.net> <569906A1.8040700@multiplay.co.uk> Date: Fri, 15 Jan 2016 15:00:51 +0000 Message-ID: Subject: Re: EFI/ZFS Update: successful tests, need more complex vdevs From: krad To: Steven Hartland Cc: Eric McCorkle , Renato Botelho , freebsd-hackers@freebsd.org, Gabor Radnai X-Mailman-Approved-At: Fri, 15 Jan 2016 15:15:18 +0000 Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jan 2016 15:00:53 -0000 It get even more awesome 8) On 15 January 2016 at 14:48, Steven Hartland wrote: > ZFS Boot Environments (BE) support was also wired up to Beastie last night > by Allan for those interested in that :) > > > On 15/01/2016 14:42, krad wrote: > > Thanks this is useful information. I did have a look at the way pc bsd was > using grub to boot rootonzfs systems, and they used the Kfreebsd options. > This looked kind of handy as you might have been able to specify the zfs > file system to boot off. This would be a real boost the boot environments > as you could easily choose which one to boot into, making upgrade recovery > far easier. > > Presumably the freebsd@ part in your setup refers to the zfs file system? > In which case you could have multiple menu entries with different file > systems specified, this is assuming the grub config is on the efi disk > though? > > I'm also curious how this would his work when the are multiple pools on > the same disk for some reason. > > > > On 15 January 2016 at 14:23, Eric McCorkle wrote: > >> On 01/15/16 06:51, Renato Botelho wrote: >> >>> On Jan 15, 2016, at 00:41, Steven Hartland < >>>> killing@multiplay.co.uk> wrote: >>>> >>>> Just wanted to let everyone know that I just finished committing these >>>> changes to the tree. >>>> >>>> Huge thanks to Eric's for his work on this, as well as everyone else >>>> who contributed. >>>> >>>> I've set the target for MFC of 2 weeks, so I hope to be able to get >>>> this into stable/10 before the 10.3 slush, so if you're interested in this >>>> change please test a head build > r294068 ASAP. >>>> >>> >>> Great work, thanks! >>> >>> Is there a way to move a installed ZFS system to EFI? >>> >>> >> (Refer to Steven's guide for the simple case where you can create an EFI >> partition) >> >> >> == Using GRUB == >> >> GRUB can be used with loader.efi on a ZFS system (I use this myself, as I >> have a Gentoo install in the same ZFS volume) >> >> Make sure you install GRUB with EFI support (the ports collection will >> handle this). The grub port comes with a script that auto-detects >> filesystems and sets up a grub.cfg in /boot/grub/. However, that script >> won't properly detect ZFS partitions, so you'll need to add it manually. >> The entry is simple. >> >> I have a zfs volume called "data", which has the freebsd system root on >> the filesystem data/freebsd. The GRUB entry then is: >> >> menuentry "FreeBSD" { >> search.fs_label data ZFS_PART >> chainloader ($ZFS_PART)/freebsd@/boot/loader.efi >> } >> >> The first line searches for the volume "data" and binds its device to the >> variable ZFS_PART. The second specifies that the chained bootloader is >> under the filesystem "freebsd" (the @ at the end of the name denotes a >> filesystem, not a path), with the path /boot/loader.efi >> >> >> == Disks without enough space to make the GPT or EFI partition == >> >> If you have a ZFS filesystem on an MBR disk, or on a GPT disk without >> enough space to create a workable EFI partition, you can use one of ZFS's >> lesser-known features: zfs send/recv. >> >> ZFS send and recv allow an entire filesystem to be serialized out to a >> stream, and then read back in. You can use this to dump the entire >> filesystem out to a removable storage or an NFS mount. Then, use an >> install disk or memstick and repartition your drive, using zfs recv to >> recreate the filesystem. >> >> >> == On a Mac == >> >> (Note: this is based on research that is several years old at this >> point. Also, I never actually field tested this myself.) >> >> Macs are wierd, due to their non-standard EFI. The Mac EFI >> implementation looks for an HFS+ partition, and loads the "blessed" file as >> the EFI bootloader (this is a special filesystem-level metadata unique to >> HFS+ filesystems). >> >> In order to do an EFI boot on a mac, you'd need some way of manufacturing >> an HFS+ partition containing only your bootloader, with that file being >> "blessed". The easiest way to do this would be to use a Mac OS install to >> create an empty HFS+ filesystem, add your boot loader, then use a shell >> command to "bless" it (this command exists, but I don't remember what it is >> offhand). It also wouldn't be too hard to write a tool to create an HFS+ >> image from a file (I have a half-written implementation of that lying >> around somewhere). >> >> Also note that Macs expect a 200MB EFI partition (which isn't actually >> used for anything), and I've heard reports of the firmware flaking out if >> it's not there. >> >> I believe there are also GRUB and rEFIt options for Mac, if you don't >> want to go to these lengths. >> >> _______________________________________________ >> freebsd-hackers@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers >> To unsubscribe, send any mail to " >> >> freebsd-hackers-unsubscribe@freebsd.org" >> > > >