Date: Mon, 14 Dec 2015 10:13:56 -0600 From: Karl Denninger <karl@denninger.net> To: "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org> Subject: Re: Updating / keeping current strategies? Message-ID: <566EEAC4.1060306@denninger.net> In-Reply-To: <10BBDDBB-75AA-4034-B494-9EB28D009882@gromit.dlib.vt.edu> References: <5666F37C.4060908@denninger.net> <10BBDDBB-75AA-4034-B494-9EB28D009882@gromit.dlib.vt.edu>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] On 12/8/2015 09:41, Paul Mather wrote: > On Dec 8, 2015, at 10:13 AM, Karl Denninger <karl@denninger.net> wrote: > >> What are people doing in this regard with devices like the Raspberry Pi2? >> >> Build times for a "make buildworld" are measured in (many) hours to a >> day or more and require a USB-attached disk for temporary storage, as >> the ramdisk for /tmp that is typically mounted blows up due to lack of >> space and SD cards are slow enough on writes (especially small writes) >> as to make the process virtually impossible. But even with a >> USB-attached disk the process is ridiculous in terms of consumed >> walllclock time. >> >> Further, "make installworld" sometimes fails inexplicably. >> >> Kernel builds are a bit more reasonable, only requiring a couple of hours. >> >> I'm wondering what the best option is to not only build current code on >> a regular basis (since -CURRENT is a "work in progress") but also to >> deploy and update existing devices. What are people doing that has a >> history of working well? > I cross-build kernel and world on a FreeBSD/amd64 system. It takes about 30 minutes to do a full buildkernel and buildworld there. Then, when I want to update my Raspberry Pi, I shut down the Pi and move the SD card from it to the FreeBSD/amd64 system. Having mounted the SD card, I cross-install kernel and world onto the SD card and then run mergemaster against it. I use the wrapper script from https://wiki.freebsd.org/FreeBSD/arm/crossbuild to make things easier. > > After updating the SD card, I unmount it from the FreeBSD/amd64 system and move it back to the Raspberry Pi. Finally, I boot up the Raspberry Pi. > > This has proved a reliable way for me to update my Raspberry Pi and BeagleBone Black. The manual step of moving the SD card isn't ideal, but has proved to be the most pragmatic approach for me. (Clang seems more reliable on FreeBSD/amd64, for one.:) Someone suggested once to do the cross build/install on the FreeBSD/amd64 system and then rsync over to the Pi/BBB to update the SD card, but I could never get that to work. Similarly, I could never get a NFS install to work either. To be fair, I didn't troubleshoot that problem very much. > > Cheers, > > Paul. > There seem to be some problems with this in the general sense, unless you're willing to move the media around (I'm generally not.) Using that script in the Wiki appears to work, but there are problems. If you try to nfs mount the object and source directories on the target so you can do a "make installworld" or "make installkernel" on the target you quickly find that clang wasn't cross-built in the object directory; the "tmp" directory in object contains a copy of it, but it's compiled for your _*source*_ machine (in this case FreeBSD/amd64) and the install blows up as it can't determine the cc version. The interesting thing is that what's in ~/nfsroot/usr/bin/cc is correct which doesn't appear to make sense, but it is what it is. I'm going to see if I can get a rsync-type thing to work.... -- Karl Denninger karl@denninger.net <mailto:karl@denninger.net> /The Market Ticker/ /[S/MIME encrypted email preferred]/ [-- Attachment #2 --] 0 *H 010 `He 0 *H _0[0C)0 *H 010 UUS10UFlorida10U Niceville10U Cuda Systems LLC10UCuda Systems LLC CA1"0 *H Cuda Systems LLC CA0 150421022159Z 200419022159Z0Z10 UUS10UFlorida10U Cuda Systems LLC10UKarl Denninger (OCSP)0"0 *H 0 X@vkY Tq/vE]5#֯MX\8LJ/V?5Da+ sJc*/r{ȼnS+ w")ąZ^DtdCOZ ~7Q '@a#ijc۴oZdB&!Ӝ-< ?HN5y 5}F|ef"Vلio74zn">a1qWuɖbFeGE&3(KhixG3!#e_XƬϜ/,$+;4y'Bz<qT9_?rRUpn5 Jn&Rx/p Jyel*pN8/#9u/YPEC)TY>~/˘N[vyiDKˉ,^" ?$T8 v&K%z8C @?K{9f`+@,|Mbia 007++0)0'+0http://cudasystems.net:88880 U0 0 `HB0U0, `HB OpenSSL Generated Certificate0U-h\Ff Y0U#0$q}ݽʒm50U0karl@denninger.net0 *H Owbabɺx&Uk[(Oj!%p MQ0I!#QH}.>~2&D}<wm_>V6v]f>=Nn+8;q wfΰ/RLyUG#b}n!Dր_up|_ǰc/%ۥ nN8:d;-UJd/m1~VނיnN I˾$tF1&}|?q?\đXԑ&\4V<lKۮ3%Am_(q-(cAeGX)f}-˥6cv~Kg8m~v;|9:-iAPқ6ېn-.)<[$KJtt/L4ᖣ^Cmu4vb{+BG$M0c\[MR|0FԸP&78"4p#}DZ9;V9#>Sw"[UP7100010 UUS10UFlorida10U Niceville10U Cuda Systems LLC10UCuda Systems LLC CA1"0 *H Cuda Systems LLC CA)0 `He M0 *H 1 *H 0 *H 1 151214161356Z0O *H 1B@'DXWov@9NSEo43rBX*_Dأ*4t?0l *H 1_0]0 `He*0 `He0 *H 0*H 0 *H @0+0 *H (0 +710010 UUS10UFlorida10U Niceville10U Cuda Systems LLC10UCuda Systems LLC CA1"0 *H Cuda Systems LLC CA)0*H 1010 UUS10UFlorida10U Niceville10U Cuda Systems LLC10UCuda Systems LLC CA1"0 *H Cuda Systems LLC CA)0 *H NBYh+ARkcy<s45{zS_Bt4cq"%mғU";D|H?-gڅ$;=HA|<:âb}-T[v:Iqh%{pfQ-Bq[GwszA9W0vЛZ04%A-K~&HzǼzQ⤏/#aeI@I@lsu?)sbCMٮ!96ٽwԑR&y Gx@`sp8W6k, (3|C[ꓮb27H R=X,8mvU5ze{r0M0gcMnl+SLh-m[ҏ2Z1;g|!K'#Atߛ* ]XNcuCwB7C+34-۫xYSP!o&m2MTcOkD *-zۄOԀ<0rhelp
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?566EEAC4.1060306>
