Date: Sun, 5 Feb 2017 10:53:35 -0600 From: Karl Denninger <karl@denninger.net> To: "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org> Subject: Re: NanoBSD config script for RPI2 Message-ID: <41e02f9b-7884-1eec-b4e0-a32c962642b9@denninger.net> In-Reply-To: <1892E365-966E-4DFA-8DE0-9BAD584754A1@dsl-only.net> References: <69c5a012-c1e7-c887-cd3b-ffcf78d8175e@denninger.net> <CANCZdfqSMbygO47LYt7Yxi8m6OAawgta4swnv4WyVFzeD4D0vg@mail.gmail.com> <506d5c30-93f7-048e-2cde-d76bfaf76a8f@denninger.net> <CANCZdfoBYi_9TKpkq9SnBN6k-gWBo5-CAkTLfS5qdsKgfHLU8A@mail.gmail.com> <af492294-0333-5c67-a2b9-e9e9c478ccf2@denninger.net> <1892E365-966E-4DFA-8DE0-9BAD584754A1@dsl-only.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a cryptographically signed message in MIME format. --------------ms090805080505080701050708 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 2/4/2017 15:02, Mark Millard wrote: > On 2017-Feb-4, at 10:56 AM, Karl Denninger <karl at denninger.net > <http://denninger.net>> wrote: > >> On 2/4/2017 10:38, Warner Losh wrote: >>> On Sat, Feb 4, 2017 at 5:55 AM, Karl Denninger <karl at >>> denninger.net <http://denninger.net>> wrote: >>>> It fails here during image create.... >>>> >>>> Populating `/pics/CrossBuild/embedded/rpi2/_.s2' >>>> Image `/pics/CrossBuild/embedded/rpi2/_.s2' complete >>>> + [ -n s1 ] >>>> + eval 's1=3Dfat16b' >>>> + s1=3Dfat16b >>>> + out=3D/pics/CrossBuild/embedded/images/_.disk.image.HD-MCP >>>> + mkimg -a 3 -s mbr -p 'fat16b:=3D/pics/CrossBuild/embedded/rpi2/_.s= 1' -p >>>> 'freebsd >>>> :=3D/pics/CrossBuild/embedded/rpi2/_.s2' -p >>>> 'freebsd:=3D/pics/CrossBuild/embedded/rp >>>> i2/_.s3' -o /pics/CrossBuild/embedded/images/_.disk.image.HD-MCP >>>> mkimg: invalid option -- a >>>> mkimg: error: unknown option >>>> >>>> usage: mkimg <options> >>>> options: >>>> --formats - list image formats >>>> --schemes - list partition schemes >>>> --version - show version information >>>> >>>> -b <file> - file containing boot code >>>> -c <num> - capacity (in bytes) of the disk >>>> -f <format> >>>> -o <file> - file to write image into >>>> -p <partition> >>>> -s <scheme> >>>> -v - increase verbosity >>>> -y - [developers] enable unit test >>>> -H <num> - number of heads to simulate >>>> -P <num> - physical sector size >>>> -S <num> - logical sector size >>>> -T <num> - number of tracks to simulate >>>> >>>> formats: >>>> qcow - QEMU Copy-On-Write, version 1 >>>> qcow2 - QEMU Copy-On-Write, version 2 >>>> raw - Raw Disk >>>> vhd - Virtual Hard Disk >>>> vhdf - Fixed Virtual Hard Disk >>>> vmdk - Virtual Machine Disk >>>> >>>> schemes: >>>> apm - Apple Partition Map >>>> bsd - BSD disk label >>>> ebr - Extended Boot Record >>>> gpt - GUID Partition Table >>>> mbr - Master Boot Record >>>> pc98 - PC-9800 disk partitions >>>> vtoc8 - SMI VTOC8 disk labels >>>> >>>> Is the "-a" flag attempting to set the active partition? It appears= >>>> there's no option to do that in mkimg... >>> Install a newer mkimg: >>> >>> Revision 307550 - (view) (download) (annotate) - [select for diffs] > > https://svnweb.freebsd.org/base/?pathrev=3D312669 shows that > -r3125699 is from head. > > Looking around: stable/11 has not been updated for its mkimg. only > head has -a added at this point. > >>> Modified Tue Oct 18 05:43:12 2016 UTC (3 months, 2 weeks ago) by imp >>> File length: 3730 byte(s) >>> Diff to previous 307544 >>> >>> Add a new flag to mkimg (-a num) to specify the active partition for >>> those partitioning schemes that have this concept. Implement it as an= >>> override for mbr's setting 0x80 in the flags for the first partition >>> when we have boot code. >>> >>> Differential Revision: https://reviews.freebsd.org/D4403 >>> >>> Though maybe I should try to add it to the bootstrap tools so I can >>> use a new one after the build. >>> >>> Warner >>> >> root@NewFS:/disk/karl # uname -v >> FreeBSD 11.0-STABLE #15 r312669M: Mon Jan 23 14:01:03 CST 2017 =20 > > https://svnweb.freebsd.org/base/?pathrev=3D312669 shows that > -r3125699 is from head, not from stable/11 . > > If you have a mix of head and stable/11 materials with mkimg from > stable/11 then -a will not be present for mkimg. > >> karl@NewFS.denninger.net >> <mailto:karl@NewFS.denninger.net>:/usr/obj/usr/src/sys/KSD-SMP >> root@NewFS:/disk/karl # which mkimg >> /usr/bin/mkimg >> root@NewFS:/disk/karl # pkg install mkimg >> Updating FreeBSD repository catalogue... >> FreeBSD repository is up-to-date. >> All repositories are up-to-date. >> pkg: No packages available to install matching 'mkimg' have been found= >> in the repositories >> root@NewFS:/disk/karl # >> >> So.... it's part of base and there is no obvious package (a check for >> ports in */*mkimg* fails too); my system is current as of Jan 23.... >> >> (As an aside I think if I remove the -a it may work on the Pi, since t= he >> Pi will try to boot the first partition which happens to be DOS -- I >> think. I'll try it.) >> >> --=20 >> Karl Denninger >> karl@denninger.net <mailto:karl@denninger.net> <mailto:karl at >> denninger.net <http://denninger.net>> >> /The Market Ticker/ >> /[S/MIME encrypted email preferred]/ > > > =3D=3D=3D > Mark Millard > markmi at dsl-only.net <http://dsl-only.net> > Manually setting the third partition to active does work to boot, but the default partition settings for root and cfg are also wrong; you need these overrides or the mount of root fails on startup: # # Partition layout for the Pi2 is: # 1 =3D FAT16 boot (MSDOS) containing bootcode, ubldr, etc. # 2 =3D CFG # 3 =3D Root (must be separately marked active so ubldr can find it) # 4 =3D Altroot # NANO_SLICE_CFG=3Ds2 NANO_SLICE_ROOT=3Ds3 NANO_SLICE_ALTROOT=3Ds4 NANO_ROOT=3Ds3a NANO_ALTROOT=3Ds4a I'm working on some other issues but this allows the unit to boot up and start. You do need to mark the partition active manually but there's a workaround for the need to do that manually -- mount the image after it's built in "common" and set the active flag using gpart: mdi=3D`mdconfig -f _.disk.image......` gpart set -a active -i 3 $mdi mdconfig -d -u $mdi Which works if used in place of the "-a...." argument to the mkimg command. Perhaps this should be changed in the "common" script and made the general case, at least for 11-STABLE and before, since it should work with pretty-much any version of FreeBSD and obviates the need for the updated mkimg. As things stand right now a checkout of 11-STABLE has a common script that relies on an updated mkimg that isn't present in the system and thus will//not work. This is what I changed in common: case ${NANO_LAYOUT} in std-embedded) # mkimg -a 3 ${skiparg} ${fmtarg} ${bootmbr} -s mbr -p ${s1}:=3D${NANO_LOG}/_.s1 \ mkimg ${skiparg} ${fmtarg} ${bootmbr} -s mbr -p ${s1}:=3D${NANO_LOG}/_.s1 \ -p ${s2}:=3D${NANO_LOG}/_.s2 \ -p ${s3}:=3D${NANO_LOG}/_.s3 \ -o ${out} mdi=3D`mdconfig -f ${out}` gpart show $mdi gpart set -a active -i 3 $mdi gpart show $mdi mdconfig -d -u $mdi ;; The two "shows" are (obviously) not necessary but result in log output that shows the active flag successfully set. Partial output from _.di incorporating this change: Populating `/pics/CrossBuild/embedded/rpi2/_.s2' Image `/pics/CrossBuild/embedded/rpi2/_.s2' complete + [ -n s1 ] + eval 's1=3Dfat16b' + s1=3Dfat16b + out=3D/pics/CrossBuild/embedded/images/_.disk.image.HD-MCP + mkimg -s mbr -p 'fat16b:=3D/pics/CrossBuild/embedded/rpi2/_.s1' -p 'freebsd:=3D/pics/CrossBuild/embedded/rpi2/_.s2' -p 'freebsd:=3D/pics/CrossBuild/embedded/rpi2/_.s3' -o /pics/CrossBuild/embedded/images/_.disk.image.HD-MCP + mdconfig -f /pics/CrossBuild/embedded/images/_.disk.image.HD-MCP + mdi=3Dmd0 + gpart show md0 =3D> 1 429840 md0 MBR (210M) 1 65536 1 fat16 (32M) 65537 65536 2 freebsd (32M) 131073 298768 3 freebsd (146M) + gpart set -a active -i 3 md0 active set on md0s3 + gpart show md0 =3D> 1 429840 md0 MBR (210M) 1 65536 1 fat16 (32M) 65537 65536 2 freebsd (32M) 131073 298768 3 freebsd [active] (146M) + mdconfig -d -u md0 + rm -f /pics/CrossBuild/embedded/images/_.disk.image.HD-MCP.xz + echo 'NANO RM -f /pics/CrossBuild/embedded/images/_.disk.image.HD-MCP.x= z' NANO RM -f /pics/CrossBuild/embedded/images/_.disk.image.HD-MCP.xz + uname -r + command rm -x -f /pics/CrossBuild/embedded/images/_.disk.image.HD-MCP.x= z + xz -9 --keep /pics/CrossBuild/embedded/images/_.disk.image.HD-MCP Onward I go... now I need to figure out how to get packages to work in a cross-compiled world, which might be a bit of a bigger problem since the existing way it's done chroot's into the installed world, which of course means that the "pkg" command is for the wrong architecture..... --=20 Karl Denninger karl@denninger.net <mailto:karl@denninger.net> /The Market Ticker/ /[S/MIME encrypted email preferred]/ --------------ms090805080505080701050708 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 3gjQMaqtGC1jdKn+zIwWgdkAAAAAAAA= --------------ms090805080505080701050708--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?41e02f9b-7884-1eec-b4e0-a32c962642b9>