From owner-freebsd-current@freebsd.org Sun Jan 31 13:58:07 2016 Return-Path: Delivered-To: freebsd-current@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 D14C7A7341F for ; Sun, 31 Jan 2016 13:58:07 +0000 (UTC) (envelope-from killing@multiplay.co.uk) Received: from mail-wm0-x22e.google.com (mail-wm0-x22e.google.com [IPv6:2a00:1450:400c:c09::22e]) (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 65DE9FB3 for ; Sun, 31 Jan 2016 13:58:07 +0000 (UTC) (envelope-from killing@multiplay.co.uk) Received: by mail-wm0-x22e.google.com with SMTP id l66so37262556wml.0 for ; Sun, 31 Jan 2016 05:58:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=multiplay-co-uk.20150623.gappssmtp.com; s=20150623; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-type; bh=Z76WF09VnqPnpBfy4dEr/z3ZOOg7hpPXO6Jj7daZeQM=; b=xDXB/RS51mtjdwSmVxuX3ua2xcoHiDmV53Yw/VBan1wbGuE31Xbov20fZOoWzFsalq KRaa+jLqIr85HcB83u18dokkPoympQJL7A9a+dLTfoOrau+cASXU4WjjE/9MtoqYxWIS Cf8DFEm8hmbA9m9H1X8aT8RLZTxEvk33Ec2CjAPOMfQD3qufa9W30dU2BuDjFsFeBl27 Jwn9FHhTpEUmL02p2zJUN+hb+XE4JYtXgZvMYG83gqQ1KdteB3i8Wtxugdw3NlUH1t+l Gtxk0F9y7HD8F6fuDfDw1g7EEjAD6v4kaZulgCUG1eFPQyPMe3bydBolAsQuUb2giOp+ l8bQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-type; bh=Z76WF09VnqPnpBfy4dEr/z3ZOOg7hpPXO6Jj7daZeQM=; b=Lvd9Bp1TM0rfQONoFaO+4Yp94apirwq65fRlbZ4UOhnn49imIFx0WbnACSw3u/Ywol K3SFU2t8vHS5GMSc9rPges2gDJepMxCBBvnpfwID/CtIEoqGGzyG7wvgyrLaTuh85eIm X7MDceauREP7LxUumYNAaKbpnx7RksbXIomq9sLLb7q0Lk55aje/fuQkNfyfB/OkAZ2U UfgkDtGgrYS5IoTEhNPcZIM3bk2cNA08DzoBuLavWzSzYctdV6yzhtrFrlbNXL6znU3Q 2UGLgwtrDZxTVLrt8gwQHm5jDej+clZkKhWrD7ARX+PeDtQRhpk5Dab/JE66b8AbkYBN U4DA== X-Gm-Message-State: AG10YOTZPiJ80HF5uEdMp01aySlAqQ3T86TGXmujlO3//2BZqMln3Im5R7UbmtnjgMigY9/j X-Received: by 10.194.113.102 with SMTP id ix6mr19988556wjb.143.1454248685725; Sun, 31 Jan 2016 05:58:05 -0800 (PST) Received: from [10.10.1.58] (liv3d.labs.multiplay.co.uk. [82.69.141.171]) by smtp.gmail.com with ESMTPSA id e77sm6893201wma.18.2016.01.31.05.58.03 for (version=TLSv1/SSLv3 cipher=OTHER); Sun, 31 Jan 2016 05:58:04 -0800 (PST) Subject: Re: ZFSROOT UEFI boot To: freebsd-current@freebsd.org References: <8991747525093115430@unknownmsgid> <20160124215300.4cd7f1207f5a4c7b28ef7ffc@dec.sakura.ne.jp> <56A51A4C.1040808@multiplay.co.uk> <20160129000344.feaf5f828e5d43d5fbbb652a@dec.sakura.ne.jp> <56AAD552.9090202@multiplay.co.uk> <20160130155755.485736c8e12868663b9ccfbc@dec.sakura.ne.jp> <56AD0B22.1050704@multiplay.co.uk> <20160131204356.f863901e7125456b5586b215@dec.sakura.ne.jp> From: Steven Hartland Message-ID: <56AE12FF.9080404@multiplay.co.uk> Date: Sun, 31 Jan 2016 13:58:23 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <20160131204356.f863901e7125456b5586b215@dec.sakura.ne.jp> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 31 Jan 2016 13:58:08 -0000 Thanks for doing that it was very helpful, and I know transcribing from video would have been quite a time consuming task. I noticed a few interesting facts: 1. It looks like when you boot from ada0 and ada1 its still picking the same device (according to device order). Its not 100% clear as your devices are sata which Diff 6 didn't have decoding for. I've added that now so hopefully we can confirm, also added output of boot1 imgpath: so we can see what the EFI thinks the boot device is. 2. Your usb device path has two message path entries which means msg_paths_match would result in a false positive for usb devices, this is now fixed by matching until we see a media path. If you can now re-test the following two cases: 2) Boot from ada0 without USB memstick attached (2 drives). 3) Boot from ada1 without USB memstick attached (2 drives). I'm interested to confirm two things: 1. If the boot1 imgpath lines do indeed vary 2. If the "load: '/boot/loader.efi'" line devpath matches the boot1 imgpath. The changes from Diff 7 shouldn't effect the outcome of the other tests, but confirming that too wouldn't hurt but no need for the output. Regards Steve On 31/01/2016 11:43, Tomoaki AOKI wrote: > I found Diff6 you uploaded to PHABRICATOR. So my report below is based > on it. > > The patched boot1.efi runs as expected (== as you wrote) for me. > *boot1.efi without -DEFI_DEBUG isn't tested. Needed? > > As I mentioned in my previous post, I have no serial console > environment. So I took movie of limited tests and typed it. > > Which of the tests are typed: > > 1) Boot from ada0 removing ada1, no USB memstick attached, ZFS in > ada0 has loader.efi. (Single drive config.) > > 2) Boot from ada0, no USB memstick attached, ZFS in ada0 has > loader.efi. > > 3) Boot from ada1, no USB memstick attached, ZFS in ada1 has > loader.efi. > > 4) Boot from ada1, no USB memstick attached, only UFS in ada0 has > loader.efi. > > 5) Boot from da0 (USB memstick with memstick.img of head). > UFS in da0 has loader.efi and ZFS isn't present in da0. > (3 drives [2 drives + USB memstick] config.) > > Please see attached text for detail. Are more outputs needed? > > Thanks in advance! I'm looking forward to see this MFC'ed before > releng/10.3 is branched. (Relies on imp@'s test?) > > *Will need to be in conjunction with changes after r294265 in head, as > currently Diff6 doesn't apply to stable/10. > > Regards. > > > On Sat, 30 Jan 2016 19:12:34 +0000 > Steven Hartland wrote: > >> I believe, based on testing, that the from Diff 5 onwards of >> https://reviews.freebsd.org/D5108 this should work as you expect it i.e. >> >> If boot1 is loaded from a device which has either a UFS or ZFS bootable >> install then this is the device that will be used to boot. >> >> If said device has both then the ZFS setup will still be tried first. >> >> If you can test in your setup and confirm either way that would be most >> appreciated. >> >> Regards >> Steve >> >> On 30/01/2016 06:57, Tomoaki AOKI wrote: >>> Thanks for your quick support! >>> I tried your patch [Diff1] (built with head r295032 world/kernel) and >>> now have good and bad news. >>> >>> Good news is that without USB memstick boot1.efi runs as expected. >>> Great! >>> >>> Bad news is that when booting from USB memstick (the one I used my >>> previous test, boot1.efi [bootx64.efi] and loader.efi is replaced) and >>> whichever of internal disk (ada[01]) have loader.efi in its ZFS pool, >>> ada[01] is booted instead of da0 (USB memstick). >>> >>> *If ada0 has loader.efi, always booted from ada0 (stable/10). >>> *If ada0 doesn't have loader.efi and ada1 has, booted from ada1 >>> (head). >>> *If both ada0 and ada1 don't have loader.efi, da0 (USB memstick) is >>> booted (head, installer is invoked). >>> >>> *Whichever ada[01] has loader.efi in their UFS or not didn't matter. >>> >>> These behaviour would be because ZFS thoughout all disks is tried >>> before trying UFS throughout all disks, if I understood correctly. >>> >>> Changing boot order (ZFS to UFS per each disk, instead of each >>> ZFS to each UFS) would help. >>> But providing ZFS-disabled boot1.efi (boot1ufs.efi?) for installation >>> media (memstick, dvd, ...) helps, too. I built ZFS-disabled boot1.efi >>> and it worked fine for USB memstick for me. >>> >>> *`make clean && make -DMK_ZFS=no` in sys/boot/efi/boot1 didn't disabled >>> ZFS module, so I must edit the definition of *boot_modules[] in >>> boot1.c. I'd have been missing something. >>> >>> Regards. >>> >>> >>> On Fri, 29 Jan 2016 02:58:26 +0000 >>> Steven Hartland wrote: >>> >>>> On 28/01/2016 16:22, Doug Rabson wrote: >>>>> On 28 January 2016 at 15:03, Tomoaki AOKI wrote: >>>>> >>>>>> It's exactly the NO GOOD point. The disk where boot1 is read from >>>>>> should be where loader.efi and loader.conf are first read. >>>>>> >>>>> I just wanted to note that gptzfsboot and zfsboot behaves this way. Boot1 >>>>> looks for loader in the pool which contains the disk that the BIOS booted. >>>>> It passes through the ID of that pool to loader which uses that pool as the >>>>> default for loading kernel and modules. I believe this is the correct >>>>> behaviour. For gptzfsboot and zfsboot, it is possible to override by >>>>> pressing space at the point where it is about to load loader. >>>> I believe I understand at least some of your issue now, could you please >>>> test the code on the following review to see if it fixes your issue please: >>>> https://reviews.freebsd.org/D5108 >>>> >>>> Regards >>>> Steve >>>> _______________________________________________ >>>> freebsd-current@freebsd.org mailing list >>>> https://lists.freebsd.org/mailman/listinfo/freebsd-current >>>> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >>>> >> _______________________________________________ >> freebsd-current@freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >> > > > > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"