debian: test images (2014-01-10)

I'm all for simple.

I wan't going to mention the screen saver, but now that you did, I think
that is a good call. The other option would be to extend the delay to 15
minutes, instead of disabling it entirely, but I would rather see it
disabled.

The screensaver was also causing an annoying 'flash' for me, as lxde
seems to fully loaded about 2 seconds before ntp would get the updated
time info. (thus turning on the screen saver..)

Yeah, no complaints from me compared to the Angstrom eMMC flasher :slight_smile:

If nothing is being written to the uSD, then a halt is not necessary. I
would just go with whatever would be the most reliable/simple.

Yeah once the led flash full, we are 100% done with the eMMC, it's
fully synced/umounted/etc. Pretty much safe to just yank power and
pull out the microSD with no ill effects to the eMMC..

Regards,

I am awaiting approval in the bug tracker, but I saw your comment related to Wicd/Connman. If I remember correctly, there were issues with multiple connections (wired and wireless) and DHCP (only assigned an IP to the first adapter) with connman. Not sure if those were resolved.

Louis

Yuck that's even worse.. I'd like to find something that'll work with
both networks..

Here's a version of connman i'm thinking of replacing wicd with:

http://rcn-ee.net/pkgs/connman/connman_1.15/connman_1.15-0ubuntu2_armhf.deb

another option is network-manager, but like some gtk apps it's
randomly locking.. (i might have a fix, just need to test it..)

Regards,

I have wicd showing wireless networks now…

You need to go to the Preferences and enter “wlan0” into the Wireless interface section of the “General Settings” tab.

I’m still testing, but it appears to connect to the internet.

I have wicd showing wireless networks now....

You need to go to the Preferences and enter "wlan0" into the Wireless
interface section of the "General Settings" tab.

Yeah, i had tried that too today.. For some reason my Atheros adapter
is just acting up. I have a few dozen more at home i could test.

I'm still testing, but it appears to connect to the internet.

Cool, maybe we'll keep wicd.. It has all the fancy gui setting so end
users can easily configure it. Please let me know if any other issues
pop up..

Regards,

I forgot to mention, I am using a D-LINK DWA-121 [Realtek RTL8188CUS] using the kernel rtl8192cu module. But I didn’t have to do anything, manually, to get the drivers/modules loaded.

I just did a ‘ps -A’ to check for wpa_supplicant and then used ‘iwconfig’ to see if the wireless extensions were working, and that provided me with the interface name to put into wicd.

Louis

I am awaiting approval in the bug tracker, but I saw your comment related to
Wicd/Connman. If I remember correctly, there were issues with multiple
connections (wired and wireless) and DHCP (only assigned an IP to the first
adapter) with connman. Not sure if those were resolved.

Sorry about that, Louis. You should be active in the bug tracker now.

Firstly, many thanks for your hard work here!

Now that the move to debian is official, I’m scrambling to move my custom images over. With Angstrom, I had a custom .bb file that was based on the ti-hw-bringup-image.bb script and added a few extra things.

With the new scripts, I’m looking to do a number of things:

  1. Omit some packages, such as Cloud9, Node and Xorg as I don’t need them
  2. Add some of my own packages
  3. Build a custom kernel (to include a .dts)
  4. Customize the resulting rootfs (e.g. add users, systemd service scripts etc)
  5. Ultimately, automate this

Initially, I could just clone the script and edit the lines that set bborg_pkg_list to omit what I don’t want (#1) and include what I do #2. I could add a further function to modify the root filesystem before it gets zipped up (although I’m not sure how I create new users etc …).

Is there some way of being able to extend the script in this manner without having to change it so that it doesn’t get clobbered when updating?

Thanks!

-W.

The easiest thing to do, is first just fork the repo, then:

cp beagleboard.org_image.sh custom_image.sh

Then edit the "chroot_script" line, so you can run your own chroot
customization script..

For example we are calling: ( chroot_script="beagleboard.org.sh" )
https://github.com/beagleboard/image-builder/blob/master/beagleboard.org_image.sh#L342

dump your script here:
https://github.com/beagleboard/image-builder/tree/master/chroot_script

The main chroot script does set some sane defaults,

https://github.com/beagleboard/image-builder/blob/master/scripts/chroot.sh#L289

Just ping us if something is enabled by default that you need off..

Doing that other then just do a git pull everyonce in awhile to get updates..

git pull --no-edit git://github.com/beagleboard/image-builder.git master

If your project gets big, i have issues with adding it to the
readme.md list like I did with MachineKit then i just randomly pull
from those tree when they have updates..

Regards,

Fantastic, thanks for this, I’m in the process of running my first build.

However, it occurs to me that perhaps I don’t need to copy the beagleboard.org_image.sh script … it seems to write all of the things I want to change to the .project file … If I drop in my own version of this, will the “stock” beagleboard.org_image.sh pick those up?

Couple of other questions:

  1. I’m working out of master, should I be using the 01.10.2014 branch? I’m happy to work on the bleeding edge, as long as I can load my capes .dts via EEPROM
  2. I need to load some “unstable” packages from sid, is there any way in the script to do this? – specifically, golang-go (2:1.2-2) for Go 1.2
  3. I’m curious as to what is QEMU used for? I actually need it to cross compile Erlang for the BBB, so I’d like to see how it’s getting used.

Again, many thanks for your efforts!!!

-W.

Fantastic, thanks for this, I'm in the process of running my first build.

However, it occurs to me that perhaps I don't need to copy the
beagleboard.org_image.sh script ... it seems to write all of the things I
want to change to the .project file ... If I drop in my own version of this,
will the "stock" beagleboard.org_image.sh pick those up?

Hey someone noticed the heart of the script.

Correct, just setup ".project" and run

/bin/sh ./RootStock-NG.sh

Couple of other questions:

1) I'm working out of master, should I be using the 01.10.2014 branch? I'm
happy to work on the bleeding edge, as long as I can load my capes .dts via
EEPROM

Master is fine.. I only tag releases for ease of looking back...

2) I need to load some "unstable" packages from sid, is there any way in the
script to do this? -- specifically, golang-go (2:1.2-2) for Go 1.2

I haven't setup any apt-pinning yet, so in the script it's dangerous..
When i need something from sid, i just try to back port it first..

Follow:

https://wiki.debian.org/sbuild

(sid -> wheezy, amd64 -> armhf)

Make sure to set:

$build_arch_all = 1;
$build_source = 1;

Then just:
sbuild http://ftp.us.debian.org/debian/pool/main/g/golang/golang_1.2-2.dsc

hopefully you have enough memory/cpu for it to build.. (and wheezy has
the dependices, if it doesn't well it gets funner...)

3) I'm curious as to what is QEMU used for? I actually need it to cross
compile Erlang for the BBB, so I'd like to see how it's getting used.

So the script can run on an x86 machine.. Back when all the script did
was: debootstrap/dpkg/apt-get qemu worked well, howver anything like
"git clone xyz" qemu can fail.. So run it native, but in some cases
on x86 is fine..

Regards,

Success! … I think. Don’t seem to have working ethernet, here’s the console output:

[ 0.361322] omap2_mbox_probe: platform not supported
[ 0.528826] tps65217-bl tps65217-bl: no platform data provided
[ 0.593518] bone-capemgr bone_capemgr.9: slot #0: No cape found
[ 0.630626] bone-capemgr bone_capemgr.9: slot #1: No cape found
[ 0.667733] bone-capemgr bone_capemgr.9: slot #2: No cape found
[ 0.704842] bone-capemgr bone_capemgr.9: slot #3: No cape found
[ 0.720846] bone-capemgr bone_capemgr.9: slot #6: BB-BONELT-HDMIN conflict P8.45 (#5:BB-BONELT-HDMI)
[ 0.730428] bone-capemgr bone_capemgr.9: slot #6: Failed verification
[ 0.737160] bone-capemgr bone_capemgr.9: loader: failed to load slot-6 BB-BONELT-HDMIN:00A0 (prio 2)
[ 0.753514] omap_hsmmc mmc.5: of_parse_phandle_with_args of ‘reset’ failed
[ 0.816446] pinctrl-single 44e10800.pinmux: pin 44e10854 already requested by 44e10800.pinmux; cannot claim for gpio-leds.8
[ 0.828157] pinctrl-single 44e10800.pinmux: pin-21 (gpio-leds.8) status -22
[ 0.835441] pinctrl-single 44e10800.pinmux: could not request pin 21 on device pinctrl-single
Loading, please wait…
Scanning for Btrfs filesystems
systemd-fsck[201]: rootfs: clean, 32162/111104 files, 140904/444160 blocks
[ 6.087883] libphy: PHY 4a101000.mdio:01 not found
[ 6.092953] net eth0: phy 4a101000.mdio:01 not found on slave 1

Any thoughts?

Thanks!

Give it a few more seconds, currently "wicd" is under control of eth0
(not /etc/network/interfaces) on 3.8 it takes wicd about 2-3 calls
before it gets it..

The only reason i'm using wicd over /etc/network/interfaces is to
remove the 2 minute timeout if eth0 isn't connected...

Regards,

Anyone else having trouble loading cape dtbo files at boot? I cannot get cape manager to manually load/override/overlay either:
sudo echo ANY-CAPE > /sys/devices/bone-cape.9/slots
“Permission denied”

I’ve tried an A1 audio cape and a couple of capes that I built. I’ve tried recompiling the dts sources. The dmesg logs (just one example) say “failed to load firmware ‘BB-BONE-AUDI-01-00A1.dtbo’”, which I know exists in /lib/firmware and has the same permissions as the other dtbo files.

Louis

Anyone else having trouble loading cape dtbo files at boot? I cannot get
cape manager to manually load/override/overlay either:
sudo echo ANY-CAPE > /sys/devices/bone-cape.9/slots
"Permission denied"

sudo sh -c "echo 'something' >> /etc/privilegedfile"

I've tried an A1 audio cape and a couple of capes that I built. I've tried
recompiling the dts sources. The dmesg logs (just one example) say "failed
to load firmware 'BB-BONE-AUDI-01-00A1.dtbo'", which I know exists in
/lib/firmware and has the same permissions as the other dtbo files.

Regards,

Thanks, that did help me troubleshoot. I also ran as root (sudo su) and was getting error messages, but some of those errors were bogus. A quick check with ‘dmesg’ showed that the command actually went through.

Manual loading now finds the dtbo files, but still no love on auto loading capes at boot…looking into it some more.

Is it possible that the boot system is trying to find the files in the boot image and not the eMMC root filesystem? I haven’t had this much trouble with capes before (on other distros)…

Louis

in /boot/uboot/uEnv.txt did you enable it via:

optargs=capemgr.enable_partno=xzy

It's also got to be built-in..

https://github.com/RobertCNelson/linux-dev/blob/am33x-v3.8/patches/defconfig#L1305

We had problems the past with loading dtbo's from /lib/firmware/

Regards,

Ok, I had removed wicd-gtk. I replaced it with wicd-cli and the ethernet is fine!

Couple of things I noticed:

  1. Setting user_name in .project (or the main build script) gets overwritten with ‘debian’
  2. No console getty respawn.
  • I logged on to the console, ended up logging out (see #2), never got a prompt back on the console (nothing in dmesg)
  1. Terminal got screwed up.
  • At somepoint during the boot (I removed systemd=quiet so I can see what’s going on), the terminal got screwed up and the formatting went haywire:

openbsd-inetd[496]: Not starting internet superserver: no services enabled.
Started LSB: Start or stop the inetd daemon. [ OK ]
Started Provide limited super user privileges to specific users [ OK ]
Started LSB: Run /etc/rc.local if it exist [ OK ]
Started Avahi mDNS/DNS-SD Stack [ OK ]
Started Login Service [ OK ]
Started WPA supplicant [ OK ]
boot_scripts.sh[492]: Thu Jan 16 17:02:00 UTC 2014
cron[510]: Starting periodic command scheduler: cron.

  • ‘reset’ and resetting the terminal locally didn’t fix it
  1. Fails to halt properly with /sbin/halt (kernel panic)
  • If you do it via an ssh login, it just doesn’t halt
  • If you do it from the console, it does halt, but you get:

[ 146.037995] (NULL device *): gadget not registered.
[ 146.050219] musb-hdrc musb-hdrc.0.auto: remove, state 4
[ 146.055772] usb usb2: USB disconnect, device number 1
[ 146.061907] musb-hdrc musb-hdrc.0.auto: USB bus 2 deregistered
[ 146.068906] Disabling non-boot CPUs …
[ 146.073001] Power down.
[ 146.075595] System will go to power_off state in approx. 2 secs
[ 146.083999] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000
[ 146.083999]
[ 146.093558] [] (unwind_backtrace+0x1/0x8a) from [] (panic+0x51/0x148)
[ 146.102101] [] (panic+0x51/0x148) from [] (do_exit+0x345/0x618)
[ 146.110107] [] (do_exit+0x345/0x618) from [] (sys_reboot+0xcb/0x13e)
[ 146.118560] [] (sys_reboot+0xcb/0x13e) from [] (ret_fast_syscall+0x1/0x46)
[ 146.127546] drm_kms_helper: panic occurred, switching back to text console

But otherwise, great progress!

Thanks!

-W.

Give it a few more seconds, currently "wicd" is under control of eth0
(not /etc/network/interfaces) on 3.8 it takes wicd about 2-3 calls
before it gets it..

The only reason i'm using wicd over /etc/network/interfaces is to
remove the 2 minute timeout if eth0 isn't connected...

Ok, I had removed wicd-gtk. I replaced it with wicd-cli and the ethernet is
fine!

Couple of things I noticed:

1) Setting user_name in .project (or the main build script) gets overwritten
with 'debian'

Yeah, for some reason it's not sourcing it from ".project" correctly
at the moment..
https://github.com/RobertCNelson/omap-image-builder/blob/master/chroot_script/beagleboard.org.sh#L14

Working on that..

2) No console getty respawn.
    - I logged on to the console, ended up logging out (see #2), never got a
prompt back on the console (nothing in dmesg)

Is this with the main ttyO2 debug serial console or one of the video
console's tty0?

3) Terminal got screwed up.
    - At somepoint during the boot (I removed systemd=quiet so I can see
what's going on), the terminal got screwed up and the formatting went
haywire:
openbsd-inetd[496]: Not starting internet superserver: no services enabled.
Started LSB: Start or stop the inetd daemon. [ OK
]
Started Provide limited super user privileges to specific users [ OK
]
Started LSB: Run /etc/rc.local if it exist [ OK
]

Started Avahi mDNS/DNS-SD Stack [ OK
]

Started Login Service [ OK
]

Started WPA supplicant [ OK
]

boot_scripts.sh[492]: Thu Jan 16 17:02:00 UTC 2014
                                              cron[510]: Starting periodic
command scheduler: cron.

    - 'reset' and resetting the terminal locally didn't fix it

You need to re-size your serial terminal to fix this. systemd is also
a lot more noiser, hence the quiet..

4) Fails to halt properly with /sbin/halt (kernel panic)
    - If you do it via an ssh login, it just doesn't halt
    - If you do it from the console, it does halt, but you get:
[ 146.037995] (NULL device *): gadget not registered.
[ 146.050219] musb-hdrc musb-hdrc.0.auto: remove, state 4
[ 146.055772] usb usb2: USB disconnect, device number 1
[ 146.061907] musb-hdrc musb-hdrc.0.auto: USB bus 2 deregistered
[ 146.068906] Disabling non-boot CPUs ...
[ 146.073001] Power down.
[ 146.075595] System will go to power_off state in approx. 2 secs
[ 146.083999] Kernel panic - not syncing: Attempted to kill init!
exitcode=0x00000000
[ 146.083999]
[ 146.093558] [<c0010443>] (unwind_backtrace+0x1/0x8a) from [<c0455b2d>]
(panic+0x51/0x148)
[ 146.102101] [<c0455b2d>] (panic+0x51/0x148) from [<c002f799>]
(do_exit+0x345/0x618)
[ 146.110107] [<c002f799>] (do_exit+0x345/0x618) from [<c0039279>]
(sys_reboot+0xcb/0x13e)
[ 146.118560] [<c0039279>] (sys_reboot+0xcb/0x13e) from [<c000c021>]
(ret_fast_syscall+0x1/0x46)
[ 146.127546] drm_kms_helper: panic occurred, switching back to text
console

The kernel panic with halt is known..
http://bugs.elinux.org/issues/39

The system still correctly shut's off just fine.. It also affects the
older angstrom 3.8 images..

Regards,

  1. Setting user_name in .project (or the main build script) gets overwritten
    with ‘debian’

Yeah, for some reason it’s not sourcing it from “.project” correctly
at the moment…
https://github.com/RobertCNelson/omap-image-builder/blob/master/chroot_script/beagleboard.org.sh#L14

Working on that…

Cool, thanks!

  1. No console getty respawn.
  • I logged on to the console, ended up logging out (see #2), never got a
    prompt back on the console (nothing in dmesg)

Is this with the main ttyO2 debug serial console or one of the video
console’s tty0?

It was the serial console, ttyO2

  1. Terminal got screwed up.

You need to re-size your serial terminal to fix this. systemd is also
a lot more noiser, hence the quiet…

Yeah, I don’t think the resize is the issue. I have a Mac Terminal set at 80x55. I think it’s some kind of stty mode that’s changing. However, retrying it a number of times, I have only seen it “screw up” the terminal I/O a couple of times. Mostly it’s ok.

I always disable the “quiet” mode, I find it disconcerting to not see output when the system boots … kind of Windows like.

  1. Fails to halt properly with /sbin/halt (kernel panic)

The kernel panic with halt is known…
http://bugs.elinux.org/issues/39

The system still correctly shut’s off just fine… It also affects the
older angstrom 3.8 images…

I only had the one occasion when it failed to stop (that is the leds kept flashing and I could log back in via ssh). Every other time it’s halted (with the panic).

Thanks!

-W.