I have a few inter-related issues:
- Why would one kernel boot a card that another kernel can't?
- Why would a card's disk geometry matter for boot?
- Who is a good manufacturer for getting hardware-identical cards in
bulk?
- How can I probe the actual "disk geometry" of an sd card?
I bought 100 Transcend SD cards a little while ago and duplicated them with
an OpenEmbedded-based filesystem (linux-2.6.36).
There were a few "bad" cards that I threw out, but the success rate was
acceptable.
In the next round of 40 SD cards I used a Linaro-based filesystem
(linux-2.6.39) and had about a 50% failure rate when testing that the cards
would boot, which is absurd.
There kernel reports: [ 1.003204] mmcblk0: unknown partition table
However, the cards would mount and show files just fine.
I reduplicated one of the non-booting cards with an OpenEmbedded filesystem
and then it booted. Weird!
After some investigation I found that using `gparted` (instead of `fdisk`)
to create a new partition table and then `rsync`ing the contents of the
original filesystem resulted in a booting Linaro card.
Rinse and repeat and I ended up with 3 images which only vary by the disk
geometry as reported by `fdisk -l`:
- 50% -- 255 heads, 63 sectors/track, 974 cylinders
- 40% -- 2 heads, 4 sectors/track, 1957632 cylinders
- 10% -- 247 heads, 62 sectors/track, 1022 cylinders
- 1 card still didn't boot
I'm lost. Please advise.
AJ ONeal
Non-booting kernel message
[ 0.923309] Waiting for root device /dev/mmcblk0p2...
[ 0.957885] mmc0: host does not support reading read-only switch.
assuming write-enable.
[ 0.982025] mmc0: new high speed SDHC card at address b368
[ 0.988494] mmcblk0: mmc0:b368 USD 7.46 GiB
[ 0.993957] mmcblk0: detected capacity change from 0 to 8018460672
[ 1.003204] mmcblk0: unknown partition table
[ 1.036926] VFS: Cannot open root device "mmcblk0p2" or
unknown-block(179,2)
[ 1.044433] Please append a correct "root=" boot option; here are the
available partitions:
[ 1.053344] b300 7830528 mmcblk0 driver: mmcblk
[ 1.058959] Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(179,2)
Booting kernel message
[ 1.122070] mmc0: host does not support reading read-only switch.
assuming write-enable.
[ 1.146087] mmc0: new high speed SDHC card at address b368
[ 1.152557] mmcblk0: mmc0:b368 USD 7.46 GiB
[ 1.158020] mmcblk0: detected capacity change from 0 to 8018460672
[ 1.166351] mmcblk0: p1 p2 p3
[ 1.259674] EXT3-fs: barriers not enabled
[ 1.265411] kjournald starting. Commit interval 5 seconds
[ 1.271331] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data
mode
[ 1.278686] VFS: Mounted root (ext3 filesystem) readonly on device 179:2.
I've just pushed a 3.0 based branch to the Linaro+Android git tree,
which can be found here:
git://git.linaro.org/people/jstultz/android.git linaro-android-3.0
See the revision log here:
http://git.linaro.org/gitweb?p=people/jstultz/android.git;a=shortlog;h=refs…
At the moment there isn't a 3.0 based linaro tree, so in order to
facilitate early testing with 3.0 for the 11.07 release, I've gone ahead
and pushed out only the android-3.0 branch + a few defconfig changes.
Once Nico makes the 3.0 linaro tree available, I'll merge it in as I
normally do.
Known issues:
-------------
o The ADB code has changed in 3.0, and requires some commands from
userland at boot in order to be enabled. See bug #807230 for details.
o EDID isn't yet working, so to get graphics on pandaboard, I needed to
add: "omapfb.mode=dvi:1280x1024MR-16@60" to the boot prompt. Zach is
looking into this w/ the TI developers.
o USB goes to sleep periodically, and requires a keystroke to wake up.
Unfortunately usb adb connections don't survive these cat-naps.
o I've not finished testing on beagleboard, but it was working a few
days ago without major issues.
Please let me know if anyone runs into any additional issues.
thanks
-john
Hi folks.
I wrote this script that allows one to upgrade from l-c to
lava-dashboard. The script is interactive due to debconf which we are
currently stuck with. I tested it in several configurations on a
snapshot of l-c 0.4.1
I would like to use this script in the migration guide, feedback welcome!
Thanks
ZK
Hi Zach,
We have a request in the queue to set up Gerrit for the Android team,
and I know it's something that you consider very important. We haven't
yet talked specifics of the configuration of Gerrit, and so I don't yet
have a solid idea of what work there is for the Infrastructure team
there. I'd like to rectify that and create an implementation plan for
the first steps to where you want to go.
To that end, if we had a vanilla Gerrit instance up and running
tomorrow, what would be the first things that you would want to do to it
before it would be useful to you?
Thanks,
James
Hello,
I'd like to upgrade Jenkins on the production to be close to sandboxes
(which always use latest) and local development to be performed per
this milestone's blueprints. android-build.linaro.org runs 1.400,
latest is 1.418. Interim versions were tested regularly on
sandboxes, and I reviewed changelog and saw no backwards-incompatible
changes which might affect us. Actually, it has few nice fixes and
features useful for us, including those which raised discontent with
using Jenkins for our usage patterns:
* Label expression logic wasn't supporting a binary operator sequence
like "a || b || c" (issue 8537)
* Move Jenkins URL setting from E-mail Notification to its own section
in the main configuration.
* Added an extension point to allow prodding the NodeProvisioner into
taking action faster than it might usually.
* When there are absolutely no executors for a specific label, there was
an unnecessary delay in provisioning the first node for that label.
* Added a new build parameter type that shows a text area
So, I'd propose to perform upgrade European morning on Thursday, 7th.
Please let me know if there're any concerns.
--
Best Regards,
Paul
Hi -
Yesterday I studied suspend status on 3.0 kernel for Panda, for mem
suspend it's working pretty well in Ubuntu case, desktop is coming back
up woken by USB keyboard action, WLAN is workable after reassociation.
However in Android case, the same tree merged with common-android-3.0 to
get Androidization is blowing chunks in suspend / resume, entering a
loop where it aborts suspend and then tries to suspend again all the time.
Increasing the debug level in wakelock code shows at least two guys that
can make trouble, locks "mmc_delayed_work" and "alarm_rtc".
"mmc_delayed_work" casues wakelock stuff to return -EAGAIN, and
"alarm_rtc" seems to timeout as a wakelock, but leave the alarm device
in a state where it will abort suspend on -EBUSY.
I took a look in drivers/mmc/core/core.c to see what the wakelock
support patches had done there and was a bit surprised.
They have a single wakelock to cover delayed work in there, however
there are multiple delayed works possible to be queued, eg delayed
disable and delayed detect actions, and although they wrap scheduling
the delayed work to also lock the wakelock, they don't wrap cancelling
it, eg -->
void mmc_stop_host(struct mmc_host *host)
{
...
if (host->caps & MMC_CAP_DISABLE)
cancel_delayed_work(&host->disable);
cancel_delayed_work_sync(&host->detect);
mmc_flush_scheduled_work();
Nor do wakelocks seem to maintain counters, they're either locked or
unlocked.
So the following code looks highly suspicious:
static int mmc_schedule_delayed_work(struct delayed_work *work,
unsigned long delay)
{
wake_lock(&mmc_delayed_work_wake_lock);
return queue_delayed_work(workqueue, work, delay);
}
static int mmc_host_do_disable(struct mmc_host *host, int lazy)
{
....
(conditionally)
mmc_schedule_delayed_work(&host->disable, delay);
...
}
void mmc_host_deeper_disable(struct work_struct *work)
{
...
mmc_host_do_disable(host, 1);
...
wake_unlock(&mmc_delayed_work_wake_lock);
}
Ie mmc_host_deeper_disable() can provoke delayed work which it proceeds
to unlock wakelock coverage for.
To the point of the symptoms:
int mmc_pm_notify(struct notifier_block *notify_block,
unsigned long mode, void *unused)
{
...
switch (mode) {
case PM_HIBERNATION_PREPARE:
case PM_SUSPEND_PREPARE:
...
cancel_delayed_work_sync(&host->detect);
So here when preparing for suspend we can cancel the delayed work we
presumably arranged wakelock coverage for, without unlocking the wakelock.
Am I missing the point or is some work needed to improve wakelock
application for mmc stuff in common-android-3.0?
-Andy
--
Andy Green | TI Landing Team Leader
Linaro.org │ Open source software for ARM SoCs | Follow Linaro
http://facebook.com/pages/Linaro/155974581091106 -
http://twitter.com/#!/linaroorg - http://linaro.org/linaro-blog
All,
We need your help. Over the weekend we "upgraded" our building of
natty based images from using live-helper 2 to live-build 3. (same
tool just slightly newer name and more shiny) It is possible that
given evolutionary changes to the build tool that there maybe new and
interesting bugs introduced.
11.07 isn't that far away so time spent testing NOW will mean less
late night debug sessions later.
Here's what you need to do.
>From snapshots.linaro.org download a the July 6th build: one of alip,
developer, nano or ubuntu-desktop and a hwpack for your board. Use
linaro-media-create to get the image onto an SD. Boot said combination
on your board and report the results on qatracker.linaro.org.
Please take some time to DO THIS TODAY. The earlier we find
regressions in what will be 11.07 the better.
If you're able to test more than one image/hwpack combination, that's
all the more awesome, with awesome sauce!
Thanks!
--
Regards,
Tom
"We want great men who, when fortune frowns will not be discouraged."
- Colonel Henry Knox
Linaro.org │ Open source software for ARM SoCs
w) tom.gall att linaro.org
w) tom_gall att vnet.ibm.com
h) tom_gall att mac.com
Hi
Linaro backport PPA [1] got updated to latest versions of armel cross
toolchains -- oneiric packages were used as a base.
What got changed:
- gcc 4.4 was updated to 4.4.6-3ubuntu1
- gcc 4.5 was updated to 4.5.3-1ubuntu2
- binutils was updated to 2.21.52.20110606-1ubuntu1
- eglibc was updated to 2.13-6ubuntu2
- gcc 4.6 was provided as 4.6.0-14ubuntu1 in Maverick, Natty
- gcc-defaults-armel-cross was updated to 1.6 in Maverick, Natty (uses
gcc-4.6 as default)
There is no gcc-4.6 for Lucid currently as it requires newer versions of
few libraries (mpfr, mpc) and one of rule of this PPA is "do not update
packages which may affect other packages".
Please test them and report any bugs found.
1. https://launchpad.net/~linaro-maintainers/+archive/toolchain/