Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Jun 2010 12:20:37 -0400 (EDT)
From:      doug <doug@fledge.watson.org>
To:        pluknet <pluknet@gmail.com>
Cc:        freebsd general questions <freebsd-questions@freebsd.org>
Subject:   Re: is it safe to crossbuild 6.4 i386 on 7.3 amd64 box?
Message-ID:  <alpine.BSF.2.00.1006071135160.30668@fledge.watson.org>
In-Reply-To: <AANLkTikDkyevgk0_RftzlOYmvnKAvQX33tse7hnrdPXJ@mail.gmail.com>
References:  <AANLkTikDkyevgk0_RftzlOYmvnKAvQX33tse7hnrdPXJ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Tue, 11 May 2010, pluknet wrote:

> Hi,
>
> That's sort of "for the record".
> I faced with issue where I wasn't able to boot a box w/ kernel built
> with subj scheme.
>
> On build box with 7.3-amd64 installed:
> 1. prepare world/kernel in an existing chrooted 6.4-S environment =>
> doesn't work (see below)
> 2. prepare world/kernel just cd'ing to 6.4-S src & change
> MAKEOBJDIRPREFIX => PROFIT!
> Both built with equal config and source.
>
> Next, what does not work in 1.
> System stops after printing "point_to_point" in /etc/rc.d/initrandom:
>               # XXX temporary until we can improve the entropy
>                # harvesting rate.
>                # Entropy below is not great, but better than nothing.
>                # This unblocks the generator at startup
>                ( ps -fauxww; sysctl -a; date; df -ib; dmesg; ps -fauxww ) \
>                    | dd of=/dev/random bs=8k 2>/dev/null
>
> Here sysctl -a queries dev.cpu.0.freq -> cpufreq_curr_sysctl@/kern/kern_cpu.c
> and locks up. As I understand, CPU doesn't return from sched_switch().
>
> <118> ethernet
> <118> point_to_point
> KDB: enter: Line break on console
>
> db> ps
>  pid  ppid  pgrp   uid   state   wmesg     wchan    cmd
>   68    66    51     0  R+      CPU 255             sysctl
>   66    64    51     0  S+      wait     0xc82e6648 sh
>   65    59    51     0  S+      piperd   0xc853f4c8 dd
>   64    59    51     0  S+      wait     0xc82e6218 sh
>   59    51    51     0  S+      wait     0xc82e6a78 sh
>   51     1    51     0  Ss+     wait     0xc852ec90 sh
>
> db> bt 68
> Tracing pid 68 tid 100076 td 0xc8551820
> sched_switch(c8551820,0,1) at sched_switch+0x143
> mi_switch(1,0,c8551980,0,c0adf560,...) at mi_switch+0x1ba
> sched_bind(c8551820,0) at sched_bind+0x52
> cpu_est_clockrate(0,eebeead4,c84f3400,3,c84f3400,...) at cpu_est_clockrate+0xc1
> cf_levels_method(c8214900,c85da000,eebeeb48) at cf_levels_method+0x303
> cf_get_method(c8214900,c85cb000) at cf_get_method+0x12b
> cpufreq_curr_sysctl(c8218cc0,c81ea000,0,eebeec04,c8218cc0,...) at cpufreq_curr_s
> sysctl_root(0,eebeec74,4,eebeec04) at sysctl_root+0x107
> userland_sysctl(c8551820,eebeec74,4,0,bfbfdbdc,0,0,0,eebeec70,0) at userland_sys
> __sysctl(c8551820,eebeed04) at __sysctl+0x93
> syscall(3b,3b,3b,4,bfbfdbdc,...) at syscall+0x2bf
> Xint0x80_syscall() at Xint0x80_syscall+0x1f
> --- syscall (202, FreeBSD ELF32, __sysctl), eip = 0x2812650b, esp = 0xbfbfdb4c,
>
I was able to cross-build and install a 32 bit 8.0 kernel using an amd64 system 
as the build machine. I was never able to get installworld to work. I did this 
by NFS mounting the target system's fs on the build system.

I mixed the information in the following link
http://bsdimp.blogspot.com/2006/09/cross-building-freebsd.html with advice from 
others to get the kernel installed. I do not have access to my notes at the 
moment. If you would like details on what I tried let me know. It is unclear if 
cross-building is officially supported.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1006071135160.30668>