>From further tinkering, I discovered that my Pi was only recognizing 128 MB of
RAM until I switched to using the DTB and fixup.dat files from Raspbian. Seems
that those /boot/ files should be kept in sync.

Thanks for all your work on this new platform!

On March 5, 2017 3:36:16 AM EST, Jonathan Gray <j...@jsg.id.au> wrote:
>On Sun, Mar 05, 2017 at 09:23:13AM +0100, Otto Moerbeek wrote:
>> On Sun, Mar 05, 2017 at 07:00:46PM +1100, Jonathan Gray wrote:
>>
>> > On Sun, Mar 05, 2017 at 08:37:30AM +0100, Otto Moerbeek wrote:
>> > > On Sat, Mar 04, 2017 at 06:40:57PM -0500, Joe Gidi wrote:
>> > >
>> > > > After jsg@ mentioned that booting a Raspberry Pi 3 from a USB
>device
>> > > > might be
>> > > > possible, I decided to find out how deep the rabbit hole is.
>> > > > As it turns out,
>> > > > it's currently a bit convoluted, but it can be made
>> > > > to work with OpenBSD.
>> > > > First off, USB boot support is just now getting fully ironed
>out.
>> > > > You'll need
>> > > > to update the firmware on your Pi to make it work. I
>> > > > installed the latest
>> > > > (2017-03-02) Raspbian image to an SD card and
>> > > > booted the Pi from that. While
>> > > > booted in Raspbian, update the
>> > > > firmware:
>> > > >
>> > > > sudo apt-get update
>> > > > sudo apt-get
>> > > > install rpi-update
>> > > > sudo rpi-update
>> > > >
>> > > > It's then necessary to actually enable USB
>> > > > boot support. Add the
>> > > > following 2 lines to /boot/config.txt to enable USB boot
>> > > > mode and set
>> > > > a 5-second timeout to allow time for USB device initialization:
>> > > > program_usb_boot_mode=1
>> > > > program_usb_boot_timeout=1
>> > > >
>> > > > NOTE: Apparently these
>> > > > variables are set in the Pi's OTP memory, which
>> > > > means once they're set, they
>> > > > can't ever be unset.
>> > > >
>> > > > Reboot for the changes to take effect. At this point the
>> > > > Pi should be
>> > > > ready to support USB booting.
>> > > >
>> > > > While you still have a working
>> > > > Raspbian install, grab a copy of the
>> > > > /boot/bootcode.bin and /boot/start.elf
>> > > > files for later use; apparently
>> > > > we need these special versions of those two
>> > > > files for USB boot
>> > > > support. At this point we're done with Raspbian and can
>> > > > shut it down
>> > > > to install OpenBSD.
>> > > >
>> > > > Next, write the OpenBSD miniroot60.fs to an
>> > > > SD card, plug in your USB
>> > > > drive, and boot the Pi. You should be greeted with
>> > > > the usual OpenBSD
>> > > > installer, and you should be able to install to your USB
>> > > > drive
>> > > > (probably sd0). Once the installer is done, run 'halt', unplug
>the Pi,
>> > > > and remove the SD card and USB drive.
>> > > >
>> > > > To make your USB drive bootable, you'll
>> > > > need to plug it into another
>> > > > system and mount its 'i' partition (the FAT32
>> > > > boot partition) to make
>> > > > a few changes. Replace the bootcode.bin and start.elf
>> > > > files with the
>> > > > ones from Raspbian, and add the u-boot.bin file from the 'i'
>> > > > partition
>> > > > of your miniroot60.fs SD card.
>> > > >
>> > > > With those changes made, your Pi
>> > > > should be able to boot OpenBSD
>> > > > directly from a USB drive with no SD card
>> > > > needed. Note that it seems
>> > > > to take around 10 seconds for the Pi to reach the
>> > > > OpenBSD bootloader
>> > > > and fire up the kernel.
>> > > >
>> > > > Hope this information is helpful
>> > > > to someone...
>> > > >
>> > > > --
>> > > >  Joe Gidi
>> > > >  j...@entropicblur.com
>> > > >
>> > > >  "You cannot buy skill."
>> > > > -- Ross Seyfried
>> > >
>> > > Thanks, I'll try this out soon,
>> > >
>> > > Some notes of things I saw when trying to boot from a sd-card
>using
>> > > various a USB devices to install to:
>> > >
>> > > Some USB devices do seem to hang the rpi3 sometimes while u-boot
>is
>> > > scanning the usb bus, in my case an old USB flash stick.
>> > >
>> > > With a disk enclosure (2.5" usb bus powered with spinning disk),
>the
>> > > hangs did not occur. But I saw another problem that looked to be
>> > > caused by the reset of the usb bus while the kernel was booting
>(from
>> > > sd-card). The disk enclosure did not get recognized in time when
>the
>> > > kernel reached the ask root device questions, making it imposible
>to
>> > > select the usb drive as boot device.
>> > >
>> > > I manged to boot the machine using an externally powered
>enclosure
>> > > with a 3.5 disk. I'll be buying a SSD today to see how that goes.
>> > >
>> > >  -Otto
>> > >
>> >
>> > You don't need to bother with linux, the files are in the
>> > raspberrypi-firmware package with version 1.20170215.  And the next
>> > snapshot will include the newer firmware.
>> >
>> > Though that will take a few days, due to -current moving to 6.1 a
>> > xenocara build will have to be done as well and that tends to
>trigger
>> > problems with stuck and segfaulting processes.
>>
>> Will the fidding with
>>
>> > > program_usb_boot_mode=1
>> > > program_usb_boot_timeout=1
>>
>> still be neccesary?
>>
>>      -Otto
>>
>
>Unless the parts of the miniroot/ramdisk which create config.txt are
>changed to do so yes.
>
>I'm not clear on the downsides of irreversibly setting these otp bits.
>Not being able to use older firmware versions?
>
>From what I've read the boot rom will still try to load from the
>sd slot first before trying to probe usb when it is set.

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Reply via email to