From owner-freebsd-embedded@FreeBSD.ORG Wed May 6 08:26:31 2009 Return-Path: Delivered-To: freebsd-embedded@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 679B1106566B for ; Wed, 6 May 2009 08:26:31 +0000 (UTC) (envelope-from jacques.fourie@gmail.com) Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.155]) by mx1.freebsd.org (Postfix) with ESMTP id E49058FC14 for ; Wed, 6 May 2009 08:26:30 +0000 (UTC) (envelope-from jacques.fourie@gmail.com) Received: by fg-out-1718.google.com with SMTP id l26so1523904fgb.12 for ; Wed, 06 May 2009 01:26:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=TB1kh9EpY3s2OmQ3Uu4XQzx+dh2oqgNTPuJA4pgk+U8=; b=s4l8UPvs7SmmcQHe/DXhRpYWjU4vl8dU1XOkohzbwn1hXCZNQt/GLMGWkv9PW5jz5u HbfdcPs46ELwJjmDdHGqrJOImbdlkYSjhaWIF4T3BJ8mbobRUxUiAfenOAGieiLcneuj UbQHTcKK0ZXh9IqkNin+Idn8NSUikTYuyaAV0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=jy/5InMOaATMDSOlGXVn7boA4WwyCgNYrvb604alA5JkjSFAtQr6VnJjjGT0+EOk8W LV6xhVCc31sVtgs7xRoB6fsChsO6fALLhHAxdTs9/NlTMx64mK76PF+8nULhEH8VO+FQ 3IOZ5pwykNRiwjYZv7dS4o+SM4vmEbJ6Aggr0= MIME-Version: 1.0 Received: by 10.86.78.13 with SMTP id a13mr1018898fgb.42.1241596986196; Wed, 06 May 2009 01:03:06 -0700 (PDT) In-Reply-To: <9e6237170905060003n673711bdp2e36c3b55ead3b7f@mail.gmail.com> References: <9e6237170905060003n673711bdp2e36c3b55ead3b7f@mail.gmail.com> Date: Wed, 6 May 2009 10:03:06 +0200 Message-ID: From: Jacques Fourie To: Johan Simpson Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-embedded@freebsd.org Subject: Re: FreeBSD 7.1 AMD Geode LX 800 / Compact Flash boot issues X-BeenThere: freebsd-embedded@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 May 2009 08:26:31 -0000 > Hi all, im having some problems with getting FreeBSD to work on a new > embedded Geode based motherboard. > > This is the board im using: > http://files.ieiworld.com/files/news/080325/NOVA-LX_homepage.html > > To sum up what ive tried.. > > 1. When i boot the freebsd 7.1 dvd normally, sysinstall hangs at > probing devices. > 2. I managed to get a minimal install on the compact flash, by > disabling ACPI on the dvd's boot menu. > 3. Now i have FreeBSD 7.1 successfully installed on the CF card. > > > Here is where the problems start :( > > > It locks up right before/after the loader loads loader.conf. > > > Ive put some printf calls in the loader to see where exactly the system h= angs. > > > In src/sys/boot/common/interp.c,v 1.29.28.1 2008/11/25 02:59:29 kensmith = Exp $ > > ive found a problem in interact() > > -------------------------------------------------------------------------= ------ > #ifdef BOOT_FORTH > =A0 =A0bf_init(); > #endif > =A0 =A0 printf("Reached interact1\n"); =A0 =A0/*PUT IN BY ME */ > =A0 =A0/* > =A0 =A0 * Read our default configuration > =A0 =A0 */ > =A0 =A0if(include("/boot/loader.rc")!=3DCMD_OK) > =A0 =A0 =A0 =A0include("/boot/boot.conf"); > =A0 =A0printf("\n"); > =A0 =A0/* > =A0 =A0 * Before interacting, we might want to autoboot. > =A0 =A0 */ > =A0 =A0 printf("Reached interact2\n"); /*PUT IN BY ME */ > > =A0 =A0autoboot_maybe(); > > -------------------------------------------------------------------------= ---- > > It never gets to print "Reached interact2". > > > > So ive put in some printf's into include() > > which look like this: > > ----------------------------------------------------------- > > =A0printf("Including config file\n"); > =A0 =A0if (((fd =3D open(filename, O_RDONLY)) =3D=3D -1)) { > =A0 =A0 =A0 =A0sprintf(command_errbuf,"can't open '%s': %s\n", filename, = strerror(errno)); > =A0 =A0 =A0 =A0return(CMD_ERROR); > =A0 =A0} > =A0 =A0printf("Config file is open: %s\n", filename); > =A0 =A0/* > =A0 =A0 * Read the script into memory. > =A0 =A0 */ > =A0 =A0script =3D se =3D NULL; > =A0 =A0line =3D 0; > > =A0 =A0while (fgetstr(input, sizeof(input), fd) >=3D 0) { > > =A0 =A0 =A0 =A0printf("Reading.. %s\n", input); > > > > ------------------------------------------------------------ > > > It seems that include() is called 3 times. > > After which it hangs. So ive decided to print out the lines its > reading from the config files. > > > Turns out that its not reading the config files, but garbage data. > > What can i do to fix this problem, and is this a filesystem / CF problem? > > Im willing to fix up the problem, but need some advice from the > experts before i go look for the problem in the wrong places. > > > Thank you for your time > > Johan Simpson > _______________________________________________ > freebsd-embedded@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-embedded > To unsubscribe, send any mail to "freebsd-embedded-unsubscribe@freebsd.or= g" > Disable DMA by adding hw.ata.ata_dma=3D0 to /boot/loader.conf and see if it makes a difference. Jacques