From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1WNyYO-0001Yb-8f for mharc-grub-devel@gnu.org; Thu, 13 Mar 2014 01:51:40 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41028) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WNyYL-0001Xf-At for grub-devel@gnu.org; Thu, 13 Mar 2014 01:51:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WNyYG-0006ZR-BF for grub-devel@gnu.org; Thu, 13 Mar 2014 01:51:37 -0400 Received: from mail-lb0-x236.google.com ([2a00:1450:4010:c04::236]:39058) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WNyYF-0006ZN-UJ for grub-devel@gnu.org; Thu, 13 Mar 2014 01:51:32 -0400 Received: by mail-lb0-f182.google.com with SMTP id n15so332591lbi.41 for ; Wed, 12 Mar 2014 22:51:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=nxLdhGr+9GqDqdgIbe9NnA8YkOCbMKrclW4pWKsRsig=; b=rUC91sF47/UIBsrMu70WzP1WX07Gd7J2E0jLHf1TQLCRxjpNSL8XT/IioVDBiZDtgG XD0E7vbOoItx6BwuepX3ZllcaRTvWrnp8+j7CiIXop43Kv9XWb8JHZKlZVLnInshptAI FCrlAFmmYD/XlhNRccd4YmTlJRGpCkWG0HD9ax7xZp6HOuKZeZ6ZLOqyv/WGBsZJ6AFE mW+6xpEgUKUh8uKO6sfdFkRRw9nSF//jzcm85d13DTwC1goNPmsA3Gk2Z1xe5vc+H7kj TNhqNZh06I0ouQ395FzLjyRN2AV8F/GwDYRCGIPiSOJ36JT51/OPJijIx16t1x8BQ22/ WDtA== X-Received: by 10.152.246.43 with SMTP id xt11mr19830lac.34.1394689890590; Wed, 12 Mar 2014 22:51:30 -0700 (PDT) Received: from opensuse.site (ppp37-190-15-130.pppoe.spdop.ru. [37.190.15.130]) by mx.google.com with ESMTPSA id mo3sm1133043lbb.17.2014.03.12.22.51.29 for (version=SSLv3 cipher=RC4-SHA bits=128/128); Wed, 12 Mar 2014 22:51:29 -0700 (PDT) Date: Thu, 13 Mar 2014 09:51:28 +0400 From: Andrey Borzenkov To: The development of GNU GRUB Subject: Re: Trying to build Rescue image for three different target and platform Message-ID: <20140313095128.74e85778@opensuse.site> In-Reply-To: <531C934C.5070501@gmail.com> References: <531C934C.5070501@gmail.com> X-Mailer: Claws Mail 3.9.2 (GTK+ 2.24.22; x86_64-suse-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c04::236 Cc: adrian15sgd@gmail.com X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Mar 2014 05:51:39 -0000 В Sun, 09 Mar 2014 17:14:04 +0100 adrian15 пишет: > Basically what I want to do is to use grub-mkrescue to generate a grub2 > rescue disk with some custom files (The Super Grub2 Disk stuff). > > However I want to build different files depending on target+platform > combination. > > My four combinations are: > > * (Hybrid) x86_64+efi and i386+pc > * i386 - pc > * x86_64 - efi > * i386 - efi > > More about this setup. > > 1) As an initial setup I work with a Debian Unstable Sid Chroot amd64 as > described in: > http://www.supergrubdisk.org/wiki/Super_Grub2_Disk_Sid_Chroot#Introduction > 2) I use Debian's Grub2 source code so that I do not have to deal > manually with dependencies. That's explained here: > http://www.supergrubdisk.org/wiki/Super_Grub2_Disk_Sid_Chroot_Grub2_Build_And_Installation > (just before Hybrid build section). > > 3) x86_64_efi build is working. Basically what I run in the src dir is: > > sudo rm -rf /usr/local/share/grub > sudo rm -rf /usr/local/lib/grub > make clean > make distclean > bash linguas.sh > bash autogen.sh > ./configure --target=i386 --with-platform=efi && make && sudo make > uninstall > make clean > make distclean > ./configure --target=i386 --with-platform=pc && make && sudo make > uninstall > make clean > make distclean > ./configure --target=x86_64 --with-platform=efi && make && sudo make > uninstall > make clean > make distclean > make clean > make distclean > bash linguas.sh > bash autogen.sh > ./configure --target=x86_64 --with-platform=efi && make && sudo make > install > To be honest, I do not understand what you are trying to do here. > 6) When I build i386 - pc I get this error: > > xorriso : FAILURE : Given path does not exist on disk: -boot_image > system_area='/usr/local/lib/grub/i386-pc/boot_hybrid.img' > > Why is it failing to create /usr/local/lib/grub/i386-pc/boot_hybrid.img > file? > This file should be built and installed on 386-pc platform. If not either there is a bug, or you are doing something wrong. It is hard to tell, you are doing so many steps ... > 7) Is it useful that I insist on building an i386+efi release? Any > machine system that uses it? Some old Mac-something hardware perhaps? > > 8) What's the best way to build and install an hybrid system that > includes both: x86_64_efi and i386 - pc stuff? > Just built and install grub for each platform you want to use; grub-mkrescue will automatically include every platform it finds. > Current code is: > > ./configure --target=i386 --with-platform=pc && make && sudo make install > make clean > make distclean > ./configure --target=x86_64 --with-platform=efi && make && sudo make > install > It is better to explicitly force host platform with --host=.... to make sure user space is always the same. Otherwise it should be fine. I prefer to build every platform in separate directory, there were issues with incomplete cleanup. If you hit one, please report. > 9) A) What's the best way to remove grub configuration files installed > on the system so that I can start from scratch so that already built > target+platform grub binaries or configurations are ignored? > There are no configuration files after "make install" (if we do not count /etc/grub.d as configuration). > B) That's what I try to do in clean_every_build function in > supergrub-meta-mkrescue script but I do not think its an efficient way > of doing it. > > C) You know I would like to remove the rm -rf /usr/local/share/grub and > rm -rf /usr/local/lib/grub lines (too weird) and just use the: > > ./configure ; make ; make uninstall part. > > D) Which I do not know if could be re-written as: > > ./configure ; make uninstall > > (Notice that there is not a make step). > > Does removing the make default target call (make) breaks "make > uninstall" functionality? > > 10) As a summary I basically want to build and install from upstream > source code and then make one rescue disk for each one of these four > combinations. (And make theses rescue diks in a row) > > * (Hybrid) x86_64+efi and i386+pc > * i386 - pc > * x86_64 - efi > * i386 - efi > > So... any help on this build automation process? > > Thank you very much! > > > adrian15