gpart inside jails
Norbert Koch
nkoch at demig.de
Mon Jun 20 07:08:34 UTC 2016
Am 2016-06-20 um 08:44 schrieb Julian Elischer:
> On 17/06/2016 2:21 PM, Norbert Koch wrote:
>>
>>
>> Am 2016-06-16 um 17:39 schrieb Allan Jude:
>>> On 2016-06-16 11:23, Norbert Koch wrote:
>>>> Hello,
>>>>
>>>> for creating freebsd boot flash media for embedded devices
>>>> I use mdconfig/gpart.
>>>>
>>>> Recently I put my 32-bit build machines into a jail under a 64-bit
>>>> machine.
>>>> This is my configuration:
>>>>
>>>> Host: FreeBSD-10.3/amd64
>>>> Jail1: FreeBSD-9.1/i386
>>>> Jail2: FreeBSD-10.3/i386
>>>> Jail3: FreeBSD-10.3/amd64
>>>>
>>>> If I jexec gpart status I get this:
>>>> Jail1: segmentation fault
>>>> Jail2: segmentation fault
>>>> Jail3: correct result as seen under host system
>>>>
>>>> So, this is obviously a 32/64 bit issue. Any idea?
>>>>
>>>> Thank you,
>>>> Norbert Koch
>>>>
>>>> _______________________________________________
>>>> freebsd-hackers at freebsd.org mailing list
>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>>>> To unsubscribe, send any mail to
>>>> "freebsd-hackers-unsubscribe at freebsd.org"
>>> You might want to look at:
>>>
>>> makefs(8): create a ufs filesystem in a file, from a directory tree or
>>> mtree file. This allows you to avoid mdconfig, and can be done as a
>>> non-root user.
>>>
>>> mkimg(8): create a disk or VM (vmdk, vdi, qcow2, raw, etc) image from
>>> one or more file systems. Allows you to create the partitions and load
>>> the boot code etc. This allows you to avoid gpart, and can be done as a
>>> non-root user.
>>>
>>
>> Thank you. I'll try these.
>>
>>
>>> Re: why it crashes: I am guessing the kernel interface between gpart
>>> and
>>> geom_part.ko is not 32/64 safe or something. Someone else with a better
>>> informed opinion may be able to help you resolve the issue. Maybe the
>>> above workarounds will help.
>>>
>>
> for a 64bit kernel moduel to work with a 32 bit user space system, all
> paths from userspace to module have to translate values back and forth
> as needed. I can quite believe that making such shims for geom has not
> been a high priorlty.
>
> On the other hand, you can cheat, by adding 64 bit versions of the
> gpart and related programs into your 32 bit jail.
> they should run just fine and you can use libmap.conf if there are any
> library collisions that you need to handle.
> Evrything else should run fie to generate the images..
> I'm not sure though how you would MOUNT the images inside the jail
> once you have partitioned them.
>
You are right. Mounting became my next problem after solving the gpart
issue.
After having delegated the mount to the host by sending a command via ssh
(not really elegant or secure, I know) I had to learn that the path to a
mount point is
rather limited (88 characters or so). Changing this would lead to a lot
of compatibility
problems (statfs).
Not talking about the job to manage all those very special modifications.
I finally decided to delegate image creation and configuration to a
"true" virtual machine
and only use the jail for software build.
> All in all the mkimg utility is a good answer, as I think you are
> going to hit several problems one after the other with trying to mount
> system devices from within a jail.
>
>
>
>
--
Dipl.-Ing. Norbert Koch
Entwicklung Prozessregler
*****************************************
* demig Prozessautomatisierung GmbH *
* *
* Anschrift: Haardtstrasse 40 *
* D-57076 Siegen *
* Registergericht: Siegen HRB 2819 *
* Geschaeftsfuehrer: Joachim Herbst, *
* Winfried Held *
* Telefon: +49 271 772020 *
* Telefax: +49 271 74704 *
* E-Mail: info at demig.de *
* http://www.demig.de *
*****************************************
More information about the freebsd-hackers
mailing list