Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Oct 2017 21:09:35 +0200
From:      "O. Hartmann" <ohartmann@walstatt.org>
Cc:        freebsd-arm@FreeBSD.org, FreeBSD Questions <freebsd-questions@freebsd.org>
Subject:   Re: NanoBSD: Current/NANO_ARCH=aarch64: chroot: : No such file or directory
Message-ID:  <20171015210935.5a50a85a@thor.intern.walstatt.dynvpn.de>
In-Reply-To: <20171012153922.6e747356@hermann>
References:  <bug-222924-7@https.bugs.freebsd.org/bugzilla/> <20171011204722.3622d73c@thor.intern.walstatt.dynvpn.de> <1507762426.8386.24.camel@freebsd.org> <20171012153922.6e747356@hermann>

next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/VEohY/ZPeRQcvsDZPOmJLyo
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Am Thu, 12 Oct 2017 15:39:26 +0200
"Hartmann, O." <ohartmann@walstatt.org> schrieb:



> On Wed, 11 Oct 2017 16:53:46 -0600
> Ian Lepore <ian@freebsd.org> wrote:
>=20
> > On Wed, 2017-10-11 at 20:47 +0200, O. Hartmann wrote: =20
> > > Trying to install a successfully cross compiled FreeBSD
> > > (TARGET=3Darm64) as NanoBSD. NanoBSD is configure using
> > > NANO_ARCH=3D"aarch64".
> > >=20
> > > Port emulators/qemu-user-static is installed and loaded:
> > >=20
> > > =A08=A0=A0=A0=A01 0xffffffff8243f000 1564=A0=A0=A0=A0=A0imgact_binmis=
c.ko
> > >=20
> > > When installing NanoBSD's world and then running mtree, the nanobsd
> > > script runs into this error:
> > >=20
> > > /pool/nanobsd/aarch64/NANO_aarch64/_.w/./boot/loader.conf.local
> > > 283 blocks
> > > + [ -n /home/user/Projects/router/nanobsd/mtree/Files.mtree -a \
> > > 			-f /home/user/Projects/router/nanobsd/mtree/Files.mtree
> > > ]
> > > + CR 'mtree -eiU -p /'
> > > + chroot /pool/nanobsd/aarch64/NANO_aarch64/_.w '' /bin/sh -exc
> > > 'mtree -eiU -p /' chroot: : No such file or directory =20
>=20
> Oops, I confused the output.
>=20
> The correct one is:
>=20
> [ from _.cust.cust_install_files ]
>=20
> ...
> + chroot /pool/nanobsd/aarch64/NANO_aarch64/_.w /bin/sh -exc 'mtree
>   -eiU -p /' chroot: /bin/sh: No such file or directory
>=20
> The empty '' is due to my (hopeless helpless) attempt to fit-in another
> variable which was set to an empty string.
>=20
> The error looks to me as chroot does't find the proper shell, /bin/sh,
> but it has been properly installed:
>=20
> # file _.w/bin/sh
> _.w/bin/sh: ELF 64-bit LSB executable, ARM aarch64, version 1
> (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for
> FreeBSD 12.0 (1200051), FreeBSD-style, stripped
>=20
> # ll _.w/bin/sh
> 839832 -r-xr-xr-x  1 root  wheel  uarch  261K 12 Okt. 15:32 _.w/bin/sh
>=20
> NanoBSD works on the native host when building on host arch amd64 for
> host arch amd64 and I guess it is due to the properly installed OS of
> the host.
>=20
> I do not get the problem here. qemu_user_static should catch up with
> the alien binary here - I suppose it does. The absolute path should
> ensure the use of the right binary ...
>=20
> Regards,
>=20
> Oliver
>=20
> > >    =20
> >=20
> > I'm not sure how or why it's happening (I've never used nanobsd), but
> > the complaint is about those empty quotes ('') between the pathname
> > and the /bin/sh in the chroot command. =A0It's trying to run a program
> > named '' and chroot is complaining that it can't find anything named
> > that.
> >=20
> > -- Ian
> >  =20
> > > Is there anything I miss here with the QEMU emulator catching up?
> > >=20
> > > Thanks in advance,
> > >=20
> > > Oliver
> > >    =20
>=20

I didn't find a solution to this problem, it might be that someone has alre=
ady have such
a problem solved, so I'm sending CC'ed also to the list "questions".

The background is above described.

Running most recent qemu-user-static (qemu-user-static-2.9.94.g20171011), l=
oaded and
running a kernel module, chrooting into a cross-compiled aarch64 installati=
on of recent
12-CURRENT (r324621) fails with error (from NanoBSD):

[...]
chroot /pool/nanobsd/aarch64/NANO_aarch64/_.w /bin/sh -exc 'mtree -eiU -p /'
chroot: /bin/sh: No such file or directory

There is no further output so I fly blind. As mentioned above, /bin/sh is i=
nstalled and
present in the chrooted target folder and  file states, that it has been co=
mpiled for
aarch64.

I tried manually the very same command - amongst other attempts to chroot a=
nd execute a
command - but always the same: I get the error shown above, no such file or=
 directory.

Do I miss something here? Do I have to install some crosse development tool=
s/libs into
the chrooted target first, so /bin/sh can be emulated correctly?

I'm quite new to cross compiling. But at this point with this thin, faintin=
g amount of
information why it fails, I can't even start searching ...

Hopefully someone can shed some light on this.

Thanks in advance,

oh
--=20
O. Hartmann

Ich widerspreche der Nutzung oder =DCbermittlung meiner Daten f=FCr
Werbezwecke oder f=FCr die Markt- oder Meinungsforschung (=A7 28 Abs. 4 BDS=
G).

--Sig_/VEohY/ZPeRQcvsDZPOmJLyo
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iLUEARMKAB0WIQQZVZMzAtwC2T/86TrS528fyFhYlAUCWeOybwAKCRDS528fyFhY
lFHmAf98Ypw4dHXVM+7ALrH9Ecinqdxt6qNawMKwuL1hVQda5DLX7rCIVNkMhLSI
lm1X78roO+KtV1Uc87Jl/Ib0GJ9GAf4jjCVjW+/WItAH68l/TQvng/NeOmyC3N4/
LodI5HkspYNEr0JOYGc0I7j3KWZ2kR03Z8XAEAgj/fxaMJAXBPMV
=e8TZ
-----END PGP SIGNATURE-----

--Sig_/VEohY/ZPeRQcvsDZPOmJLyo--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20171015210935.5a50a85a>