Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Jun 2016 14:44:13 +0800
From:      Julian Elischer <julian@freebsd.org>
To:        Norbert Koch <nkoch@demig.de>, freebsd-hackers@freebsd.org
Subject:   Re: gpart inside jails
Message-ID:  <d55d160e-5bb3-0370-0b26-1b494bb75c46@freebsd.org>
In-Reply-To: <0d90638f-ca86-5b75-3682-e45ab8220874@demig.de>
References:  <94b54de6-0817-3171-7715-4610d7e985a4@demig.de> <307505f1-a05f-f869-bb9f-027262e74eb0@freebsd.org> <0d90638f-ca86-5b75-3682-e45ab8220874@demig.de>

next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>>> To unsubscribe, send any mail to 
>>> "freebsd-hackers-unsubscribe@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.

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.







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d55d160e-5bb3-0370-0b26-1b494bb75c46>