From owner-freebsd-hackers@freebsd.org Mon Jun 20 07:08:34 2016 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 95724A7BF23 for ; Mon, 20 Jun 2016 07:08:34 +0000 (UTC) (envelope-from nkoch@demig.de) Received: from demig.de (demig.de [81.169.228.196]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Parallels Panel", Issuer "Parallels Panel" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 113EE2A04 for ; Mon, 20 Jun 2016 07:08:33 +0000 (UTC) (envelope-from nkoch@demig.de) Received: (qmail 22086 invoked from network); 20 Jun 2016 09:07:23 +0200 Received: from b2b-130-180-89-86.unitymedia.biz (HELO firewall.demig.intra) (130.180.89.86) by demig.de with ESMTPSA (DHE-RSA-AES256-SHA encrypted, authenticated); 20 Jun 2016 09:07:23 +0200 Received: from SRV-FS-2.Demig.intra (nameserver.demig.intra [192.168.148.248]) by firewall.demig.intra (8.14.4/8.14.4) with ESMTP id u5K77Hcl096623 for ; Mon, 20 Jun 2016 09:07:17 +0200 (CEST) (envelope-from nkoch@demig.de) Received: from [192.168.148.223] (192.168.148.223) by SRV-FS-2 (192.168.148.248) with Microsoft SMTP Server (TLS) id 14.3.123.3; Mon, 20 Jun 2016 09:07:12 +0200 Subject: Re: gpart inside jails To: References: <94b54de6-0817-3171-7715-4610d7e985a4@demig.de> <307505f1-a05f-f869-bb9f-027262e74eb0@freebsd.org> <0d90638f-ca86-5b75-3682-e45ab8220874@demig.de> From: Norbert Koch Message-ID: <1bf8d133-99ac-1933-378b-0f8cc71281df@demig.de> Date: Mon, 20 Jun 2016 09:07:11 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.73 on 192.168.148.235 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jun 2016 07:08:34 -0000 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@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. > 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@demig.de * * http://www.demig.de * *****************************************