BeagleBoard-xM - can't boot Arch Linux from microSD card

This forum is for supported devices using an ARMv7 Texas Instruments (TI) SoC.

BeagleBoard-xM - can't boot Arch Linux from microSD card

Postby bennerhq » Fri Jan 27, 2012 4:51 pm

Hello,

First; i'm new to this => i'm deeply sorry if this is a stupid question answered 100 times before!

I'm trying to install Arch Linux on a SD card for Beagleboard-xM, but i can't get it to boot... From the serial port i get the following output (Tux is displayed on the HDMI display):
$this->bbcode_second_pass_code('', '
------------------------------------------------------------
Texas Instruments X-Loader 1.5.1 (Jul 20 2011 - 09:50:57)
Beagle xM
Reading boot sector
Loading u-boot.bin from mmc

U-Boot 2011.06-dirty (Jul 19 2011 - 17:30:34)

OMAP36XX/37XX-GP ES2.1, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 512 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0
*** Warning - readenv() failed, using default environment

In: serial
Out: serial
Err: serial
Beagle xM Rev C
No EEPROM on expansion board
Die ID #54ec00029ff80000016842c81101202c
Net: Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot: 0
SD/MMC found on device 0
reading uEnv.txt

273 bytes read
Importing environment from mmc ...
reading boot.scr

225 bytes read
Running boot.scr script from mmc ...
## Executing script at 82000000
mmc - MMC sub system

Usage:
mmc read addr blk# cnt
mmc write addr blk# cnt
mmc rescan
mmc part - lists available partition on current mmc device
mmc dev [dev] [part] - show or set current mmc device [partition]
mmc list - lists available devices
reading uImage

4409244 bytes read
## Booting kernel from Legacy Image at 80300000 ...
Image Name: Linux-3.1.6-1-ARCH
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4409180 Bytes = 4.2 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[ 0.088378] Unable to get DVI reset GPIO
[ 0.184692] _omap_mux_init_gpio: Could not set gpio192
[ 2.720245] twl4030_wdt twl4030_wdt: Failed to register misc device
[ 5.235778] mmc0: error -110 whilst initialising SD card

------------------------------------------------------------
')
i'm doing something completely stupid, but don't know what -- please help??

thanks a million,
br/benner
Last edited by WarheadsSE on Mon Jan 30, 2012 2:22 pm, edited 1 time in total.
Reason: adding code tags
bennerhq
 
Posts: 4
Joined: Fri Jan 27, 2012 4:43 pm

Re: BeagleBoard-xM - can't boot Arch Linux from microSD card

Postby kmihelich » Fri Jan 27, 2012 6:15 pm

Looks like the mmc command in boot.scr is messed up.. can you post the commands you used to generate it?
Arch Linux ARM exists and continues to grow through community support, please donate today!
kmihelich
Developer
 
Posts: 1133
Joined: Tue Jul 20, 2010 6:55 am
Location: aka leming #archlinuxarm

Re: BeagleBoard-xM - can't boot Arch Linux from microSD card

Postby bennerhq » Fri Jan 27, 2012 6:24 pm

i used the instructions from http://archlinuxarm.org/platforms/armv7/beagleboard-xm, i.e.;

1) created bootcmd:
setenv bootargs 'console=ttyO2,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait'
mmc init
fatload mmc 0 0x80300000 uImage
bootm 0x80300000
boot

2)
# mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Beagleboard-xM boot script" -d bootcmd boot.scr


br/benner
bennerhq
 
Posts: 4
Joined: Fri Jan 27, 2012 4:43 pm

Re: BeagleBoard-xM - can't boot Arch Linux from microSD card

Postby andre » Mon Jan 30, 2012 10:36 am

'mmc init' is removed from newer versions of u-boot,
it's no longer required to manually initialise the mmc,
therefore you should just remove the mmc init line
andre
 
Posts: 69
Joined: Wed Jan 25, 2012 1:39 pm
Location: Eindhoven

Re: BeagleBoard-xM - can't boot Arch Linux from microSD card

Postby RunningLight » Fri Feb 10, 2012 5:24 pm

So I just got hold of a BeagleBoardXM, rev A2, tried the same instructions bennerhq tried, and got the same time-out failure during boot (mmc0: error -110 ...).

Deleting the 'mmc init' instruction from boot.scr as suggested by andre did NOT solve the problem; the kernel still hangs at the SD initialisation step.

Does anyone have another suggestion? I had no difficulty booting Angstrom Linux on the same board using the same microSD card with either the validation or the demo image.

A shot in the dark: The ArchLinuxARM distribution includes kernel 3.1.6 and the Angstrom distribution includes kernel 2.6.32. I don't know how their mmc/sd subsystems differ and whether this has any bearing on the problem.

Regards,
Kent
RunningLight
 
Posts: 9
Joined: Fri Feb 10, 2012 5:08 pm

Re: BeagleBoard-xM - can't boot Arch Linux from microSD card

Postby WarheadsSE » Fri Feb 10, 2012 5:59 pm

The kernel is after uboot
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Re: BeagleBoard-xM - can't boot Arch Linux from microSD card

Postby RunningLight » Fri Feb 10, 2012 7:01 pm

$this->bbcode_second_pass_quote('WarheadsSE', 'T')he kernel is after uboot


I'm sorry, WarheadsSE, I don't understand your point.

The error shows up late in the boot sequence (see bennerhq's original post):
-the TI X-Loader has loaded U-boot
-U-boot has read its configuration files and loaded the kernel (uImage)
-the kernel has uncompressed and is the process of initializing.

Regards,
Kent
RunningLight
 
Posts: 9
Joined: Fri Feb 10, 2012 5:08 pm

Re: BeagleBoard-xM - can't boot Arch Linux from microSD card

Postby RunningLight » Sat Feb 11, 2012 7:04 pm

$this->bbcode_second_pass_quote('RunningLight', 'S')o I just got hold of a BeagleBoardXM, rev A2, tried the same instructions bennerhq tried, and got the same time-out failure during boot (mmc0: error -110 ...).

Deleting the 'mmc init' instruction from boot.scr as suggested by andre did NOT solve the problem; the kernel still hangs at the SD initialisation step.

Does anyone have another suggestion? I had no difficulty booting Angstrom Linux on the same board using the same microSD card with either the validation or the demo image.

A shot in the dark: The ArchLinuxARM distribution includes kernel 3.1.6 and the Angstrom distribution includes kernel 2.6.32. I don't know how their mmc/sd subsystems differ and whether this has any bearing on the problem.

Regards,
Kent


Some hours spent searching the web have revealed that:

1) the problem has been discussed off and on going back to 2009 mainly on forums devoted to ARM/Ubuntu
2) the severity of the problem is dependent on the make and model of SD card (I happen to be using class 4 SanDisk microSDHC cards).
3) the problem may be exacerbated by the nature of the BeagleBoardXM's physical interface to the microSD card
4) the problem has been mitigated to varying degrees by one or more patches to the kernel driver code and by choosing certain kernel configuration parameters
5) there doesn't seem to be any consistency to the implementation of the fixes in various distributions

So my shot in the dark was close but not close enough. It's not the kernel version but the presence or absence of specific patches and configuration that counts. It's a chore figuring out whether any specific kernel is going to work.

Sigh. It looks like I'm going to be sticking with the distributions that work for me "out of the box." There's just not enough hours in the day.

Regards,
Kent
RunningLight
 
Posts: 9
Joined: Fri Feb 10, 2012 5:08 pm

Re: BeagleBoard-xM - can't boot Arch Linux from microSD card

Postby cyberic » Sun Feb 12, 2012 1:06 am

You could take a kernel that 'works' from another distribution, and run archlinux on it?
Image
cyberic
 
Posts: 71
Joined: Sun Jan 15, 2012 11:26 pm

Re: BeagleBoard-xM - can't boot Arch Linux from microSD card

Postby RunningLight » Sun Feb 12, 2012 2:33 pm

$this->bbcode_second_pass_quote('cyberic', 'Y')ou could take a kernel that 'works' from another distribution, and run archlinux on it?


Thanks for your input, cyberic.

I figure I have three choices if I want to run ArchLinux/ARM on my BeagleBoardXM.

1) Search for a "better" microSDHC card that boots ArchLinux/ARM. Presumably this means one with a higher speed rating, e.g., class 6, 8, or 10, and possibly trying a different brand.

-If I had a source of free cards, I'd have done this already. It could get expensive in a hurry buying and trying cards. I'd rather use the money to buy a BeagleBone.

2) On a cross-compiling host, patch the ArchLinux/ARM kernel sources and recompile with recommended changes to the kernel configuration parameters.

-This is certainly do-able. The only problem I see with this approach is the time it takes away from my application development and I have little enough time available as it is.

3) do as you suggest and mix-and-match kernels.

-This also is certainly do-able. I'm a little gun-shy about potential problems with possibly differing headers when it comes to building my A/V application but at least I could be building up the ArchLinux rootfs I want. I suspect I'd soon want to build a new, patched kernel within ArchLinux/ARM which would take me back to choice #2, since my hosts are bigger and faster.

At this point I haven't decided whether to follow your suggestion or to continue with Angstrom. Gotta do that real soon now!

The good news is, I have choices, not roadblocks ;)

Regards,
Kent
RunningLight
 
Posts: 9
Joined: Fri Feb 10, 2012 5:08 pm
Top

Next

Return to Texas Instruments (TI)

Who is online

Users browsing this forum: No registered users and 20 guests