Skip site navigation (1)Skip section navigation (2)
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>