Date: Sun, 01 Jun 2014 11:24:12 -0700 From: Alfred Perlstein <bright@mu.org> To: Jason Hellenthal <jhellenthal@dataix.net> Cc: FreeBSD Hackers <freebsd-hackers@freebsd.org> Subject: Re: Upgrading an i386 machine from amd64. Message-ID: <538B6FCC.9090301@mu.org> In-Reply-To: <5B82C892-12A4-4251-B3D2-A6D3EAAF90F9@dataix.net> References: <538B61EC.9000403@mu.org> <5B82C892-12A4-4251-B3D2-A6D3EAAF90F9@dataix.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 6/1/14, 10:34 AM, Jason Hellenthal wrote: > What if you just NFS mount the obj directory from the 386 to the amd64 > build world for 386 the mount the src on the i386 and just rebuild > strip and friends ? > > A little more of a hack i know but would get the job done. I tried that using install(1), then it broke with strip(1), then I basically was like, "this is a rabbit hole, forget it" and used rsync. I was really looking for a "buildinstalltools" or something target (as you suggest), but I couldn't find one. Is there an "buildinstalltools" target? -Alfred > > -- > Jason Hellenthal > Voice: 95.30.17.6/616 > JJH48-ARIN > > On Jun 1, 2014, at 13:25, Alfred Perlstein <bright@mu.org > <mailto:bright@mu.org>> wrote: > >> Hello hackers. >> >> Is there a way to build on amd64 and then mount over nfs the build >> and src and installworld from an i386 machine? >> >> The problem seems to be that "install" and "strip" and etc are built >> as amd64 binaries so that the installworld will fail. >> >> Below I have a solution I was going to do a blog post about, but then >> realized maybe I'd be leading people down the wrong path. >> >> Can someone verify that I need to use rsync as opposed to >> installworld for this to work? >> >> I have an old i386 based soekris geode box called "soekris": >> CPU: Geode(TM) Integrated Processor by AMD PCS (499.91-MHz 586-class CPU) >> Origin = "AuthenticAMD" Id = 0x5a2 Family = 0x5 Model = 0xa >> Stepping = 2 >> Features=0x88a93d<FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CLFLUSH,MMX> >> AMD Features=0xc0400000<MMX+,3DNow!+,3DNow!> >> real memory = 536870912 (512 MB) >> avail memory = 502792192 (479 MB) >> >> Building on this machine is difficult because of the speed and lack >> of space, so I decided to use my more powerful amd64 machine "spigot": >> CPU: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz (3392.37-MHz K8-class CPU) >> Origin="GenuineIntel" Id=0x206a7 Family=0x6 Model=0x2a Stepping=7 >> ... >> real memory = 17179869184 (16384 MB) >> avail memory = 16585228288 (15816 MB) >> FreeBSD/SMP: 1 package(s) x 4 core(s) x 2 SMT threads >> >> So I've built an 10-stable on the amd64 machine using: >> >> spigot % TARGET=i386 >> spigot % make -j24 buildworld >> spigot % make -j24 buildkernel >> >> Works great, I get an i386 object tree under /usr/obj/i386.386/... >> >> Then I go to install this over NFS and this is where I get stuck. >> >> If I mount the i386 machine like so and install I get errors on libc >> and other libraries: >> >> spigot % mount soekris:/ /usr/soekris >> spigot % cd /usr/src && make installworld >> ..... >> ===> lib/libcrypt (install) >> install -C -o root -g wheel -m 444 libcrypt.a /usr/soekris/usr/lib >> install -C -o root -g wheel -m 444 libcrypt_p.a /usr/soekris/usr/lib >> install -s -o root -g wheel -m 444 -fschg libcrypt.so.5 >> /usr/soekris/lib >> install: /usr/soekris/lib/libcrypt.so.5: Input/output error >> *** Error code 71 >> >> Stop. >> make[5]: stopped in /usr/trees/freebsd.git/lib/libcrypt >> *** Error code 1 >> >> OK, so that doesn't work... >> >> Maybe if I mount the amd64 build host under the soekris box, no that >> breaks because the bootstrap tools (install(1), strip(1)) are built >> for amd64 so the install fails. >> >> So what I finally did on the amd64 box was: >> >> spigot % mkdir /use/soekris.local >> spigot % make installworld DESTDIR=/usr/soekris.local >> spigot % mount soekris:/ /usr/soekris >> spigot % rsync -avvH /usr/soekris.local/ /usr/soekris/ >> >> That hung at the end forever at the end: >> var/unbound/ >> var/yp/ >> var/yp/Makefile >> var/yp/Makefile.dist >> .... >> >> but after giving it an hour I just hit ^C and rebooted and everything >> was more or less fine. >> >> Is there a better way to do this? Was the "installworld to NFS" >> breaking because of NFS bugs? Should I get those to Rick? I'm just >> confused. >> >> -Alfred >> _______________________________________________ >> freebsd-hackers@freebsd.org <mailto:freebsd-hackers@freebsd.org> >> mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers >> To unsubscribe, send any mail to >> "freebsd-hackers-unsubscribe@freebsd.org >> <mailto:freebsd-hackers-unsubscribe@freebsd.org>"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?538B6FCC.9090301>