Here is the BeagleBone Debian (beta) image you want to test

Robert, thanks for your work.

Is there a guide somewhere to build or a way to download a absolute minimal image. Something with only ssh, apt and full hardware initialization on it and nothing else. That would be a good base for couple of headless projects I am thinking about.

When I am talking about HW initialization I am only thinking about network and hwrng

Right now I am using this:

http://rcn-ee.net/deb/flasher/wheezy/BBB-eMMC-flasher-debian-7.4-2014-02-16-2gb.img.xz

and I will continue to use it as it is. But if you plan to stop developing those images I need to start thinking about another way to get a headless emmc debian image working.

No worries, I have no plans to discontinue those monthly "minimal"
images. I have a lot of users using them. Plus they support older
boards like the beagle.

Regards,

Robert,
Just my $0.02 about where info should be stored: I completely agree about Dennis’ “Wild West” comment. When I first started with the BBB back in Sep2013 all 5 of the various websites that Dennis referenced seemed to contradict each other. The “official” image was outdated and the most recent images were hidden away and you almost needed a “secret knock” to find them. I completely understand that everything has been in a massive state of flux, especially since all of the changes with the way Device Tree was handled, etc, etc. It seems to me, though, that out of the 5 websites that Dennis referenced, perhaps 4 of them should say “Things are in a state of massive flux right now… Instead of us updating 5 websites all the time, Please check this one website for the most up-to-date info.” Then on the 1 website which is “continuously updated” it could say: Here is the most recent “stable” official image and here is the most recent “development” official image. It is strange having 5 different websites to have to check when you are a Newbie…and then Gerald says “why didnt you check ‘the’ website”.

Thx! I respect and appreciate all the work you do!! These are challenging times!
-frenchy

Hi Steve,

I've started an offical page at:

http://elinux.org/Beagleboard:BeagleBoneBlack_Debian

My plan is to hint at this page in both the serial/dvi terminal along
with an ssh message on the default image.

I'll try to get the "more info" links from here
http://beagleboard.org/latest-images

also linked to that page.

Regards,

Can you pastebin this file for me:

/var/log/xinput_calibrator.pointercal.log

and the output of “xinput” you will have to run it from x11, no serial/ssh…

Here you go:

xinput_calibrator.log xinput_calibrator.log - Pastebin.com
xinput.txt xinput.txt - Pastebin.com
lsusb.txt lsusb.txt - Pastebin.com

Yeah,

export PATH=$PATH:~/bin

in ~/.profile is all you should need…

You are missing my point. These commands are already in the default .profile created for the debian user. See the .profile - Pastebin.com for a copy of mine. I added the TZ environment variable at the end.

ls ~ shows my bin directory exists
env | grep HOME shows the HOME variable as /home/debian
env | grep PATH shows the PATH as /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

The .profile should be adding /home/debian/bin to the path, but it is not. It is also not adding the TZ variable to the environment.

BTW, we could probably remove the two games directories from the default PATH as well. I don’t think many users will be using BBB for gaming.

Dennis Cote

Is this shell running within X? If so .profile isn't sourced as it's not run as login shell. I don't quite follow why you want to set the TZ variable from the user environment either. It's all handled at a system level by default.

No need to set the variable then export it either, just do it all in one go.

export TZ="Whatever"

Also less typing to just "echo" variables....

echo $HOME $PATH

Really no need for env and grep.

Mike

Hi Robert,

I’m sorry to nitpick, but this new “official” page is wrong right out of the gate.

It says it is “about running an ARM EABI Debian” distribution. The Debian page at https://wiki.debian.org/ArmEabiPort says this is different than the newer armhf ABI which I believe is the basis for your images. Getting this kind of basic stuff correct is important.

Also, the description of how to set the timezone to your local timezone so that the clock displays local wall clock time is terse to point of extreme. It is not at all clear what the listed commands do, or why you might want to use them.

Dennis Cote

Can you pastebin this file for me:

/var/log/xinput_calibrator.pointercal.log

and the output of "xinput" you will have to run it from x11, no
serial/ssh..

Here you go:

xinput_calibrator.log pastebin.com/EZ4uSu4W
xinput.txt pastebin.com/ZBDXGkt3
lsusb.txt pastebin.com/0UthnPqZ

I don't see anything obvious, so I ordered it up..

Yeah,

export PATH=$PATH:~/bin

in ~/.profile is all you should need..

You are missing my point. These commands are already in the default .profile
created for the debian user. See the pastebin.com/kjDXbEpJ for a copy of
mine. I added the TZ environment variable at the end.

ls ~ shows my bin directory exists
env | grep HOME shows the HOME variable as /home/debian
env | grep PATH shows the PATH as
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

The .profile should be adding /home/debian/bin to the path, but it is not.

It works here:

debian@beaglebone:~/bin$ nano simple.c
debian@beaglebone:~/bin$ gcc -Wall simple.c -o simple
debian@beaglebone:~/bin$ cd ..
debian@beaglebone:~$ which simple
/home/debian/bin/simple
debian@beaglebone:~$ simple
Simple Program

One thing i can do is just to add the directory by default in the image.

debian@beaglebone:~$ echo $PATH
/home/debian/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

It is also not adding the TZ variable to the environment.

Just use:

dpkg-reconfigure tzdata

or:

echo "Europe/Zurich" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata

BTW, we could probably remove the two games directories from the default
PATH as well. I don't think many users will be using BBB for gaming.

The default /etc/profile sets the gaming directories up by default. So
i opted to just leave them.

/usr/local/games:/usr/games

The only thing i've done there, is to tweak the path to also include
the root "sbin" directories too for the normal user..

Regards,

I've started an offical page at:

Beagleboard:BeagleBoneBlack Debian - eLinux.org

Hi Robert,

I'm sorry to nitpick, but this new "official" page is wrong right out of the
gate.

No problem, i just copied it from my other Debian page. :wink:

It says it is "about running an ARM EABI Debian" distribution. The Debian
page at ArmEabiPort - Debian Wiki says this is different than the
newer armhf ABI which I believe is the basis for your images. Getting this
kind of basic stuff correct is important.

Well, technically "armhf" is still "EABI", but over "armel" it has
hard floating point enabled by default.

Also, the description of how to set the timezone to your local timezone so
that the clock displays local wall clock time is terse to point of extreme.
It is not at all clear what the listed commands do, or why you might want to
use them.

I'll fix those up, I'm just merging/pushing all my notes/fixes/etc
from yesterday right now. :wink:

Regards,

Is this shell running within X? If so .profile isn’t sourced as it’s
not run as login shell.

Ah ha… there is the nugget of truth I was looking for. Yes, this is the LXTerminal under LXDE.

I checked and the .profile is executed for my serial console.

So how does one get the same path for the LXTerminal as you get using a serial terminal? Also, is an ssh terminal a login shell, or is like the X terminal?

I don’t quite follow why you want to set the TZ
variable from the user environment either. It’s all handled at a system
level by default.

No need to set the variable then export it either, just do it all in one go.

export TZ=“Whatever”

I know that now, but yesterday when I was trying to get the timezone set correctly I ran the tzselect command (which seemed logical). This is the output of that command:

The following information has been given:

Canada
Mountain Time - Alberta, east British Columbia & west Saskatchewan

Therefore TZ=‘America/Edmonton’ will be used.
Local time is now:Fri Mar 14 09:31:43 MDT 2014.
Universal Time is now:Fri Mar 14 15:31:43 UTC 2014.
Is the above information OK?

  1. Yes
  2. No
    #? 1

You can make this change permanent for yourself by appending the line
TZ=‘America/Edmonton’; export TZ
to the file ‘.profile’ in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
America/Edmonton

So I did as it suggested. I added this line to my .profile and logged out and in. This again seemed logical. I left it in as a simple test of whether or not my .profile was executed. I will remove it now.

Also less typing to just “echo” variables…

echo $HOME $PATH

Really no need for env and grep.

Yes, thanks for the tip. I started by using env to dump my entire environment, and then just progressed to using grep to filter the dump, while looking into why the .profile wasn’t being executed.

Thanks again for the info.

Dennis Cote

Ahh, I've been doing it over serial/ssh..

For lxterminal (which doesn't reference .profile according to lots of
bug reports). It works if i add:

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

into .bashrc

If there is no objections i'll probably set that up by default..

Regards,

btw, as a workaround till i can debug it with the same hardware, just run:

sudo sed -i -e 's:display-setup-script=:#display-setup-script:g'
/etc/lightdm/lightdm.conf

And it'll stop displaying the calibrator on bootup.

Regards,

Will this add the user’s bin directory to the path twice when using a serial console since .bashrc is sourced from the existing .profile?

Dennis Cote

Yeap it does..

debian@beaglebone:~$ echo $PATH
/home/debian/bin:/home/debian/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

What gets sourced first? i can patch it to check..

Regards,

I moved that section from my .profile to .bashrc since .profile will source .bashrc if it exists. So a login shell will source .profile, which will source .bashrc and add the path. A non login shell will source .bashrc directly and add the path. This seems to work for me.

I’m not sure what happens for script that use #!/bin/sh since that runs dash instead of bash. The dash docs say it sources .profile on login shells so that should be OK, but for non login shells it says it looks in the ENV environment variable for the name of a file to execute. There is no such variable defined currently so it does nothing.

Perhaps these commands should be put in a .shinit file and then set ENV=$HOME/.shint in the .profile file to take card of setting it for login shells, and have the .bashrc source this .shinit file for non login shells.

Dennis Cote

FYI, commenting out the display-setup-script line does not take effect until after you reboot.

I no longer have the calibration screen on startup or logout.

Thanks.

Dennis Cote

Here is a better fix:

sudo sed -i -e 's:Exec=lxterminal:Exec=lxterminal -l -e bash:g'
/usr/share/applications/lxterminal.desktop

Regards,

Robert, your timezone is fine for me. I am actually AZ time myself, but really simple to change via dpkg-reconfigure tzdata.

Also, as for how to change some default stuff, perhaps have a web page ( html file, or maybe even a node.js thing to make it more dynamic ? )

Dennis, just so you know, you should be able to google “debian” + whatever keyword you need to know something about to find an answer. We’re talking basic Linux / Debian stuff here. For example.

google → howto change debian timezone, and you will very likely find what i asked about last night “dpkg-reconfigure tzdata”.

Anyway, dont feel as though I am putting you down by saying this. quite the contrary actually. As I have been using Debian since the 90’s and have to google many things. Especially now considering I really want to look into using systemmd.

Sorry, I felt i was not clear in my last post . . .

Also, as for how to change some default stuff, perhaps have a web page ( html file, or maybe even a node.js thing to make it more dynamic ? )

What I mean by the above, is have an information web page on how to do various things, like how to set time zone etc. Perhaps as part of the getting started page thats already on the BBB.

Even though I think Debian is one of the better distro’s out there because of the fact you can simply google the answer to your questions( just one aspect actually ) I feel that having a web page linked to from the getting started page on how to change all teh default basic stuff would be super helpful for new users.

As far as I can tell by using ps - p $$, lxterminal is already running bash, so adding -e bash shouldn’t change anything. Adding the -l make it a login shell, so it sources /etc/profile and then .profile, which sources .bashrc if it exists.

Without this change lxterminal runs bash as a non login shell so it sources /etc/bash.bashrc and then .bashrc instead. The /etc/bash.bashrc file setups the command prompt.

What I don’t understand is why an lxterminal command with no options starts a bash shell, but an lxterminal -l command starts a /bin/sh shell which is actually a dash shell. You end up with no command prompt because it doesn’t run /etc/bash.bashrc. There are probably other differences. This is why you added the -e bash option.

Anyway this does seem like a better fix, though anything that runs /bin/sh will still have a different PATH without the user bin directory.

Dennis Cote