tag:blogger.com,1999:blog-50481202924974798922024-02-06T20:18:33.460-08:00alastordmcblogMy own adventure of the Linux world ... and moreAlastor01http://www.blogger.com/profile/02073314960884277316noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-5048120292497479892.post-1068930729052635082016-06-17T11:32:00.004-07:002016-08-23T09:51:06.900-07:00Ubuntu Precise 12.04 on Pandaboard - Configuration<h2>
This guide describes how to install and configure Ubuntu Precise on OMAP4 Pandaboard with working HDMI out (ES should be similar)</h2>
(I have put code below)<br />
<br />
<h3>
What do you need:</h3>
- Panda-board + power supply<br />
- Linux host (You can use Windows with Cygwin as an alternative: https://www.cygwin.com)<br />
- Host computer with SD card reader (or separate)<br />
- SD card: 8BG+ ( MIN = 4GB), Class 10 preferably (fastest)<br />
- Wifi / Ethernet connection<br />
- Minicom<br />
- HDMI / DVI supported TV / monitor<br />
- Serial cable (optional, I am not a developer)<br />
<br />
<h3>
SD Card:</h3>
First, make sure you have >4GB SD card to make your life easier. If you use 4GB card for e.g., there is very high chance resizing will fail .. And you will have to do it manually. Thus, ideally you should use SD card 8 GB or bigger. Also, I recommend faster class.<br />
<br />
<h3>
Prepare SD card:</h3>
Download pre-built image (OMAP4 ARMv7 hardfloat)<br />
<a href="http://cdimage.ubuntu.com/releases/12.04/release/ubuntu-12.04-preinstalled-desktop-armhf+omap4.img.gz">http://cdimage.ubuntu.com/releases/12.04/release/ubuntu-12.04-preinstalled-desktop-armhf+omap4.img.gz</a><br />
Uncompress gzip archive<br />
Make sure you know which device your SD card stands for, in most cases it would be sdc or sdd (sda is definitely wrong ... don't wipe your hard drive !) Use sudo fdisk -l to check !<br />
Transfer the image with dd command - takes some time and sync<br />
Now your card is ready !<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
sudo fdisk -l</blockquote>
<blockquote class="tr_bq">
cd $HOME</blockquote>
<blockquote class="tr_bq">
wget http://cdimage.ubuntu.com/releases/12.04/release/ubuntu-12.04-preinstalled-desktop-armhf+omap4.img.gz</blockquote>
<blockquote class="tr_bq">
gunzip ubuntu-12.04-preinstalled-desktop-armhf+omap4.img.gz</blockquote>
<blockquote class="tr_bq">
sudo dd bs=4M if=ubuntu-12.04-preinstalled-desktop-armhf+omap4.img of=/dev/sdX</blockquote>
<blockquote class="tr_bq">
sudo sync</blockquote>
</blockquote>
<br />
<br />
<h3>
Boot up your board:</h3>
You should get HDMI image immediately more or less. LEDs should be lit and working.<br />
You should be informed that the filesystem is being re-sized - if it fails, you would need to do it manually on your host computer (e.g. with GParted).<br />
Then, it should reboot and commence installation - follow on-screen instructions (input your router details to make use of Wifi).<br />
<br />
<br />
<h3>
Install add-ons and do basic configuration:</h3>
<u>Follow step-by-step - otherwise you will run into problems:</u><br />
1) A) (Update) Before anything else, update your repos in: <code>/etc/apt/sources.list </code><br />
and uncomment any unused repositories, including<i> precise-backports</i>, but make sure there are no duplicates.<br />
- B) Alternatively, you can use Software Properties application:<br />
<blockquote class="tr_bq">
<pre><code>software-properties-gtk</code></pre>
</blockquote>
(If you run into duplicate warnings: <a href="http://askubuntu.com/questions/120621/how-to-fix-duplicate-sources-list-entry">http://askubuntu.com/questions/120621/how-to-fix-duplicate-sources-list-entry</a>) <br />
2) Add OMAP PPA (Guide for installation of add-ons: <a href="https://groups.google.com/forum/#%21topic/pandaboard/vKunvhMNV8k">https://groups.google.com/forum/#!topic/pandaboard/vKunvhMNV8k</a><br />
3) Update sources and upgrade software.<br />
4) Install drivers.<br />
5) Change bootargs ! Follow this link for more info: <a href="https://groups.google.com/forum/#!msg/pandaboard/7DLabw7amBg/ofeX-SOsdw4J">https://groups.google.com/forum/#!msg/pandaboard/7DLabw7amBg/ofeX-SOsdw4J</a><br />
Change this:<br />
<blockquote class="tr_bq">
<span style="background-color: white; border: 0px; color: #222222; font-family: "courier new" , monospace; font-size: 13px; margin: 0px; padding: 0px;">vram=40M mem=456M@0x80000000 mem=512M@0xA0000000</span></blockquote>
to this:<br />
<blockquote class="tr_bq">
<span style="background-color: white; color: #222222; font-family: "courier new" , monospace; font-size: 13px;">mem=1G@0x80000000</span></blockquote>
<br />
in your<span style="color: #222222;"><span style="font-family: "arial" , "helvetica" , sans-serif;"> </span></span>/boot/boot.script<br />
<blockquote class="tr_bq">
<span style="background-color: white; color: #222222; font-family: "courier new" , monospace; font-size: 13px;">ro elevator=noop console=ttyO2,115200n8 mem=1G@0x80000000 root=<UUID or LABEL root> fixrtc splash</span></blockquote>
(Recommended bootargs according to Xavier) <br />
6) Force bootloader update.<br />
7) Tweak ALSA as advised (not sure why).<br />
8) Disable hardware cursor option ! It cause GUI crashes if not disabled. Edit /usr/share/X11/xorg.conf.d/99-omap.conf and add this line to Device section:<br />
<blockquote class="tr_bq">
<span style="background-color: white; color: #222222; font-family: "courier new" , monospace; font-size: 13px; line-height: 19px;">Option</span><span style="background-color: white; border: 0px; color: #222222; font-family: "courier new" , monospace; font-size: 13px; line-height: 19px; margin: 0px; padding: 0px; white-space: pre;"> </span><span style="background-color: white; color: #222222; font-family: "courier new" , monospace; font-size: 13px; line-height: 19px;">"HWcursor"</span><span style="background-color: white; border: 0px; color: #222222; font-family: "courier new" , monospace; font-size: 13px; line-height: 19px; margin: 0px; padding: 0px; white-space: pre;"> </span><span style="background-color: white; color: #222222; font-family: "courier new" , monospace; font-size: 13px; line-height: 19px;">"false"</span></blockquote>
9) Re-boot.<br />
10) Re-install pvr-omap4-dkms (it causes constant error messages otherwise). You can check if the GPU module is loaded with lsmod.<br />
If the board doesn't boot the first 10 times, press Enter for e.g. to end this.<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
sudo nano /etc/apt/sources.list<br />
<pre><code>
</code></pre>
sudo add-apt-repository ppa:tiomap-dev/release</blockquote>
<blockquote class="tr_bq">
sudo apt-get update</blockquote>
<blockquote class="tr_bq">
sudo apt-get dist-upgrade</blockquote>
<blockquote class="tr_bq">
sudo apt-get install ubuntu-omap4-extras</blockquote>
<blockquote class="tr_bq">
sudo nano /boot/boot.script</blockquote>
<blockquote class="tr_bq">
sudo /usr/sbin/flash-kernel --update-bootloader</blockquote>
<blockquote class="tr_bq">
sudo /usr/bin/alsaucm -c Panda set _verb HiFi</blockquote>
<blockquote class="tr_bq">
sudo nano /usr/share/X11/xorg.conf.d/99-omap.conf</blockquote>
<blockquote class="tr_bq">
sudo reboot</blockquote>
<blockquote class="tr_bq">
sudo apt-get install --reinstall pvr-omap4-dkms && sudo reboot</blockquote>
</blockquote>
<u>Optional:</u><br />
Use GParted to change your SD card label - this will
make it much easier to make sure the rootfs are always found, even after
backing up / restoring image. For example, if you change the label to
PANDA, add this bootarg:<br />
<blockquote class="tr_bq">
root=LABEL="PANDA" </blockquote>
<br />
<u>Optional:</u><br />
Disable SWAP, if you are using a SD card. This is strongly advised, as you will be trashing your SD card, not to mention slowing down your system (I/O of Pandaboard SD card is quite slow). Follow these commands to disable it completely (you can confirm that SWAP is not being used with <i>top</i>):<br />
<blockquote class="tr_bq">
sudo swapoff -a </blockquote>
<blockquote class="tr_bq">
sudo nano /etc/fstab </blockquote>
<blockquote class="tr_bq">
sudo rm /SWAP.swap</blockquote>
(Remove SWAP entry from fstab)<br />
<br />
<br />
<br />
<h3>
(Update) Optional: Update TI PPA software</h3>
You can update some of OMAP stuff by getting packages from TI Trunk PPA, which is more up to date. It includes updated GPU drivers, among other things.<br />
(You don't need to remove Release PPA) <br />
<br />
1) Add <i>ppa:tiomap-dev/omap-trunk</i> repository<br />
2) Run apt-get update, followed by dist-upgrade<br />
3) Again, make sure xorg configuration has Hardware Cursor disabled !<br />
4) Force boot-loader update ! <br />
<blockquote class="tr_bq">
<style type="text/css">p { margin-bottom: 0.25cm; line-height: 120%; }</style>
<br />
<div style="line-height: 100%; margin-bottom: 0cm;">
sudo
add-apt-repository ppa:tiomap-dev/omap-trunk</div>
<blockquote style="margin-left: 0cm;">
sudo apt-get update</blockquote>
<blockquote style="margin-left: 0cm;">
sudo apt-get dist-upgrade</blockquote>
</blockquote>
<blockquote class="tr_bq">
sudo nano /usr/share/X11/xorg.conf.d/99-omap.conf</blockquote>
<blockquote class="tr_bq">
sudo /usr/sbin/flash-kernel --update-bootloader</blockquote>
<br />
<br />
<h3>
(Update) Optional: Disable ondemand CPU frequency scaling:</h3>
(Thanks to Trevor Robinson)<br />
<br />
<i>Note: Doesn't seem to solve the issue for me, but quoted to be successful by some users. Also, setting performance governor will surely increase the incidence of overheating by logic. If the freeze is due to overheating, this may make the problem worse ...</i> <style type="text/css">p { margin-bottom: 0.25cm; line-height: 120%; }</style>
<br />
<blockquote class="tr_bq">
<blockquote style="margin-left: 0cm;">
<span style="color: #333333;"><span style="font-family: monospace;"><span style="font-size: x-small;"><span style="background: #ffffff;">sudo
update-rc.d ondemand disable</span></span></span></span></blockquote>
<blockquote style="line-height: 0.48cm; margin-left: 0cm;">
<span style="color: #333333;"><span style="font-family: monospace;"><span style="font-size: x-small;"><span style="background: #ffffff;">sudo
apt-get -y install cpufrequtils</span></span></span></span></blockquote>
<blockquote style="line-height: 0.48cm; margin-left: 0cm;">
<span style="color: #333333;"><span style="font-family: monospace;"><span style="font-size: x-small;"><span style="background: #ffffff;">sudo
echo 'ENABLE="true"</span></span></span></span></blockquote>
<blockquote style="line-height: 0.48cm; margin-left: 0cm;">
<span style="color: #333333;"><span style="font-family: monospace;"><span style="font-size: x-small;"><span style="background: #ffffff;">GOVERNOR="performance"</span></span></span></span></blockquote>
<blockquote style="line-height: 0.48cm; margin-left: 0cm;">
<span style="color: #333333;"><span style="font-family: monospace;"><span style="font-size: x-small;"><span style="background: #ffffff;">MAX_SPEED="0"</span></span></span></span></blockquote>
<blockquote style="line-height: 0.48cm; margin-left: 0cm;">
<span style="color: #333333;"><span style="font-family: monospace;"><span style="font-size: x-small;"><span style="background: #ffffff;">MIN_SPEED="0"'
> /etc/default/cpufrequtils</span></span></span></span></blockquote>
<blockquote style="line-height: 0.48cm; margin-left: 0cm;">
<span style="color: #333333;"><span style="font-family: monospace;"><span style="font-size: x-small;"><span style="background: #ffffff;">sudo
cpufreq-set -r -g performance</span></span></span></span></blockquote>
</blockquote>
This disables ondemand and forces Ubuntu to switch to performance mode<br />
<br />
<h3>
Install a light Desktop Environment:</h3>
This can be LXDE or XFCE4 for example:<br />
<blockquote class="tr_bq">
sudo apt-get install lxde</blockquote>
or<br />
<blockquote class="tr_bq">
sudo apt-get install xfce4 </blockquote>
Both are quite light. LXDE is probably lighter, but XFCE has nice customization of panels and workspace, which can help offset over-scan issue you might have on TV screen for e.g.<br />
If you want full desktop version with all the features, you can install <b>xubuntu-desktop</b> or <b>lubuntu-desktop</b> respectively.<br />
<u>Important: Do not use XFCE4 Settings / Display !! You will end up with no image if you switch resolution. Instead, install ARandr.</u><br />
There is also Enlightenment.<br />
For those interested in GLES2 accelerated window manager, have a look here:<br />
<a href="https://userbase.kde.org/KWin">https://userbase.kde.org/KWin</a><br />
Its a KDE Window Manager, but can be bundled with any DE with some tweaks. Here is a nice guide by Will Foster about using KWin with XFCE4:<br />
<a href="https://hobo.house/2015/08/14/using-kwin-with-xfce/">https://hobo.house/2015/08/14/using-kwin-with-xfce/</a><br />
Now, I have tried that by adding: <i>kwin_gles --replace</i> to auto-sessions in XFCE, which does the trick. However, I haven't noticed any difference ...<br />
<br />
<h3>
Problems after update</h3>
<h4>
1) HDMI blanking </h4>
There is a weird issue of HDMI screen going black on some hardware ... Well, I have the symptoms. It happens in particular stages:<br />
After splash screen and before login<br />
When login crashes<br />
When I move mouse (!)<br />
When going from Shell console back to GUI<br />
To recover:<br />
Disconnect and reconnect your HDMI cable - you should get back to login screen<br />
We need to turn-off hardware cursor (how can such small thing as mouse pointer have an effect ??): create xorg.conf and edit it turning off hardware cursor.<br />
After reboot, everything works fine ! Unity 2D is advised<br />
<h4>
2) Freezes / lock-ups / turn-offs</h4>
Strange random boot-up freezes: sometimes it gets stuck on splash loading screen, sometimes after ... LEDs may or may not blink, may stop blinking after splash ... Well, really weird. So I have to to do a full reset - disconnecting power supply and pressing reset button.<br />
Apparently, odemand governor is a culprit: <a href="http://askubuntu.com/questions/201981/pandaboard-crash-on-startup-or-freeze-after-minutes">http://askubuntu.com/questions/201981/pandaboard-crash-on-startup-or-freeze-after-minutes</a> and <a href="https://bugs.launchpad.net/ubuntu/+source/linux-ti-omap4/+bug/971091">https://bugs.launchpad.net/ubuntu/+source/linux-ti-omap4/+bug/971091</a>. I don't think it has anything to do with overheating, at least not for Panda at 1GHz.<br />
The solution should be to disable odemand. But that didn't solve the problem completely... Freezes happen during installation of software or browsing, as well as watching movies.<br />
This may be related to overheating.<br />
Make sure you fully disconnect the board: remove power supply and eject SD card, only then re-insert and boot up. Otherwise, it can continue to freeze each few minutes.<br />
Update: Nice topic discussing the issue on Pandaboard ES: <a href="https://groups.google.com/forum/#!topic/pandaboard/sZtIzLs1LaM">https://groups.google.com/forum/#!topic/pandaboard/sZtIzLs1LaM</a><br />
<h4>
3) Limited resolutions on HDMI</h4>
It seems not all TV resolutions are available in Xrandr. After trying Ubuntu 12.10, I have noticed that I have much more resolutions there than on 12.04 (it was not very useful system though). I couldn't find any solution so far, apart from accepting ... Oh, Xrandr --newmode doesn't work, at least for me. I have followed this Ubuntu guide: <a href="https://wiki.ubuntu.com/X/Config/Resolution#Adding_undetected_resolutions">https://wiki.ubuntu.com/X/Config/Resolution#Adding_undetected_resolutions</a><br />
<br />
<br />
<h3>
How to back up the system to host computer:</h3>
Insert your SD card and don't mount it.<br />
Use dd to write an image from it and compress with gzip, for e.g. (sudo fdisk -l to confirm your card just in case):<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
sudo fdisk -l</blockquote>
<blockquote class="tr_bq">
cd $HOME</blockquote>
<blockquote class="tr_bq">
sudo dd bs=4M if=/dev/sdX of=Pandaboard-8GB.img</blockquote>
<blockquote class="tr_bq">
gzip Pandaboard-8GB.img</blockquote>
</blockquote>
This allows us to create our own image of Ubuntu on Panda and restore if we mess up ...<br />
(Be warned that dd and gzip can take a long time to finish)<br />
<br />
<br />
<h3>
Status:</h3>
- <span style="color: lime;">GPU 2d / 3d acceleration is working, video scaling, etc; use es2gears to check (Unity 2d or and other desktop environment is preferred)</span><br />
- <span style="color: orange;">Hardware video acceleration is working via Gstreamer (Totem and XBMC are supported and work quite well), however:</span><br />
* <span style="color: orange;">Not all formats are supported in Totem - MKVs are sideshow :( ... Use MP4s preferably</span><br />
* <span style="color: orange;">XBMC supports more containers ! :) At least MKVs. 720p works like a charm, 1080p is a little bit sluggish. Sometimes shattering occurs in some videos and supplied XBMC doesn't seem to support subtitles ...</span><br />
- <span style="color: lime;">Audio over HDMI / speakers works fine</span><br />
- <span style="color: lime;">Wifi works fine</span><br />
- <span style="color: orange;">SD card speed is somewhat slow (known issue)</span><br />
- <span style="color: red;">Bluetooth doesn't work (will never work, not with stock kernel)</span><br />
- <span style="color: orange;">System is not stable (see above)</span>Alastor01http://www.blogger.com/profile/02073314960884277316noreply@blogger.com0tag:blogger.com,1999:blog-5048120292497479892.post-25000083375344328732015-07-16T16:04:00.004-07:002015-07-17T14:53:51.769-07:00Debian on Pandaboard Project - Installation and configurationHi there !<br />
Here is the first tutorial of how to get a fully working Debian linux on Pandaboard (development board). In this part, we are going to: prepare a SD card, install boot files, transfer Debian rootfs, install the system and do a little bit of tweaking.<br />
<br />
<u>Acknowledgments:</u><br />
Thanks to Robert Nelson for providing install script / rootfs / etc. Made working with Pandaboard so much easier !<br />
<span style="color: blue;"><a href="http://www.rcn-ee.com/">Home address</a></span><br />
<br />
<h2>
1) Prepare host environment</h2>
We need some tools on our host system in order to install Debian on Pandaboard. These packages are required by Robert Nelson's netinstall script. In my setup, I am using Ubuntu 14.04.2 as a host:<br />
<blockquote class="tr_bq">
<span style="color: cyan;">sudo apt-get install wget dosfstools u-boot-tools parted</span></blockquote>
If you are using Fedora or Gentoo, install git as well as:<br />
<blockquote class="tr_bq">
Fedora: as root: <span style="color: cyan;">yum install wget dosfstools dpkg patch uboot-tools parted</span></blockquote>
<blockquote class="tr_bq">
Gentoo: <span style="color: cyan;">emerge wget dosfstools dpkg u-boot-tools parted</span></blockquote>
<br />
<h2>
2) Get the install script ready</h2>
This script will do all the steps up to online Debian installation. We are going to download the script to our home directory.<br />
<blockquote class="tr_bq">
<span style="color: cyan;">git clone https://github.com/RobertCNelson/netinstall.git</span><br />
<span style="color: cyan;"> cd netinstall</span></blockquote>
<br />
<h2>
3) Prepare the SD card</h2>
Find out what is the name of your SD card on the host system. The easiest method would be using fdisk:<br />
<blockquote class="tr_bq">
<span style="color: cyan;">sudo fdisk -l</span></blockquote>
I just look at the size of the storage medium, to find out my /dev/sdX. In my case it was /dev/sdd. Please make sure the device you choose is the right one. Your hard disk would probably be: /dev/sda<br />
<br />
Unmount SD card, if it is mounted:<br />
<blockquote class="tr_bq">
<span style="color: cyan;">sudo umount /dev/(sdX)</span></blockquote>
I am not sure if it matters (the script most likely takes care of that), but if you have your SD card partitioned already, it would be better to delete all partitions. Run fdisk:<br />
<blockquote class="tr_bq">
<span style="color: cyan;">sudo fdisk /dev/(sdX)</span></blockquote>
d - request to delete partition<br />
1, 2, etc - partition number<br />
w - write changes<br />
(q - quit, if your card is empty)<br />
<br />
Now your SD card is ready. Note your: /dev/(sdX)<br />
<br />
<br />
<h2>
4) Run the script <u>with root privileges</u></h2>
<blockquote class="tr_bq">
<span style="color: cyan;">sudo ./mk_mmc.sh --mmc /dev/(sdX) --dtb omap4-panda --distro jessie --firmware</span></blockquote>
The following are the options to the script:<br />
<blockquote class="tr_bq">
Required Options:<br />
--mmc </dev/sdX><br />
--dtb <dev board><br />
A10-OLinuXino-Lime<br />
A20-OLinuXino-Lime<br />
A20-OLinuXino-Lime2<br />
am335x-boneblack<br />
am335x-bone-serial<br />
am335x-bone-video<br />
imx51-babbage<br />
imx53-qsb<br />
imx53-qsrb<br />
imx6dl-udoo<br />
imx6q-sabrelite<br />
imx6q-sabresd<br />
imx6q-udoo<br />
omap3-beagle<br />
omap3-beagle-xm<br />
<b> omap4-panda<br /> omap4-panda-a4<br /> omap4-panda-es<br /> omap4-panda-es-b3</b><br />
omap5-uevm<br />
tegra124-jetson-tk1<br />
wandboard<br />
Optional:<br />
--distro <distro><br />
Debian:<br />
wheezy-armhf (Debian 7)<br />
jessie (Debian 8) <default><br />
Ubuntu:<br />
trusty (14.04) (EOL: April 2019)<br />
vivid (15.04) (EOL: January 2016)<br />
--firmware<br />
Add distro firmware<br />
--serial-mode<br />
<DVI Mode is default, this overrides it for Serial Mode><br />
Additional Options:<br />
-h --help<br />
this help<br />
--probe-mmc<br />
List all partitions: sudo ./mk_mmc.sh --probe-mmc</blockquote>
I am choosing Jessie as it is the newest stable Debian release. If you have Panda ES or Panda A4 revision, change your --dtb as required. I am not sure what --firmware option does - there is no rootfs partition present after the script is run. Firmware is not installed in this way.<br />
<br />
<br />
<h2>
5) Boot up your system and start installation</h2>
Your board should boot up. Now proceed with the installation, following on-screen instructions. In particular, we are interested in the following stages:<br />
<br />
<h3>
<u>Configure the network:</u></h3>
As we can see, only Ethernet and USB devices are available for connection. Wlan is absent.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF12nJXFrx_VwHTScdLDsMw94VnTRbPf0s1dyeEEQiV9Xdygj43_L378u3piITbDayQP-8KngW98ZBFcnUJEashcaf7RjSEsJ_hexbxWN6yz9MkuEE7XwQDzmF-d33ZlQRRWTduXNTc_FU/s1600/DSC_0333.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF12nJXFrx_VwHTScdLDsMw94VnTRbPf0s1dyeEEQiV9Xdygj43_L378u3piITbDayQP-8KngW98ZBFcnUJEashcaf7RjSEsJ_hexbxWN6yz9MkuEE7XwQDzmF-d33ZlQRRWTduXNTc_FU/s320/DSC_0333.JPG" width="320" /></a></div>
We are going to connect using Ethernet, so we can:<br />
a) Connect to your router / network - you might need quite long cable for this<br />
b) Connect to your host computer, sharing connection - this option requires a bit of tweaking, but we can use the shortest cable possible, have a look at these guides:<br />
--- For <a href="http://www.countrymilewifi.com/how-to-share-computers-wifi-with-ethernet-devices.aspx">Windows</a><br />
--- For <a href="http://askubuntu.com/questions/169473/sharing-connection-to-other-pcs-via-wired-ethernet">Ubuntu</a><br />
<br />
<h3>
<u>Partition disks:</u></h3>
By default, partition manager wants to create swap ... Which we really do not want. Write / read speed of a SD card is horrible on Pandaboard and we certainly do not need extra trashing. <b>Disable SWAP</b>:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_BsYtEB2ANmrZTGBH0UTz_A21eAKzeawWcc_splUvud8d5WW_9coHQy025LvkGcZ9ZcJwpc0fs4zujPVI_j1nbjAoN0O57VweuoB7bOEhnTiwWRiiy_JYN_1feIs5XnD7XM1yzC4W-aRO/s1600/DSC_0335.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_BsYtEB2ANmrZTGBH0UTz_A21eAKzeawWcc_splUvud8d5WW_9coHQy025LvkGcZ9ZcJwpc0fs4zujPVI_j1nbjAoN0O57VweuoB7bOEhnTiwWRiiy_JYN_1feIs5XnD7XM1yzC4W-aRO/s320/DSC_0335.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoDGbwxu-9wq5Ic1zXYepJXP_C3Pt1iQbYEWHeczfc12edtba-YW1quFqWmhLiX4M-Ll_-49lLlFOwQZwzYuzQzf0w1_u48ZK7QhHh_a3MFMNSPq1xL9VoZ12-97T8KhDdFXXhNqEKvp2-/s1600/DSC_0336.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoDGbwxu-9wq5Ic1zXYepJXP_C3Pt1iQbYEWHeczfc12edtba-YW1quFqWmhLiX4M-Ll_-49lLlFOwQZwzYuzQzf0w1_u48ZK7QhHh_a3MFMNSPq1xL9VoZ12-97T8KhDdFXXhNqEKvp2-/s320/DSC_0336.JPG" width="320" /></a></div>
Now delete the rootfs partition as well and re-create a larger version of it. Your rootfs partition should look like this:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF8kJrdDpkaAlliHnOWHRDXnA6R7sXRNVkzCrrWpEmqVvFmCpJJ_W6lhFvWs3qBs5NU3XTQ9vmjEvmlZ2qgli3cphU2ZCJBH9yXopC-PkEGaWOSGGkh4AbGzj2GEYCbVAm71ph1Ys982yT/s1600/DSC_0343.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF8kJrdDpkaAlliHnOWHRDXnA6R7sXRNVkzCrrWpEmqVvFmCpJJ_W6lhFvWs3qBs5NU3XTQ9vmjEvmlZ2qgli3cphU2ZCJBH9yXopC-PkEGaWOSGGkh4AbGzj2GEYCbVAm71ph1Ys982yT/s320/DSC_0343.JPG" width="320" /></a></div>
<br />
Once you have done your changes, this is the result you should have. Note the SD card portion:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs1uvy7rSPkx4gIYSU0efGNrLZeC18QzVSUWd41OfiyWXSXoLmTXnKuIW7c7SetuCk7KjfEfLCJSCaOIlYlTAPJ7Q1bZTLDU0hcKFQVZ6bR1z19dqXuW1VNKfe2Rb-Wd_gGDw0wXsA5WEQ/s1600/DSC_0344.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjs1uvy7rSPkx4gIYSU0efGNrLZeC18QzVSUWd41OfiyWXSXoLmTXnKuIW7c7SetuCk7KjfEfLCJSCaOIlYlTAPJ7Q1bZTLDU0hcKFQVZ6bR1z19dqXuW1VNKfe2Rb-Wd_gGDw0wXsA5WEQ/s320/DSC_0344.JPG" width="320" /></a></div>
What's important is that we have two partitions: small FAT16 - boot, and large EXT4 - rootfs<br />
<br />
<h3>
<u>Additional software:</u></h3>
At this stage we can install some additional components. I am interested in a desktop environment, so I have installed LXDE (lightweight, easy to use). Beware, the installation step can take a lot of time - have a cup of coffee or 10 cups ... If your card is slow like mine :(<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVMwMXKxF_Xb8CYUR3tbDeNsGbjBh6MBNkm76oWfH354BU_HOXYQYSMnKZZGxu5x5k2ehs9c7_ViZMu3N6n8_iwMBnLMwTU0yszSvZ4qNwzBRyoWjoDyE2zM0O4bvVhyphenhyphenaoySmdmgcp1OvN/s1600/DSC_0345.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVMwMXKxF_Xb8CYUR3tbDeNsGbjBh6MBNkm76oWfH354BU_HOXYQYSMnKZZGxu5x5k2ehs9c7_ViZMu3N6n8_iwMBnLMwTU0yszSvZ4qNwzBRyoWjoDyE2zM0O4bvVhyphenhyphenaoySmdmgcp1OvN/s320/DSC_0345.JPG" width="320" /></a></div>
<br />
<br />
<h2>
6) Check the system</h2>
Now its time to see what we have. In short, here is the summary<br />
<br />
<h3>
</h3>
<h3>
Summary - For kernel 4.1.2 (sorry, have to verify)</h3>
<br />
<span style="background-color: cyan;">WORKING:</span><br />
<span style="background-color: cyan;">--- OS - Boots fine and fast</span><br />
<span style="background-color: cyan;">--- HDMI Video Out + a number of supported resolutions (yey ! see the list below)</span><br />
<span style="background-color: cyan;">--- HDMI Audio Out ! (tested with LXMusic - both channels work in Stereo)</span><br />
<span style="background-color: cyan;">--- Audio Out (jack) - not working ! </span><br />
<span style="background-color: cyan;">--- USB Input (keyboard, mice work fine)</span><br />
<span style="background-color: cyan;">--- USB Storage - works fine </span><br />
<span style="background-color: cyan;">--- Ethernet connection (otherwise we would not install our system in the first place)</span><br />
<span style="background-color: cyan;">--- CPU Frequency Scaling !! (conservative, ondemand, etc modes supported)</span><br />
<br />
<span style="background-color: red;">NOT WORKING:</span><br />
<span style="background-color: red;">--- WiFi - it doesn't matter if the newest firmware drivers are installed or not - wlan0 device does not even show up ... I have looked at kernel config - it is certainly enabled. Broken in the newest kernel ? </span><br />
<span style="background-color: red;">--- Overlays / Scaler / 2d / 3d - no driver installed</span><br />
<span style="background-color: red;">--- Video acceleration - no driver installed</span><br />
<br />
<span style="background-color: orange;">NOT TESTED:</span><br />
<span style="background-color: orange;">--- DVI Out - no DVI cable ... can I test with HDMI cable, but insert into DVI port of Panda ?</span><br />
<span style="background-color: orange;">--- Audio In - should be able to test ...</span><br />
<span style="background-color: orange;">--- Bluetooth - I assume its not working ... And WiFi is more important</span><br />
<br />
<h3>
<u>Additional configuration:</u></h3>
<br />
<h4>
a) Setting up sudo</h4>
I am used to "sudo" command. So here is how you can set it up:<br />
Run<br />
<blockquote class="tr_bq">
<span style="color: cyan;">su<br />visudo</span></blockquote>
This will open the /etc/sudoers file. Now we need to edit it. Look for the following line:<br />
<blockquote class="tr_bq">
<span style="color: cyan;">root ALL=(ALL:ALL) ALL</span></blockquote>
and add this line just under it:<br />
<blockquote class="tr_bq">
<span style="color: cyan;">user ALL=(ALL:ALL) ALL</span></blockquote>
where "user" is your username (not root). Save and exit: Ctrl + o, ENTER, Ctrl + x<br />
<br />
<h4>
b) Setting up Cpu Frequency Scaling:</h4>
Install cpufrequtils and sysfsuitils<br />
<blockquote class="tr_bq">
<span style="color: cyan;">sudo apt-get install cpufrequtils sysfsutils</span></blockquote>
Edit your cpufrequtils (will probably be empty)<br />
(Reference: <a href="https://wiki.debian.org/HowTo/CpuFrequencyScaling">https://wiki.debian.org/HowTo/CpuFrequencyScaling</a> )<br />
<blockquote class="tr_bq">
<span style="color: cyan;">sudo nano /etc/default/cpufrequtils</span></blockquote>
and add this line:<br />
<blockquote class="tr_bq">
<span style="color: cyan;"><span style="background-color: white;">GOVERNOR="conservative"</span></span></blockquote>
or:<br />
<blockquote class="tr_bq">
<span style="color: cyan;"><span style="background-color: white;">GOVERNOR="conservative"</span></span></blockquote>
Save the file. The effects can show up immediately or after reboot. We do not need to do any additional configuration.<br />
<br />
<br />
<h3>
<u>Some tests I have run:</u></h3>
<br />
<h4>
Xvinfo</h4>
<br />
<blockquote class="tr_bq">
anton@debian-panda:~$ <span style="color: cyan;">xvinfo</span><br />
X-Video Extension version 2.2<br />
screen #0<br />
no adaptors present</blockquote>
<h4>
Xorg info - Fbdev is being used (well, better than no driver)</h4>
<blockquote class="tr_bq">
anton@debian-panda:~$ <span style="color: cyan;">cat /var/log/Xorg.0.log | grep fbdev</span><br />
[ 17.860] (==) Matched fbdev as autoconfigured driver 1<br />
[ 17.864] (II) LoadModule: "fbdev"<br />
[ 17.865] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so<br />
[ 17.866] (II) Module fbdev: vendor="X.Org Foundation"<br />
[ 17.867] (II) FBDEV: driver for framebuffer: fbdev<br />
[ 17.889] (WW) Falling back to old probe method for fbdev<br />
[ 17.889] (II) Loading sub module "fbdevhw"<br />
[ 17.889] (II) LoadModule: "fbdevhw"<br />
[ 17.890] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so<br />
[ 17.891] (II) Module fbdevhw: vendor="X.Org Foundation"<br />
[ 17.972] (II) UnloadModule: "fbdev"<br />
[ 17.972] (II) Unloading fbdev<br />
[ 17.972] (II) UnloadSubModule: "fbdevhw"<br />
[ 17.972] (II) Unloading fbdevhw</blockquote>
<h4>
Xrandr (run <span style="color: cyan;">xrandr</span> - to check resolutions)</h4>
<blockquote class="tr_bq">
Screen 0: minimum 320 x 200, current 1280 x 720, maximum 2048 x 2048<br />
HDMI-0 connected 1280x720+0+0 (normal left inverted right x axis y axis) 735mm x 420mm<br />
1920x1080 50.00 + 60.00 59.94<br />
1920x1080i 60.00 50.00 59.94<br />
1280x720 60.00* 50.00 59.94<br />
720x576 50.00<br />
720x576i 50.00<br />
720x480 60.00 59.94<br />
720x480i 60.00 59.94<br />
640x480 60.00 59.94<br />
DVI-0 disconnected</blockquote>
<h4>
Cpuinfo - before changing cpufrequency governor ("performance" is default)</h4>
<blockquote class="tr_bq">
anton@debian-panda:~$ <span style="color: cyan;">cat /proc/cpuinfo</span><br />
processor : 0<br />
model name : ARMv7 Processor rev 2 (v7l)<br />
BogoMIPS : 2010.71<br />
Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32<br />
CPU implementer : 0x41<br />
CPU architecture: 7<br />
CPU variant : 0x1<br />
CPU part : 0xc09<br />
CPU revision : 2<br />
processor : 1<br />
model name : ARMv7 Processor rev 2 (v7l)<br />
BogoMIPS : 2010.71<br />
Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32<br />
CPU implementer : 0x41<br />
CPU architecture: 7<br />
CPU variant : 0x1<br />
CPU part : 0xc09<br />
CPU revision : 2<br />
Hardware : Generic OMAP4 (Flattened Device Tree)<br />
Revision : 0000<br />
Serial : 0000000000000000<br />
anton@debian-panda:~$ </blockquote>
<h4>
Cpuinfo - after setting "conservative" or "ondemand" governor </h4>
<blockquote class="tr_bq">
anton@debian-panda:~$ <span style="color: cyan;">cat /proc/cpuinfo</span><br />
processor : 0<br />
model name : ARMv7 Processor rev 2 (v7l)<br />
BogoMIPS : 598.42<br />
Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32<br />
CPU implementer : 0x41<br />
CPU architecture: 7<br />
CPU variant : 0x1<br />
CPU part : 0xc09<br />
CPU revision : 2<br />
processor : 1<br />
model name : ARMv7 Processor rev 2 (v7l)<br />
BogoMIPS : 598.42<br />
Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32<br />
CPU implementer : 0x41<br />
CPU architecture: 7<br />
CPU variant : 0x1<br />
CPU part : 0xc09<br />
CPU revision : 2<br />
Hardware : Generic OMAP4 (Flattened Device Tree)<br />
Revision : 0000<br />
Serial : 0000000000000000</blockquote>
<h4>
Ifconfig:</h4>
<blockquote class="tr_bq">
root@debian-panda:/home/anton# <span style="color: cyan;">sudo ifconfig -a</span><br />
eth0 Link encap:Ethernet HWaddr aa:94:53:36:0e:b1<br />
inet addr:192.168.137.191 Bcast:192.168.137.255 Mask:255.255.255.0<br />
inet6 addr: fe80::a894:53ff:fe36:eb1/64 Scope:Link<br />
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1<br />
RX packets:12350 errors:0 dropped:0 overruns:0 frame:0<br />
TX packets:9359 errors:0 dropped:0 overruns:0 carrier:0<br />
collisions:0 txqueuelen:1000<br />
RX bytes:11476659 (10.9 MiB) TX bytes:1559729 (1.4 MiB)<br />
lo Link encap:Local Loopback<br />
inet addr:127.0.0.1 Mask:255.0.0.0<br />
inet6 addr: ::1/128 Scope:Host<br />
UP LOOPBACK RUNNING MTU:65536 Metric:1<br />
RX packets:8 errors:0 dropped:0 overruns:0 frame:0<br />
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0<br />
collisions:0 txqueuelen:0<br />
RX bytes:480 (480.0 B) TX bytes:480 (480.0 B)<br />
usb0 Link encap:Ethernet HWaddr 5a:f7:de:c4:dc:25<br />
BROADCAST MULTICAST MTU:1500 Metric:1<br />
RX packets:0 errors:0 dropped:0 overruns:0 frame:0<br />
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0<br />
collisions:0 txqueuelen:1000<br />
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)</blockquote>
Alastor01http://www.blogger.com/profile/02073314960884277316noreply@blogger.com1tag:blogger.com,1999:blog-5048120292497479892.post-17287304949758624602012-09-01T14:26:00.002-07:002012-12-30T14:00:48.338-08:00Debian on Pandaboard: Graphics<h2 style="background-color: red;">
<u>NOTE: Not finished !!! 3d doesn't work !!! </u></h2>
<h2>
<u>What is the choice ?</u></h2>
In relation to PandaBoard, we have a choice of 4 drivers:<br />
<br />
---> FBDev (Linux framebuffer) - xserver-xorg-video-fbdev - a generic, hardware independent, primitive driver for Xserver<br />
* It is very easy to install<br />
* It is a framebuffer driver :P - no 2d acceleration, no 3d acceleration, no Xorg video (xv) output acceleration, etc<br />
* But, it will work, when everything else fails. You may need it initially to have at least GUI, or you may need it when the other two drivers crash.<br />
<br />
---> OMAPFB - <span class="code-input">xf86-video-omapfb - open-source Xorg driver for OMAP boards, which uses DSS (display sub-system)</span><br />
<a href="http://git.pingu.fi/xf86-video-omapfb/"><span class="code-input">http://git.pingu.fi/xf86-video-omapfb/</span></a><br />
<span class="code-input"><a href="http://gitweb.pingu.fi/?p=xf86-video-omapfb.git;a=summary">http://gitweb.pingu.fi/?p=xf86-video-omapfb.git;a=summary</a></span><br />
<span class="code-input"> * It is better than fbdev, as it is optimized for OMAP boards, specifically for DSS</span><br />
<span class="code-input"> * It is a framebuffer driver; with support for overlays, XV video output, etc; but it doesn't provide 2d or 3d acceleration</span><br />
<span class="code-input"> * It is open-source, so it shouldn't be too hard to install</span><br />
<br />
<span class="code-input">---> x86-video-omap - open-source Xorg driver for OMAP boards, but which uses </span>closed-source submodule for EXA acceleration.<br />
<a href="https://github.com/robclark/xf86-video-omap">https://github.com/robclark/xf86-video-omap</a><br />
<a href="http://cgit.freedesktop.org/xorg/driver/xf86-video-omap/">http://cgit.freedesktop.org/xorg/driver/xf86-video-omap/</a><br />
<span class="code-input"></span> * It requires omapdrm support in kernel and (as I understood) SGX binaries.<br />
<br />
<span class="code-input">---> PVR OMAP4 - pvr-omap4 - closed source driver for OMAP4 SGX GPU, which has the best performance and provides all the features</span><br />
<span class="code-input"><a href="https://launchpad.net/%7Etiomap-dev/+archive/release">https://launchpad.net/~tiomap-dev/+archive/release</a> </span><br />
<span class="code-input"><a href="https://launchpad.net/%7Etiomap-dev/+archive/omap-trunk">https://launchpad.net/~tiomap-dev/+archive/omap-trunk</a></span><br />
<span class="code-input"> * It is what we want the most - overlays, XV, GLES, GLES2, EGL, etc</span><br />
<span class="code-input"> * It is closed source + depends on particular kernel version + depends on Xorg ABI major version + depends on armel / armhf arch. Thus, it can be a pain to install this driver. It will be ... for Debian</span><br />
<span class="code-input"><br /></span>
<br />
<h2>
<span class="code-input"><u>fbdev driver - xserver-xorg-video-fbdev</u></span></h2>
<span class="code-input">To install this driver, simply do:</span><br />
<blockquote class="tr_bq">
<span class="code-input">sudo apt-get install xserver-xorg-video-fbdev</span></blockquote>
or just install your desktop environment straight away, e.g. LXDE<br />
<blockquote class="tr_bq">
<span class="code-input">sudo apt-get install</span> lxde</blockquote>
That's all. You have your driver. No need to configure anything. The default resolution I got on my HDMI TV was 640 x 480.<br />
<br />
<h2>
<u>omapfb driver - <span class="code-input">xf86-video-omapfb</span></u></h2>
<span class="code-input">(This is not complete yet.)</span><br />
<span class="code-input">Getting xf86-video-ompafb driver to work shouldn't be too hard (in theory), however the driver is old now and is no longer updated. Newest kernels seem to cause issues for this driver.</span><br />
<span class="code-input">The driver can be installed as a package or built from source:</span><br />
<br />
<u><b><span class="code-input">a) Installing via apt:</span></b></u><br />
<span class="code-input">Two packages are provided:</span><br />
--- <b>xserver-xorg-video-omap3</b>, which was built with -mfpu=neon flag and is thus optimized for NEON extension (which we have - gives performance boost)<br />
<span class="code-input">--- </span><b>xserver-xorg-video-omapfb</b>, which is the same as -omap3, but is not optimized for NEON<br />
To install the driver, simply run:<br />
<blockquote class="tr_bq">
sudo apt-get install xserver-xorg-video-omap3</blockquote>
or, if you want the one without NEON optimizations:<br />
<blockquote class="tr_bq">
sudo apt-get install xserver-xorg-video-omapfb</blockquote>
and set up the Xorg (will be described further).<br />
<br />
<u><b>b) Building and installing from source:</b></u><br />
0) Install all the necessary tools and developmental packages:<br />
<blockquote class="tr_bq">
sudo apt-get install build-essential autoconf libtool gettext xutils-dev x11proto-render-dev xorg-dev</blockquote>
(Some of them you might already have.) <br />
1) Clone any of the following git repos:<br />
<a href="http://git.pingu.fi/xf86-video-omapfb/"><span class="code-input">http://git.pingu.fi/xf86-video-omapfb/</span></a><br />
<a href="git://anonscm.debian.org/collab-maint/xf86-video-omapfb.git">git://anonscm.debian.org/collab-maint/xf86-video-omapfb.git</a><br />
(They give same results anyway)<br />
<blockquote class="tr_bq">
git clone http://git.pingu.fi/xf86-video-omapfb.git</blockquote>
OR<br />
<blockquote class="tr_bq">
git clone git://anonscm.debian.org/collab-maint/xf86-video-omapfb.git</blockquote>
2) Configure the driver:<br />
<blockquote class="tr_bq">
cd xf86-video-omapfb</blockquote>
<blockquote class="tr_bq">
./autogen.sh</blockquote>
<blockquote class="tr_bq">
./configure --prefix=/usr --with-xorg-module-dir=/usr/lib/xorg/modules --enable-neon CFLAGS="-O2 -mtune=cortex-a9 -mfpu=neon"</blockquote>
3) Check makefiles (in xf86-video-omapfb and xf86-video-omapfb/src dirs) for CFLAGS variable, which should have "-mfpu=neon" flag. If this flag is missing, add it. Otherwise, the build will fail.<br />
4) Compile and install the driver:<br />
<blockquote class="tr_bq">
make</blockquote>
<blockquote class="tr_bq">
sudo make install</blockquote>
5) Configure Xorg<br />
<br />
<b><u>Configuring Xorg for xf86-video-omapfb:</u></b><br />
We will create new configuration file in /usr/share/X11/xorg.conf.d directory. I have looked at Xorg configuration file for pvr-omap4 drivers, so I named the file "99-omapfb.conf" (you can give it any other name). So:<br />
<blockquote class="tr_bq">
sudo nano /usr/share/X11/xorg.conf.d/99-omapfb.conf</blockquote>
and add the following configuration (true for HDMI certainly), or something similar:<br />
<blockquote class="tr_bq">
Section "Device"<br />
Identifier "OMAPFB Video Device"<br />
Driver "omapfb"<br />
Option "fb" "/dev/fb0"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "hdmi"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Monitor "hdmi"<br />
Device "OMAPFB Video Device"<br />
DefaultDepth 16<br />
EndSection</blockquote>
Save and exit. Reboot:<br />
<blockquote class="tr_bq">
sudo reboot</blockquote>
Xorg should start.<br />
<br />
<u><b>Current result: </b></u><br />
It did start. Resolution is still the same though - 640x480. XRandr doesn't give any choices. XVideo is still useless - "No adaptors present." The following is my Xorg.0.log output, in relation to omapfb:<br />
<blockquote class="tr_bq">
anton@arm:~$ cat /var/log/Xorg.0.log | grep omapfb <br />
[
20.313] Kernel command line: console=ttyO2,115200n8 console=tty0
vram=16MB omapfb.mode=hdmi:1280x720MR-16@60 omapdss.def_disp=hdmi
root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait fixrtc buddy= buddy2=<br />
[ 20.427] (II) LoadModule: "omapfb"<br />
[ 20.432] (II) Loading /usr/lib/xorg/modules/drivers/omapfb_drv.so<br />
[ 20.436] (II) Module omapfb: vendor="X.Org Foundation"<br />
[ 20.437] (II) omapfb: Driver for OMAP framebuffer (omapfb) and external LCD controllers:<br />
[ 20.437] (WW) Error opening /sys/devices/platform/omapfb/ctrl/name: No such file or directory<br />
[ 20.438] (II) omapfb(0): Base plane capabilities:<br />
[ 20.438] (II) omapfb(0): Base plane supports the following image formats:<br />
[ 20.438] (II) omapfb(0): VideoRAM: 600KiB (SDRAM)<br />
[ 20.438] (II) omapfb(0): Creating default Display subsection in Screen section<br />
[ 20.438] (--) omapfb(0): Depth 16, (==) framebuffer bpp 16<br />
[ 20.438] (==) omapfb(0): RGB weight 565<br />
[ 20.438] (==) omapfb(0): Default visual is TrueColor<br />
[ 20.438] (II) omapfb(0): Detecting outputs<br />
[ 20.438] (II) omapfb(0): Output dvi using monitor section hdmi<br />
[ 20.438] (II) omapfb(0): Output hdmi using monitor section hdmi<br />
[ 20.439] (II) omapfb(0): overlayPoolInit: Found 3 framebuffers, 4 overlays and 3 managers<br />
[ 20.440] (II) omapfb(0): Printing probed modes for output dvi<br />
[ 20.440] (II) omapfb(0): Modeline "640x480"x59.5 23.50 640 688 720 800 480 483 487 494 (29.4 kHz P)<br />
[ 20.440] (II) omapfb(0): Printing probed modes for output hdmi<br />
[ 20.440] (II) omapfb(0): Modeline "640x480"x60.1 25.18 640 656 688 800 480 491 511 524 (31.5 kHz P)<br />
[ 20.440] (II) omapfb(0): Output dvi connected<br />
[ 20.440] (II) omapfb(0): Output hdmi connected<br />
[ 20.440] (II) omapfb(0): Using exact sizes for initial modes<br />
[ 20.440] (II) omapfb(0): Output dvi using initial mode 640x480<br />
[ 20.440] (II) omapfb(0): Output hdmi using initial mode 640x480<br />
[ 20.440] (II) omapfb(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated.<br />
[ 20.440] (II) omapfb(0): XRandR extension initialized<br />
[ 20.440] (--) omapfb(0): Virtual size is 640x480 (pitch 640)<br />
[ 20.440] (**) omapfb(0): Mode "640x480": 25.2 MHz, 31.5 kHz, 60.1 Hz<br />
[ 20.440] (II) omapfb(0): Modeline "640x480"x60.1 25.18 640 656 688 800 480 491 511 524 (31.5 kHz P)<br />
[ 20.440] (==) omapfb(0): DPI set to (96, 96)<br />
[ 20.458] (EE) omapfb(0): FBIOBLANK: Invalid argument<br />
[ 20.458] (==) omapfb(0): DPMS enabled<br />
[ 20.458] (II) omapfb(0): RandR 1.2 enabled, ignore the following RandR disabled message.<br />
[ 20.640] (II) omapfb(0): Setting screen physical size to 169 x 127<br />
[ 20.922] (WW) omapfb(0): overlayPoolApplyConnections: Disconnecting overlay 0<br />
[ 20.922] (WW) omapfb(0): overlayPoolApplyConnections: Connecting 0 -> 0 -> 1<br />
anton@arm:~$</blockquote>
I played a lot with options in Xorg configurations. I will try to build custom kernel and test this driver. Also I will try omapfb optimized mplayer. This driver should be useful, at least better than fbdev. <br />
<br />
<h2>
</h2>
<h2>
<u>omap driver - <span class="code-input">xf86-video-omap</span></u></h2>
Will test later ...<br />
<br />
<h2>
<span class="code-input"><u>pvr-omap4 driver</u></span></h2>
<u><b><span class="code-input">The problem:</span></b></u><br />
<span class="code-input">Debian Wheezy currently provides Xserver 1.12.xxx version, which is not supported and ,most likely, will not be supported by OMAP PPA team:</span><br />
<span class="code-input"><a href="https://groups.google.com/forum/?fromgroups#%21topic/pandaboard/BYFaLYzCniQ">https://groups.google.com/forum/?fromgroups#!topic/pandaboard/BYFaLYzCniQ</a></span><br />
<span class="code-input">(Thanks to ndec for letting me know.)</span><br />
<span class="code-input">So, what does it mean ? Well, the pvr-omap4 driver depends on Xorg server version. Ubuntu OMAP ppa trunk provides drivers for Xserver version 13 (for Ubuntu 12.10 ), which is not yet out. Ubuntu OMAP ppa release provides drivers for Xserver version 11 (for Ubuntu 12.04), which is older than what we have. <b>If you try to install these drivers without upgrading / downgrading your Xorg, the Xorg will crash and you will get:</b></span><br />
<blockquote class="tr_bq">
<pre><i>"module ABI major version (11) doesn't match the server's version (12)"</i></pre>
</blockquote>
or<br />
<blockquote class="tr_bq">
<br />
<pre><i>"module ABI major version (13) doesn't match the server's version (12)"</i></pre>
</blockquote>
<b>Thus we have only 2 choices in this situation:</b><br />
---- a) Downgrade Xorg from 1.12.xx to 1.11.xx and install drivers for Xserver version 11<br />
OR<br />
---- b) Wait when Xorg 1.13.xx becomes available, upgrade Xorg from 1.12.xx to 1.13.xx and install the drivers for Xserver version 13<br />
<b>Upgrade is much safer than downgrade, usually.</b> But I hate to wait.<br />
<br />
<h3>
<u>Option A - Xorg downgrade, using the drivers for Xserver ABI 11:</u></h3>
1) Build and install Ubuntu kernel, if you haven't done it already:<br />
<a href="http://alastordmcblog.blogspot.ie/2012/05/debian-on-pandaboard-building-ubuntu.html">http://alastordmcblog.blogspot.ie/2012/05/debian-on-pandaboard-building-ubuntu.html</a><br />
2) Uninstall Xorg (1.12.xx), if you have it:<br />
<blockquote class="tr_bq">
sudo apt-get remove xserver-xorg-core xserver-xephyr</blockquote>
(don't worry about other packages, which will be removed).<br />
3) Download specific .debs, which will give us Xserver ABI 11, keyboard / mouse support and fbdev:<br />
(Source page: <a href="http://snapshot.debian.org/package/xorg-server/2%3A1.11.4-1/">http://snapshot.debian.org/package/xorg-server/2%3A1.11.4-1/</a> )<br />
<blockquote class="tr_bq">
wget http://snapshot.debian.org/archive/debian/20120305T093701Z/pool/main/x/xorg-server/xserver-xephyr_1.11.4-1_armhf.deb</blockquote>
<blockquote class="tr_bq">
wget http://snapshot.debian.org/archive/debian/20120305T052015Z/pool/main/x/xorg-server/xserver-common_1.11.4-1_all.deb</blockquote>
<blockquote class="tr_bq">
wget http://snapshot.debian.org/archive/debian/20120305T093701Z/pool/main/x/xorg-server/xserver-xorg-core_1.11.4-1_armhf.deb</blockquote>
<blockquote class="tr_bq">
wget http://snapshot.debian.org/archive/debian/20120305T224435Z/pool/main/x/xserver-xorg-input-evdev/xserver-xorg-input-evdev_2.6.0-2_armhf.deb</blockquote>
<blockquote class="tr_bq">
wget http://snapshot.debian.org/archive/debian/20120305T224435Z/pool/main/x/xserver-xorg-video-fbdev/xserver-xorg-video-fbdev_0.4.2-4_armhf.deb</blockquote>
4) In the same directory (where your downloaded packages are), run the following to install the packages:<br />
<blockquote class="tr_bq">
sudo dpkg -i xserver-xephyr_1.11.4-1_armhf.deb xserver-common_1.11.4-1_all.deb xserver-xorg-core_1.11.4-1_armhf.deb xserver-xorg-input-evdev_2.6.0-2_armhf.deb xserver-xorg-video-fbdev_0.4.2-4_armhf.deb</blockquote>
OR run this, if you are lazy and have nothing else in that directory:<br />
<blockquote class="tr_bq">
sudo dpkg -i *</blockquote>
5) <b>If you have got NO errors</b>, reboot to test your downgraded Xserver:<br />
<blockquote class="tr_bq">
sudo reboot</blockquote>
and verify that you mouse / keyboard still work.<br />
(If you have errors during installation, remove the problematic packages, reinstall the working Xserver and try again. If you fail to install fbdev - you will have no video, if you fail to install evdev - your keyboard + mouse will be unresponsive.)<br />
<br />
<h3>
<u><b>Building and installing the omapdrm_pvr module (from pvr-omap4-dkms source):</b></u></h3>
0) Install dos2unix (needed for building), if you don't have it:<br />
<blockquote class="tr_bq">
sudo apt-get install dos2unix</blockquote>
1) Download the right version of pvr-omap4-dkms:<br />
a) For Xorg 1.11.xx<br />
<blockquote class="tr_bq">
DKMS="1.7.10.0.1.20"</blockquote>
<blockquote class="tr_bq">
wget https://launchpad.net/~tiomap-dev/+archive/release/+files/pvr-omap4-dkms_$DKMS.orig.tar.gz</blockquote>
2) Extract the source:<br />
<blockquote class="tr_bq">
tar xzf pvr-omap4-dkms_$DKMS.orig.tar.gz</blockquote>
3) Set some variables (DISCIMAGE variable is probably useless...):<br />
<blockquote class="tr_bq">
export KERNELDIR=$HOME/ubuntu-precise<br />
export DISCIMAGE=/</blockquote>
This, of course, assumes that your kernel source is ubuntu-precise folder in your home directory. Change the value of the variable if it is not the case. (The module needs kernel sources to be built.)<br />
4) Cd into driver directory and build the module:<br />
<blockquote class="tr_bq">
cd git-import-orig/sgx/eurasiacon/build/linux2/omap4430_linux<br />
make</blockquote>
5) Install the module (uname -r extracts the release number of the kernel - it is needed to make a correct directory for modules):<br />
<blockquote class="tr_bq">
KERNELRELEASE=$(uname -r)<br />
sudo mkdir /lib/modules/$KERNELRELEASE<br />
sudo mkdir /lib/modules/$KERNELRELEASE/kernel<br />
sudo mkdir /lib/modules/$KERNELRELEASE/kernel/extra<br />
sudo
cp
$HOME/git-import-orig/sgx/eurasiacon/binary2_omap4430_linux_release/target/omapdrm_pvr.ko /lib/modules/$KERNELRELEASE/kernel/extra</blockquote>
<br />
<h3>
<u><b>Loading omapdrm_pvr module:</b></u></h3>
Now that we have installed the module, we need to load it. To check that your module is not loaded indeed, run:<br />
<blockquote class="tr_bq">
lsmod</blockquote>
and you will get nothing, i.e. this:<br />
<blockquote class="tr_bq">
Module Size Used by</blockquote>
which means that no modules are currently loaded.<br />
<br />
If you want to check that your module <u>can be</u> loaded, run the following:<br />
<blockquote class="tr_bq">
KERNELRELEASE=$(uname -r)<br />
sudo insmod /lib/modules/$KERNELRELEASE/kernel/extra/omapdrm_pvr.ko</blockquote>
<blockquote class="tr_bq">
lsmod</blockquote>
and you should get this:<br />
<blockquote class="tr_bq">
Module Size Used by<br />
omapdrm_pvr 157683 0 </blockquote>
which means that the module is loadable. But this is not exactly what we want ... We need auto-loading, at boot time<br />
<br />
To load the omapdrm_pvr module at boot, proceed as follows:<br />
0) Gain root privileges and set a variable<br />
<blockquote class="tr_bq">
su</blockquote>
<blockquote class="tr_bq">
KERNELRELEASE=$(uname -r) </blockquote>
1) Create modules.builtin and modules.order files in your kernel modules directory<br />
<blockquote class="tr_bq">
touch /lib/modules/$KERNELRELEASE/modules.builtin</blockquote>
<blockquote class="tr_bq">
touch /lib/modules/$KERNELRELEASE/modules.order</blockquote>
2) Add "kernel/extra/omapdrm_pvr.ko" as the contents for both of them<br />
<blockquote class="tr_bq">
echo "kernel/extra/omapdrm_pvr.ko" > /lib/modules/$KERNELRELEASE/modules.builtin</blockquote>
<blockquote class="tr_bq">
echo "kernel/extra/omapdrm_pvr.ko" > /lib/modules/$KERNELRELEASE/modules.order</blockquote>
3) Run depmod (this will create all the necessary files for automatic loading of the module)<br />
<blockquote class="tr_bq">
depmod -a</blockquote>
4) Edit /etc/modules file, which will load the module for us at boot<br />
<blockquote class="tr_bq">
nano /etc/modules</blockquote>
and add the following line<br />
<blockquote class="tr_bq">
omapdrm_pvr</blockquote>
to the end, save and exit.<br />
5) Reboot your system to test the module<br />
<blockquote class="tr_bq">
reboot</blockquote>
and at the next boot, use lsmod again. You should have the module loaded at each boot.<br />
<br />
<h3>
<u>Installing pvr-omap4 libraries, binaries and configuration files:</u></h3>
1) Download, extract the correct version of the pvr-omap4 drivers to your home directory, gain root privileges and set a variable:<br />
a) For Xorg 1.11.xx:<br />
<blockquote class="tr_bq">
cd</blockquote>
<blockquote class="tr_bq">
<br />
wget https://launchpad.net/~tiomap-dev/+archive/release/+files/pvr-omap4_1.7.10.0.1.21.orig.tar.gz<br />
tar xzf pvr-omap4_1.7.10.0.1.21.orig.tar.gz</blockquote>
<blockquote class="tr_bq">
su </blockquote>
<blockquote class="tr_bq">
PVRVERS="1.7.10.0"</blockquote>
2) Copy all the necessary files (including headers, but without debug data and documents):<br />
<blockquote class="tr_bq">
cp -f usr/lib/libusc.so.$PVRVERS usr/lib/libTIPVR2DBLT.so.$PVRVERS
usr/lib/libpvrPVR2D_DRIWSEGL.so.1.7.10.0 usr/lib/libpvr2d.so.$PVRVERS
usr/lib/libsrv_um.so.$PVRVERS usr/lib/libOpenVG.so.$PVRVERS
usr/lib/libEGL.so.$PVRVERS usr/lib/libGLESv2.so.$PVRVERS
usr/lib/libOpenVGU.so.$PVRVERS usr/lib/libPVRScopeServices.so.$PVRVERS
usr/lib/libIMGegl.so.$PVRVERS usr/lib/libsrv_init.so.$PVRVERS
usr/lib/libGLESv1_CM.so.$PVRVERS usr/lib/libglslcompiler.so.$PVRVERS
/usr/lib</blockquote>
<blockquote class="tr_bq">
cp -f usr/lib/pkgconfig/* /usr/lib/pkgconfig<br />
cp -f usr/lib/xorg/modules/drivers/pvr_drv.so /usr/lib/xorg/modules/drivers<br />
cp -f usr/share/X11/xorg.conf.d/99-pvr.conf.panda /usr/share/X11/xorg.conf.d<br />
cp -r -f usr/share/sgx-lib /usr/share<br />
cp -f usr/bin/* /usr/bin<br />
cp -r -f usr/include/KHR /usr/include<br />
cp -r -f usr/include/GLES /usr/include<br />
cp -r -f usr/include/VG /usr/include<br />
cp -r -f usr/include/EGL /usr/include<br />
cp -r -f usr/include/GLES2 /usr/include</blockquote>
3) Make all the necessary symbolic links:<br />
<blockquote class="tr_bq">
ln -s /usr/lib/libusc.so.$PVRVERS /usr/lib/libusc.so<br />
ln -s /usr/lib/libTIPVR2DBLT.so.$PVRVERS /usr/lib/libTIPVR2DBLT.so<br />
ln -s /usr/lib/libpvrPVR2D_DRIWSEGL.so.$PVRVERS /usr/lib/libpvrPVR2D_DRIWSEGL.so<br />
ln -s /usr/lib/libpvr2d.so.$PVRVERS /usr/lib/libpvr2d.so<br />
ln -s /usr/lib/libsrv_um.so.$PVRVERS /usr/lib/libsrv_um.so<br />
ln -s /usr/lib/libOpenVG.so.$PVRVERS /usr/lib/libOpenVG.so.1<br />
ln -s /usr/lib/libOpenVG.so.1 /usr/lib/libOpenVG.so<br />
ln -s /usr/lib/libEGL.so.$PVRVERS /usr/lib/libEGL.so.1<br />
ln -s /usr/lib/libEGL.so.1 /usr/lib/libEGL.so<br />
ln -s /usr/lib/libGLESv2.so.$PVRVERS /usr/lib/libGLESv2.so.2<br />
ln -s /usr/lib/libGLESv2.so.2 /usr/lib/libGLESv2.so<br />
ln -s /usr/lib/libOpenVGU.so.$PVRVERS /usr/lib/libOpenVGU.so<br />
ln -s /usr/lib/libPVRScopeServices.so.$PVRVERS /usr/lib/libPVRScopeServices.so<br />
ln -s /usr/lib/libIMGegl.so.$PVRVERS /usr/lib/libIMGegl.so<br />
ln -s /usr/lib/libsrv_init.so.$PVRVERS /usr/lib/libsrv_init.so<br />
ln -s /usr/lib/libGLESv1_CM.so.$PVRVERS /usr/lib/libGLESv1_CM.so.1<br />
ln -s /usr/lib/libGLESv1_CM.so.1 /usr/lib/libGLESv1_CM.so<br />
ln -s /usr/lib/libglslcompiler.so.$PVRVERS /usr/lib/libglslcompiler.so</blockquote>
4) <b>Warning: The next command will apply changes to your Xorg configuration ! Up to this point your Xorg was untouched. Now, you have a potential to crash your Xorg at the next boot ! You have been warned.</b><br />
Run this to use PVR driver at the next boot:<br />
<blockquote class="tr_bq">
mv /usr/share/X11/xorg.conf.d/99-pvr.conf.panda /usr/share/X11/xorg.conf.d/99-pvr.conf</blockquote>
5) Reboot your system:<br />
<blockquote class="tr_bq">
reboot</blockquote>
<br />
And, this is as far as I can get. What are the results you ask ? Well:<br />
- Xorg starts<br />
- From the logs, I can state that pvr driver is being used indeed <br />
- Mouse pointer freezes from time to time and I can assume that there is a massive SD card I/O activity<br />
- Xrandr works and I can switch between resolutions<br />
- Rendering doesn't work !!! All tests fail. Xeglinfo fails.<br />
- Details are here:<br />
<a href="https://groups.google.com/forum/?fromgroups=#%21topic/pandaboard/FLegeDRqzzQ">https://groups.google.com/forum/?fromgroups=#!topic/pandaboard/FLegeDRqzzQ</a><br />
<br />
So, pvr driver works, but 3d doesn't. I would love to finish the guide and get the 3d to work, but I run out of time (I am a dental student - my term starts from the 3d of Sept).<br />
<br />
Thus, I would be very happy if someone could finish this thing off and get the rendering to work :) But please, let me know !<br />
<br />
Additional details:<br />
- All versions of sources have been used as stated in the guide<br />
- libdrm was installed (most likely when I have installed lxde)<br />
- libdri was not installed (well, apt-get stated that it could not locate the package: libdr, libdri2, etc - but if DRM is installed, DRI must also be installed, or, at least, installable ???)<br />
- I tried to install libdrm from source from OMAP PPA Release. Succeeded. But no effect - no 3d :(<br />
- Tried to apply OMAP patch to libdrm (for OMAP support - but I don't think it is needed - armin76 didn't tell anything about it ?). Failed, couldn't successfully run autoconf and configure (i have installed autoconf beforehand ).<br />
- Tried to install libdri2 from source from OMAP PPA Release. Asked for xorg-macros. Tried to install it from source (1.10, debian unstable) - failed. Configure failed.<br />
- Made extensive changes to kernel configuration - changed all things that are related / could be related to GPU, DRM, Power Saving, DMA, etc to be the same as in Ubuntu configuration - didn't help in any way - same results.<br />
- Used modprobe - no effect<br />
- Installed Modules.symvers from built pvr-omap4-dkms - no effect ...<br />
- Tried passing BUILD=debug for pvr-omap4-dkms. Failed to compile ...<br />
- Tried BUILD=timing ... Succeeded, but no effect ...<br />
- Tried passing W=1 for pvr-omap4-dkms - lots of warning ! No effect<br />
- Tried to install kernel with modules (Ubuntu configuration, modules as modules). Failed ! make modules install gives me errors and doesn't work no matter what I do ! This is why I make them all built-in (if I can) ....<br />
- Tried 3.2.0-1412.16 kernel ... Changed some commands to download, extract ... The procedure didn't work. Armin76's config didn't work after using sed commands. And I can't install kernel with modules ...<br />
- Tried 3.2.0-1412.16 kernel with omap4_defconfig + all odules built-in ... Failed - didn't boot successfully.<br />
- Tried the newest 3.4 kernel (from OMAP release ppa) with omap4plus_defconfig + all modules built-in. Failed again - didn't boot successfully<br />
- I run out of ideas :(<br />
<br />
<br />
<br />
<br />Anonymousnoreply@blogger.com4tag:blogger.com,1999:blog-5048120292497479892.post-78814425681463294132012-05-28T13:16:00.000-07:002012-08-28T14:23:30.322-07:00Debian on Pandaboard: Building Ubuntu kernel<h2>
<u><b>Setting up basic build environment:</b></u></h2>
There is a nice package, called "build-essential", by installing which you should have all the tools needed to compile and packed applications/kernels from their respective sources:<br />
<blockquote class="tr_bq">
sudo apt-get install build-essential libncurses5-dev</blockquote>
(You would want to have libncurses5-dev - without it, you would be unable to run "menuconfig".) <br />
If that didn't work, use this:<br />
<blockquote class="tr_bq">
sudo apt-get install gcc g++ make libncurses5-dev</blockquote>
<br />
<div style="color: black;">
<h2>
<u><b>Building your kernel: (with enabled WiFi, Bluetooth, etc)</b></u></h2>
</div>
In this tutorial, we are going to use Ubuntu kernel source. Why ? Because Ubuntu kernels are officially supported by TI devs - we will get all the fixes Ubuntu has and all nice features. But the most important point is: GPU driver binaries are built for specific versions of Ubuntu kernels. (If I am correct, the only binary blobs provided are for Ubuntu and Android. <a href="http://omappedia.org/wiki/PandaBoard_FAQ#What_will_Graphics.2FGFX_support_be_like.3F_Will_drivers_be_released.3F">Source.</a>) We want GPU drivers, right ?<br />
There are very nice tutorials provided by armin76 about installing and configuring Gentoo Linux on Pandaboard. (<a href="http://dev.gentoo.org/%7Earmin76/arm/pandaboard/">http://dev.gentoo.org/~armin76/arm/pandaboard/</a>) They had really helped me.<br />
We will use the kernel source of Ubuntu Precise (we obviously want hard float).<br />
(Run everything in this paragraph as a normal user - non-root. Don't use su.)<br />
<h3>
<i>Step-by-step process: (Skip it, if you just want to build the kernel, without running menuconfig.)</i></h3>
1) Download the kernel source:<br />
<blockquote class="tr_bq">
KERNELVERSION="3.2.0-1416.22" </blockquote>
<blockquote class="tr_bq">
cd <br />
wget --no-check-certificate wget --no-check-certificate
https://launchpad.net/ubuntu/precise/+source/linux-ti-omap4/$KERNELVERSION/+files/linux-ti-omap4_$KERNELVERSION.tar.gz</blockquote>
2) Extract:<br />
<blockquote class="tr_bq">
tar zxvf linux-ti-omap4_$KERNELVERSION.tar.gz</blockquote>
3) Change to ubuntu-precise directory:<br />
<blockquote class="tr_bq">
cd ubuntu-precise</blockquote>
4) Download a nice .config, provided again by armin76.<br />
<blockquote class="tr_bq">
wget http://dev.gentoo.org/~armin76/arm/pandaboard/kconfig -O .config</blockquote>
5) Solve annoying CONFIG_SCSI_WAIT_SCAN=m "damn persistent module" problem (will set it as built-in - will explain why we want this):<br />
<blockquote class="tr_bq">
sed -i 's/default m/default y/g' drivers/scsi/Kconfig</blockquote>
6) Force the kernel to built no modules (not even that scsi_wait_scan.ko module):<br />
<blockquote class="tr_bq">
sed -i 's/=m/=y/g' .config</blockquote>
So, why do we need this ? Well, having no modules around makes the installation process hell like easy. More importantly, however, as reported by a number of users, is that you need to have modules built into your kernel or use initrd to have a normal booting procedure. (<a href="http://groups.google.com/group/pandaboard/browse_thread/thread/236f7df1572fc6d5">http://groups.google.com/group/pandaboard/browse_thread/thread/236f7df1572fc6d5</a> - post by Pavol Cupka)<br />
(By the way, the kernel that armin76 provides didn't boot for me on Debian - waited 15 mins - no login, no read/write activity. In fact it happened on Angstrom also. The reason, I think, is that it fails to find a number of modules and stops booting. My usb keyboard + mouse were completely unresponsive. But then it works just fine on Gentoo ... I don't get it.)<br />
7) Edit your kernel configuration (optional):<br />
<blockquote class="tr_bq">
make menuconfig</blockquote>
(Make sure NOT to disable debug in display section. My picture was a mess after I disabled it.)<br />
8) Build you kernel:<br />
<blockquote class="tr_bq">
make -j2 ARCH=arm uImage</blockquote>
This will take a while. Find something to do for an hour or so. (Depends on your card speed.) After that you will get your uImage file (this is our new kernel).<br />
<h3>
Single-step process: (No menuconfig - will just build the kernel.)</h3>
Run this:<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
KERNELVERSION="3.2.0-1416.22" </blockquote>
<blockquote class="tr_bq">
wget
--no-check-certificate
https://launchpad.net/ubuntu/precise/+source/linux-ti-omap4/$KERNELVERSION/+files/linux-ti-omap4_$KERNELVERSION.tar.gz
&& tar zxvf linux-ti-omap4_$KERNELVERSION.tar.gz
&& cd
ubuntu-precise && wget
http://dev.gentoo.org/~armin76/arm/pandaboard/kconfig -O .config
&& sed -i 's/default m/default y/g' drivers/scsi/Kconfig
&& sed -i 's/=m/=y/g' .config && make
-j2 ARCH=arm
uImage</blockquote>
</blockquote>
and you should get your uImage. <br />
<br />
<div style="color: black;">
<h2>
<u><b>Installing your kernel:</b></u></h2>
</div>
1) Make a backup of your boot files to "backup" folder on "boot" volume and clean "boot" volume:<br />
<blockquote class="tr_bq">
sudo mv -f /boot/uboot/MLO /boot/uboot/u-boot.img /boot/uboot/zImage
/boot/uboot/initrd.img /boot/uboot/uEnv.txt /boot/uboot/SOC.sh
/boot/uboot/backup</blockquote>
2) Restore MLO and u-boot.img:<br />
<blockquote class="tr_bq">
sudo cp -f /boot/uboot/backup/MLO /boot/uboot/backup/u-boot.img /boot/uboot </blockquote>
3) Install your new kernel (make sure you are in ubuntu-precise directory):<br />
<blockquote class="tr_bq">
sudo cp -f arch/arm/boot/uImage /boot/uboot</blockquote>
4) Just reboot the system:<br />
<blockquote class="tr_bq">
sudo reboot</blockquote>
<b>NOTE: It could take 2 - 4 minutes before you get to the login screen with the new kernel. During this time, you may or may not have video signal. If you have a signal, you will most likely see only 2 penguins on a black background, with no other output.</b><br />
<br />
<div style="color: black;">
<h2>
<u><b>My comments about my new kernel:</b></u></h2>
</div>
- <b><u><i>Version: 3.2.0-1416.22</i></u></b><br />
- Boot time with this kernel (from cold to login screen): 2 - 4 minutes<br />
- HDMI out: yes, 1080p - default, but can change if you disconnect and then reconnect the cable or change the source from your TV (tested with fbdev video driver). Ony one resolution is available.<br />
- DVI out: not tested<br />
- Bluetooth: not tested<br />
- Wifi: Works<br />
- Ethernet: Not tested, should work<br />
- SGX drivers: Work, but with issues, more to come ...<br />
- Audio: Not tested<br />
- CPU frequency scaling: Not tested<br />
<br />
<div style="color: black;">
<h2>
<b>Thanks to: armin76 for awesome tutorials.</b></h2>
</div>
Anonymousnoreply@blogger.com6tag:blogger.com,1999:blog-5048120292497479892.post-76715700834800940832012-05-26T15:18:00.004-07:002012-12-30T12:19:58.523-08:00How to install Debian on Pandaboard + do basic configuration.<style type="text/css">
<!--
@page { margin: 2cm }
PRE.cjk { font-family: "WenQuanYi Micro Hei", monospace }
PRE.ctl { font-family: "Lohit Hindi", monospace }
P { margin-bottom: 0.21cm }
A:link { so-language: zxx }
</style> <br />
<h2>
<u><b>Installing Debian - very easy and fast: </b></u></h2>
EDIT: Updated for the latest version of rootfs. Some minor changes. <br />
(Thanks to Dr. Ace Jeangle for providing those instructions: <a href="http://www.chalk-elec.com/?p=1478">http://www.chalk-elec.com/?p=1478</a> )<br />
(And thanks to Robert Nelson, for creating and providing ARM hard float Debian rootfs. You can visit his site by following this link: <a href="http://www.rcn-ee.com/">http://www.rcn-ee.com</a><style type="text/css">
</style> .)<br />
<br />
Insert your SD card into a card reader of your host PC and run the commands below on your host system, preferably Ubuntu or Debian. (We are using apt-get here.)<br />
<br />
<b>WARNING !!! PLEASE ENSURE THAT THE "sdb" DEVICE IS THE ONE OF YOUR SD CARD ! "sda" IS MOST CERTAINLY WRONG ONE TO USE ! IF YOU ARE NOT CAREFUL, YOU CAN WIPE OUT YOUR HARD DRIVE ! PLEASE READ BELOW ABOUT EASY WAYS TO CHECK WHICH ONE IS YOUR CARD</b><br />
<style type="text/css">
<!--
@page { margin: 2cm }
BLOCKQUOTE { margin-bottom: 0cm }
P { margin-bottom: 0.21cm }
</style> <br />
To check the latest rootfs available, visit:<br />
<a href="http://rcn-ee.net/deb/rootfs/wheezy/">http://rcn-ee.net/deb/rootfs/wheezy/</a><br />
and update the VERSION variable to that of the newest rootfs<br />
<blockquote class="tr_bq">
VERSION="2012-11-29"</blockquote>
<blockquote class="tr_bq">
sudo apt-get install uboot-mkimage wget pv dosfstools btrfs-tools parted<br />
wget http://rcn-ee.net/deb/rootfs/wheezy/debian-wheezy-minimal-armhf-$VERSION.tar.xz<br />
tar xJf debian-wheezy-minimal-armhf-$VERSION.tar.xz<br />
cd debian-wheezy-minimal-armhf-$VERSION/<br />
sudo ./setup_sdcard.sh --mmc /dev/sdb --uboot panda</blockquote>
<br />
Use "panda" for PandaBoard Ax (non-ES). Use "panda_es" for PandaBoard ES.<br />
(<a href="http://elinux.org/BeagleBoardDebian#Demo_Image">http://elinux.org/BeagleBoardDebian#Demo_Image</a>) <br />
In my case, the name of my card is "sdc", because I have external USB HDD, which is "sdb". But usually, the card would be "sdb". I use:<br />
<blockquote class="tr_bq">
sudo ./setup_sdcard.sh --mmc /dev/sdc --uboot panda </blockquote>
You can use the following command to see what is mounted:<br />
<blockquote class="tr_bq">
df -h</blockquote>
Or you can use:<br />
<blockquote class="tr_bq">
dmesg</blockquote>
just after you have plugged-in your SD card. <br />
Take a notice of "sdb" or "sdc". Estimate which is your card.<br />
<br />
<h2>
<u><b>Another OS is installed on the card: </b></u></h2>
If your card has already got some OS installed on it, we can remove it using "fdisk":<br />
<blockquote class="tr_bq">
sudo fdisk /dev/sdc</blockquote>
(Change "sdc" to what you have !!!)
NOTE: Use "d" option to delete a partition. Each partition has a number (1, 2, etc).
Use option "w" to save your changes. (Otherwise your changes will not be saved.)<br />
<br />
<h2>
<u><b>Video output:</b></u></h2>
<u><b>a) If you want to use DVI video output:</b></u><br />
Open file uEnv.txt on "boot" partition of the card:<br />
(for e.g.)<br />
<blockquote class="tr_bq">
nano /media/boot/uEnv.txt</blockquote>
uncomment the line "defaultdisplay=dvi", uncomment "vram=16MB" (if it is commented), uncomment "dvimode=1280x720MR-16@60" and (if you want) change it to suit your display. Some examples (as I don't use DVI) can be found here, by Dr. Ace Jeangle:<br />
<a href="http://www.chalk-elec.com/?p=1478">http://www.chalk-elec.com/?p=1478</a><br />
<br />
<u><b>b) If you want to use HDMI video output:</b></u><br />
Same as above, except that you leave "dvimode=1280x720MR-16@60" commented in and change "defaultdisplay=dvi" to "defaultdisplay=hdmi".<br />
More to come, when I do a little bit of testing with custom kernel, as with stock kernel, I have stubborn 640x480 60Hz output on my 1080i TV, via HDMI.<br />
<br />
<h2>
<u><b>Booting process: </b></u></h2>
Insert your Debian populated SD card into Pandaboard and boot-up the board.<br />
Ok, if your new Debian system is working, on boot you should see the video output being
displayed on your monitor or TV. The booting process progresses much faster than on Ubuntu.
After a minute or so you should see the login prompt (in Command Line Interface - no GUI).<br />
(From here onwards, all the commands will be executed on our board.) <br />
<br />
<h2>
<u><b>Login:</b></u></h2>
So, how do I login ?
Well, the default user is "debian" and "temppwd" is its password. The root password is "root".
(<a href="http://elinux.org/BeagleBoardDebian#Debian_Wheezy_snapshot">http://elinux.org/BeagleBoardDebian#Debian_Wheezy_snapshot</a>)<br />
<br />
<h2>
<u><b>Important security measures:</b></u></h2>
<u>1 - Change root password ! (IMPORTANT !!!)</u><br />
Login as root and run:<br />
<blockquote class="tr_bq">
passwd</blockquote>
then enter and verify your new root password. <br />
<u>2 - Create new user.</u><br />
Login as root (temporary) OR login as debian and use:<br />
<blockquote class="tr_bq">
su</blockquote>
(sudo might not work), then run:<br />
<blockquote class="tr_bq">
adduser YOUR NEW USER NAME</blockquote>
and answer all questions (password, full name, etc).<br />
<u>3 - Add the user to sudoers file. </u><br />
(Optional. Will grant the user the ability to use "sudo" command.)<br />
Run:<br />
<blockquote class="tr_bq">
su<br />
visudo</blockquote>
This will open the /etc/sudoers file. (Visudo is made for this ! Don't think about using nano, vim, etc.)<br />
Look for the following line:<br />
<blockquote class="tr_bq">
root ALL=(ALL) ALL</blockquote>
and add this line just underneath:<br />
<blockquote class="tr_bq">
user ALL=(ALL) ALL</blockquote>
changing "user" to your username. Save and exit: Ctrl + o, ENTER, Ctrl + x. Now you can use the "sudo" command. (Btw, "sudo" uses user password, not root password.<br />
<u>4 - Change debian password.</u><br />
Login as debian or (your username) and run:<br />
<blockquote class="tr_bq">
sudo passwd debian</blockquote>
and type in + verify your new debian password. (This is strongly advised, as the default debian password is known and public.) <br />
<br />
<h2>
<u><b>Set-up Internet connection:</b></u></h2>
Now, to download packages and etc we need to have an Internet connection. For Panda we have 2 options: Ethernet or WiFi - both work in our Debian Linux !<br />
<u><b>a) Ethernet:</b></u>
Just connect the cable between your router and the board. It should work straight
away - no configurations are needed. Reboot is not necessary.<br />
<u><b>b) WiFi:</b></u>
Here a little bit of work is needed. But it will work:
(This site has really helped me: <a href="http://www.howtoforge.com/how-to-connect-to-a-wpa-wifi-using-command-lines-on-debian">http://www.howtoforge.com/how-to-connect-to-a-wpa-wifi-using-command-lines-on-debian</a>)<br />
1 - Run "ifconfig -a" if you want to. We do have our WiFi adapter working though.
Its name is: wlan0
(We also have wpasupplicant installed - no need to search or install it.)<br />
2 - Create and edit the following file:<br />
<blockquote class="tr_bq">
su<br />
nano /etc/wpa_supplicant.conf </blockquote>
Type in the following:<br />
<blockquote class="tr_bq">
network={<br />
ssid="TYPE IN THE NAME OF THE ROUTER HERE"<br />
psk="TYPE IN ITS KEY/PASSWORD HERE"<br />
}</blockquote>
Complete the entries.
Save and exit: Ctrl + o, ENTER and Ctrl + x .<br />
3 - Run the following command:<br />
<blockquote class="tr_bq">
wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext</blockquote>
Then, when you see its output, hit ENTER.<br />
4 - Run this last command:<br />
<blockquote class="tr_bq">
dhclient wlan0</blockquote>
and now you should be connected. <br />
5 - Following the next boot, you will be disconnected. To reconnect, you just repeat step 3 and 4. <br />
<br />
<h2>
</h2>
<h2>
<u><b>Before installing anything:</b></u></h2>
Update your system. This is required, as you will run into problems if you don't do this:<br />
<blockquote class="tr_bq">
sudo apt-get update<br />
sudo apt-get upgrade<br />
sudo apt-get dist-upgrade</blockquote>
Depending on how old is your rootfs, this might take few minutes.<br />
<br />
<h2>
<u><b>Installing Graphical User Interface: </b></u></h2>
The easiest way is by using the minimal_lxde_desktop.sh script, provided by Robert Nelson.<br />
(This will give you a working LXDE environment, which I think is the best choice for us.)<br />
<blockquote class="tr_bq">
cd /boot/uboot/tools/ubuntu<br />
sudo sh minimal_lxde_desktop.sh</blockquote>
Or you can install LXDE with one command line:<br />
<blockquote class="tr_bq">
sudo apt-get install lxde</blockquote>
If your choice is XFCE, then do:<br />
<blockquote class="tr_bq">
sudo apt-get install xfce4</blockquote>
LXDE is the easiest option and is the guaranteed one. XFCE didn't work for me last time. GNOME / KDE would take a lot of time to install and are quite heavy (for fbdev in particular).<br />
Installing any of these desktop environments will also cause installation of Xorg (1.12 currently), as well as xserver-xorg-video-fbdev driver, which we will use initially. <br />
<br />
<h2>
<u><b>Achieving auto-connection (with Wifi):</b></u></h2>
We have a number of options here. The following are those, which I have tried:<br />
(Choose option "c" if you want boot-up speed-up, but don't want Ethernet.)<br />
<br />
a) Install Wicd client:<br />
<blockquote class="tr_bq">
sudo apt-get install wicd</blockquote>
and answer one configuration question (which users will run wicd). Run the client, find your router, provide your password (in Advanced Settings), click "Automatically connect to this network" box and that's all ! (I don't know for sure, but in my case I had to reboot to get connection. Works perfectly.)<br />
<br />
OR<br />
<br />
b) Debian has a rc.local start-up script, which we can edit. Open the /etc/rc.local file:<br />
<blockquote class="tr_bq">
sudo nano /etc/rc.local </blockquote>
and just add the following commands:<br />
<blockquote class="tr_bq">
wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext<br />
dhclient wlan0</blockquote>
to the end of the script (after all comments), BUT before "exit 0" command. Save and exit. You will be connected each time you boot.<br />
<br />
OR<br />
<br />
c) This one is the best so far. Edit /etc/network/interfaces file:<br />
<blockquote class="tr_bq">
sudo nano /etc/network/interfaces</blockquote>
,look for the following: <br />
<blockquote class="tr_bq">
# WiFi Example<br />
#auto wlan0<br />
#iface wlan0 inet dhcp<br />
# wpa-ssid "essid"<br />
# wpa-psk "password"</blockquote>
,comment out the last 4 lines quoted here and substitute "essid" with (your router ssid), "password" with (your router password). Now look for:<br />
<blockquote class="tr_bq">
# The primary network interface<br />
auto eth0<br />
iface eth0 inet dhcp</blockquote>
and comment in the last 2 lines quoted. In the end, the file should look like this:<br />
<blockquote class="tr_bq">
auto lo<br />
iface lo inet loopback<br />
<br />
# The primary network interface<br />
#auto eth0<br />
#iface eth0 inet dhcp<br />
# Example to keep MAC address between reboots<br />
#hwaddress ether DE:AD:BE:EF:CA:FE<br />
<br />
# WiFi Example<br />
auto wlan0<br />
iface wlan0 inet dhcp<br />
wpa-ssid "**********"<br />
wpa-psk "**********"</blockquote>
Save and exit. Done.<br />
This actually has a double value for us. 1st - you have a working Wifi, which will be connected at each boot. 2nd - your boot-up time is reduced significantly, as Ethernet is disabled at boot and there is no DHCPDISCOVER loop (which takes about a minute of time). Being in this section means that you don't need Ethernet anyway.<br />
<br />
<h2>
<u><b>Clock skew and its solution (Important !): </b></u></h2>
The most annoying problem ... EDIT: Seems to me there are still problems with this, ugh ...<br />
The initial time we have in Debian is .... ugh ... quite far from being accurate - 1st of January, 1970 ! This indicates that the clock was completely reset ... No wonder - Panda, by itself, doesn't have a battery to supply hardware clock.<br />
First, we need to make sure that the timezone is correct. To edit the timezone, we use:<br />
<blockquote class="tr_bq">
tzselect</blockquote>
and follow the steps. In the end, you will get:<br />
<blockquote class="tr_bq">
Therefore TZ='TIMEZONE YOU HAVE' will be used.</blockquote>
with you timezone. This is what we need. For example, I got:<br />
<blockquote class="tr_bq">
Therefore TZ='Europe/Dublin' will be used.</blockquote>
Now, like stated, we will make this change permanent:<br />
<blockquote class="tr_bq">
cd<br />
nano .profile</blockquote>
Scroll to the bottom of the file, leave an empty space after the last line and add the timezone line:<br />
<blockquote class="tr_bq">
TZ='TIMEZONE YOU HAVE'; export TZ</blockquote>
Save the file (Ctrl + o, ENTER, Ctrl + x), log out and log in again. Your timezone is set.<br />
Next, we will set the correct time and date. For this task, we will use "date" command:<br />
(Example) <br />
<blockquote class="tr_bq">
sudo date -s "Jun 1 20:27:00 2012"</blockquote>
The usage is obvious enough. The "-s" flag is used to set the date. Use first 3 characters of each month.<br />
To see the date, use:<br />
<blockquote class="tr_bq">
sudo date</blockquote>
Now, we wouldn't be able to maintain the correct time via hardware clock. (Unless you have modded your board.) So, we are going to rely on the Internet to sync the clock. Lets use NTP service.1) Install the package:<br />
<blockquote class="tr_bq">
sudo apt-get install ntp</blockquote>
2) Edit the configuration file (if you want better accuracy):<br />
<blockquote class="tr_bq">
sudo nano /etc/ntp.conf</blockquote>
Look for the following section:<br />
<blockquote class="tr_bq">
server 0.debian.pool.ntp.org iburst<br />
server 1.debian.pool.ntp.org iburst<br />
server 2.debian.pool.ntp.org iburst<br />
server 3.debian.pool.ntp.org iburst</blockquote>
Replace this section by a relevant section of the NTP server you want to use. For e.g. I live in Ireland - so I want a local NTP pool. I have added:<br />
<blockquote class="tr_bq">
server 0.ie.pool.ntp.org<br />
server 1.europe.pool.ntp.org<br />
server 0.europe.pool.ntp.org</blockquote>
and saved the file.<br />
Look here about which pools to use and how to add them:<br />
<a href="http://www.pool.ntp.org/use.html">http://www.pool.ntp.org/use.html</a><br />
3) Restart the NTP service:<br />
<blockquote class="tr_bq">
sudo service ntp restart</blockquote>
Or, if the above command gives you a warning, you can use the combination:<br />
<blockquote class="tr_bq">
sudo service ntp stop<br />
sudo service ntp start</blockquote>
4) Your NTP service should be set up now and should sync the clock from time to time. Now, if you want to test whether it actually works, run:<br />
<blockquote class="tr_bq">
sudo ntpq -pn</blockquote>
and you should see something like that:<br />
<textarea cols="82" name="Output" readonly="readonly" rows="5"> remote refid st t when poll reach delay offset jitter
==============================================================================
+46.51.185.173 193.190.230.65 2 u 6h 64 376 23.014 55.917 66.319
80.90.180.140 .INIT. 16 u - 128 0 0.000 0.000 0.000
*85.234.142.64 189.141.160.61 2 u 6h 64 377 30.687 54.346 49.716
</textarea>
<br />
Note the asterisk (*) (you will probably notice it only after reboot). If you have it, it means that this IP address is being currently used to provide the time for syncing the clock. Initially after reboot, you might notice that the time is set wrong again, but it is only temporally. After few minutes, the clock will be synced. That's all in relation to time.<br />
If your desktop clock (clock applet) shows wrong time, run "sudo date" command to update it.<br />
Note: I know, this paragraph might not sound important, but please, don't skip it. The reason being is that a clock skew will be a source of many annoying problems; such as those warnings you get during "tar" extraction, warnings during kernel configuration, potential errors during compiling, loads of other problems... We don't want them, right ?<br />
<br />
<h2>
<u>Some tweaks:</u></h2>
<u><b>Turn off SWAP:</b></u><br />
SWAP is a form of virtual memory, which is:<br />
- Completely useless for Pandaboard, as SD I/O is hellishly slow !!!<br />
So, check if you have it disabled:<br />
<blockquote class="tr_bq">
free -m</blockquote>
which should give you this line:<br />
<blockquote class="tr_bq">
Swap: 0 0 0</blockquote>
meaning swap is disabled. This is how it should be.<br />
If it is not disabled, run this to switch it off:<br />
<blockquote class="tr_bq">
sudo swapoff -a</blockquote>
which should do the job. That's all.<br />
<br />
<u><b>Disable Ethernet at boot (if it is not needed):</b></u><br />
(Skip this section, if you have used option "c" in "Achiving auto-connection (with Wifi)" section)<br />
With Ethernet enabled, what you get is a couple of "DHCPDISCOVER...." lines and about 0.5 - 1 minute of wasted time during boot. If you don't use Ethernet, why wasting time because of it ?<br />
To disable it, edit /etc/network/interfaces file:<br />
<blockquote class="tr_bq">
sudo nano /etc/network/interfaces</blockquote>
and comment in the following:<br />
<blockquote class="tr_bq">
auto eth0<br />
iface eth0 inet dhcp</blockquote>
so it will look like:<br />
<blockquote class="tr_bq">
#auto eth0<br />
#iface eth0 inet dhcp</blockquote>
save and exit. Done !<br />
<br />
<u><b>Disable screensaver in LXDE:</b></u><br />
Screensaver is useless in our case. It is an extra load for CPU, as we do not have OpenGL drivers (and will probably never have). We would be able to install GLES / GLES2 drivers, but they are most likely not used by screensaver. So, lets disable it.<br />
<u>For LXDE:</u><br />
Open /etc/xdg/lxsession/LXDE/autostart file:<br />
<blockquote class="tr_bq">
sudo nano /etc/xdg/lxsession/LXDE/autostart</blockquote>
and remove "screensaver" line. Save and exit.<br />
<br />
<h2>
<u><b>My comments about what I have so far: </b></u></h2>
- The system is fast. Certainly much faster than Ubuntu. It boots quicker (edit: at least with original kernel) and is much more responsive.<br />
- EDIT: But SD I/O is still slow :(<br />
- The rootfs partition is Ext4 !<br />
- Both USB keyboard and USB mouse work normally.<br />
- Ethernet is working fine.<br />
- WiFi is working. Firmware is installed.<br />
- HDMI out works. With GUI, I get 640 x 480 picture at 60 Hz on my 720p HDMI TV (with default kernel). Fbdev driver is being used by default. Primitive, I know. But this is only temporary. Later, I will try to install GPU drivers. But first, I need to choose the right version of kernel and install it. (GPU drivers are heavily dependent on the version of the kernel you use.) Of course, you should be able to somehow change you resolution, by modifying your uEnv.txt file. Also, you can install the omapfb driver, which is for OMAP DSS (also uses NEON extension) - it doesn't use SGX though. The omapfb driver will be faster than fbdev driver.<br />
- Sound doesn't work - no soundcard is found. We should be able to solve this ...<br />
- I don't know whether Bluetooth works or not. However, according to some comments on <a href="http://www.chalk-elec.com/?p=1478">http://www.chalk-elec.com/?p=1478</a> , it should work.<br />
- <strike>Obviously no 2d/3d hardware acceleration yet. I will try to install the drivers</strike> ...EDIT: 2d/3d in progress ...<br />
- No hardware video decoding yet. This will probably take a lot of time to set up ...<br />
- Edit: Clock skew problem solved. Took a lot of time ! <br />
- A lot more to come. I will try to get as much working staff as I can on this awesome board !<br />
<br />
<h2>
<u><b>Why did I choose Debian in the first place:</b></u></h2>
1 - Heard it was much faster than Ubuntu.<br />
2 - Debian uses .deb packages, like Ubuntu, and also shares a lot in common with it. Installing packaged drivers should work ... Of course some changes will be needed.<br />
Actually, after I have done a little bit of reading, I understood that: INSTALLING UBUNTU PACKAGES ON DEBIAN IS NOT A GOOD IDEA AND CAN CAUSE A LOT OF PROBLEMS LATER ON. So, I am going to build everything from source. <br />
3 - I just wanted to see what is Debian like ! (I have already tried Ubuntu, Angstrom, YDL and Fedora.)<br />
<br />
<h2>
<u><b>What's next ?</b></u></h2>
Lets build Ubuntu kernel ! This way, we would be able to install SGX drivers and hardware decoders/encoders.<br />
<a href="http://alastordmcblog.blogspot.com/2012/05/debian-on-pandaboard-building-ubuntu.html">http://alastordmcblog.blogspot.com/2012/05/debian-on-pandaboard-building-ubuntu.html</a><br />
<pre></pre>
<pre></pre>
<br />
<br />
<pre></pre>
Anonymousnoreply@blogger.com9tag:blogger.com,1999:blog-5048120292497479892.post-29483613717622065382012-05-22T12:26:00.002-07:002012-05-22T12:47:47.021-07:00Installing Ubuntu on Toshiba Satellite L755G<u>Intro:</u><br />
- This is just my method - modify it as you like !<br />
<br />
<u>Purpose:</u><br />
- To quickly install Ubuntu/Lubuntu/Kubuntu/etc on Toshiba Satellite L755G laptop<br />
<br />
<u>What do you need (or may need):</u><br />
- Toshiba Satellite L755G laptop (I know - obvious)<br />
- Ubuntu ISOs (Download links below.)<br />
- Already installed OS + burning software. (My laptop had Windows 7 64-bit pre-installed and had, I think, 3 burning applications.)<br />
- Blank CDs (A USB storage device may be used instead of optical disk, but I have never used such method - not going to explain. )<br />
- Wired or wireless Internet connection is NOT necessary during installation, but is HIGHLY recommended.<br />
- Maybe an hour or 2 of free time ?<br />
<br />
<u>Downloading Ubuntu ISOs:</u><br />
- Ubuntu (the one with Unity desktop environment):<br />
<a href="http://www.ubuntu.com/download/desktop">http://www.ubuntu.com/download/desktop</a><br />
- Lubuntu (LXDE desktop):<br />
<a href="http://lubuntu.net/">http://lubuntu.net/</a><br />
- Kubuntu (KDE)<br />
<a href="http://www.kubuntu.org/getkubuntu/download">http://www.kubuntu.org/getkubuntu/download</a><br />
- Xubuntu (XFCE) (Didn't try this. Desktop - LiveCD.)<br />
<a href="http://xubuntu.org/getxubuntu/">http://xubuntu.org/getxubuntu/</a><br />
- Other flavors can be found here: <a href="http://www.ubuntu.com/project/about-ubuntu/derivatives">http://www.ubuntu.com/project/about-ubuntu/derivatives</a><br />
* I have used LiveCD ISOs. They are very good to show that your PC will actually run Ubuntu. Excellent way to test your Wifi also. The Wireless chip set is supported, by the way. <br />
* Choose 64-bit, as we are using 64-bit AMD processor in our machine and we want to take advantage of 64-bit processing and more than 4 GB of RAM. (Of course, PAE - Physical Address Extension allows you to use up to 64 GB on 32-bit system. It is not the same as running on 64-bit though - <a href="https://help.ubuntu.com/community/EnablingPAE">https://help.ubuntu.com/community/EnablingPAE</a> .)<br />
* Choose 32-bit only if you have a reason for it. What is the point of missing 64-bit features otherwise ? One reason would be if 64-bit doesn't work for some reason. (Than again you can just switch ISOs.) A good reason is if you want to run some 32-bit applications which are linked to 32-bit libraries. (There are other ways to have 32-bit applications - <a href="https://help.ubuntu.com/community/32bit_and_64bit">https://help.ubuntu.com/community/32bit_and_64bit</a> , but, honestly, this one is the easiest.) I wanted to have at least one 32-bit system to be able to run ePSXe without any problems. (ePSXe depends on some old 32-bit libraries.)<br />
* Download with torrent client when possible<br />
<br />
<u>Making LiveCDs: </u><br />
- Look here: <a href="https://help.ubuntu.com/community/BurningIsoHowto">https://help.ubuntu.com/community/BurningIsoHowto</a> <br />
- We just need to burn the ISO onto a blank CD in a specific way. Easy. One thing to remember though: You are burning the ISO using a special burning software. So, you DO NOT extract the ISO file and you DO NOT burn the ISO directly, like you burn movies.<br />
- Windows 7 should have some burning applications pre-installed. You just need to: insert a blank CD, right-click the ISO and choose the burning application. The application should burn the ISO and verify the disk.<br />
- On Win 7 you can use this guide: <a href="http://windows.microsoft.com/en-us/windows7/burn-a-cd-or-dvd-from-an-iso-file">http://windows.microsoft.com/en-us/windows7/burn-a-cd-or-dvd-from-an-iso-file</a><br />
<br />
<u>So, how do we start our Ubuntu CD ?</u><br />
- It is straightforward enough.<br />
1) Boot into your default system (most likely Win 7), if you are not there already.<br />
2) Insert the CD, if it is not inserted already. No need to run anything.<br />
3) Restart - now, pay attention to what you see on the screen.<br />
4) When you see TOSHIBA splash screen - press F12 button quickly. This will open the Boot Menu.<br />
5) Most likely, the first option will be "HDD/SSD". We need the "ODD" (Optical Disk Drive) option. Using up/down keys choose this option and press ENTER:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-fLUjNtUtbzI/T7vEapFoJDI/AAAAAAAAAAY/sNpHlsEoDJ0/s1600/Photo0055.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-fLUjNtUtbzI/T7vEapFoJDI/AAAAAAAAAAY/sNpHlsEoDJ0/s320/Photo0055.jpg" width="320" /></a></div>
(This is my Boot Menu. As you can see, I have put "ODD" as the 1st choice - makes more sense. If you use USB storage devices to install OSs - use USB. Later I will show how you can change the boot priority/sequence, i.e. what is booted first. But this is BIOS staff, not Linux.)<br />
6) Then you will see black screen with some white characters, or something like that. After a while a Ubuntu splash image should appear (at least for LiveCD), showing that Ubuntu is loading ...<br />
<br />
<u>LiveCD has loaded - what is next ?</u><br />
<br />
<u>Ubuntu (with Unity)</u><br />
1) You will be greeted with this screen in Ubuntu:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-dpmUtKJcw9I/T7vR7-wYVeI/AAAAAAAAAAk/-YaNupj7Buc/s1600/Photo0060.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-dpmUtKJcw9I/T7vR7-wYVeI/AAAAAAAAAAk/-YaNupj7Buc/s320/Photo0060.jpg" width="320" /></a></div>
<br />
2) Choose "Try Ubuntu". (Why not "Install Ubuntu" you might ask ? Well, this way we can first connect to a wireless router for example and have connection. This will than allow us to download staff during installation.)<br />
3) Wait while the system loads. This will take some time. After that you will see the Unity desktop. There should be a "Install Ubuntu XX.XX" icon.<br />
4) You should first make sure that you are connected to the net. If not - connect now. Then, when you are ready, double-click the installation icon.<br />
5) A window pops-up and you can choose your system language ... Well, the rest is more or less straightforward.Visit this page for instructions:<br />
<a href="http://www.ubuntu.com/download/help/install-ubuntu-desktop">http://www.ubuntu.com/download/help/install-ubuntu-desktop</a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-Qu3StGCHx_s/T7vSkwNb6jI/AAAAAAAAAAs/zFdRxmw7Iok/s1600/Photo0061.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-Qu3StGCHx_s/T7vSkwNb6jI/AAAAAAAAAAs/zFdRxmw7Iok/s320/Photo0061.jpg" width="320" /></a></div>
<br />
NOTE: For Ubuntu 12.04 LTS I didn't have to do anything extra to get it working. GUI (Graphical User Interface) started perfectly, which means either:<br />
- The GPU (Radeon HD) was detected correctly and a certain open-source graphics driver started successfully, or <br />
- the VESA (very simple driver - no 2d, 3d staff) loaded automatically.<br />
6) After the system has been installed, it will ask you to restart. Press restart, remove the disk when it is ejected, close the tray and press ENTER to continue.<br />
7) The system should boot up without any surprises.<br />
8) Now, lets install the property ATI Catalyst driver to get 3d and 2d acceleration. Go to: <b>System -> Administration -> Additional Drivers</b><br />
9) Install the "ATI/AMD proprietary FGLRX graphics driver". (NOT the one with "post-release updates" !) The updated one will most likely fail to install/work. (Failed for me.)<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-1KWrenE2cS0/T7vhUUi1c9I/AAAAAAAAABs/i4VERNsJ-8o/s1600/Photo0062.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-1KWrenE2cS0/T7vhUUi1c9I/AAAAAAAAABs/i4VERNsJ-8o/s320/Photo0062.jpg" width="320" /></a></div>
10) Restart again. Now you should have 3d acceleration. To test that it is actually working, lets run "glxgears" command from the terminal. (Install it by running: "sudo apt-get install mesa-utils"). This is what I get:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-S1XPXXWvyco/T7viUazq02I/AAAAAAAAAB0/Fj5ktct-48M/s1600/Photo0066.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-S1XPXXWvyco/T7viUazq02I/AAAAAAAAAB0/Fj5ktct-48M/s320/Photo0066.jpg" width="320" /></a></div>
11) Enjoy !<br />
<br />
<br />
<u>Lubuntu</u><br />
1) In Lubuntu, you are will see the following:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-o7TUqIN49Pw/T7vS90wf1DI/AAAAAAAAAA0/WnaxvyED2RA/s1600/Photo0067.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-o7TUqIN49Pw/T7vS90wf1DI/AAAAAAAAAA0/WnaxvyED2RA/s320/Photo0067.jpg" width="320" /></a></div>
2) Choose your language and press ENTER. You will see the following:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-5mDg_2QGzkc/T7vTSKtmsjI/AAAAAAAAAA8/OjDUKVrHBvQ/s1600/Photo0068.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-5mDg_2QGzkc/T7vTSKtmsjI/AAAAAAAAAA8/OjDUKVrHBvQ/s320/Photo0068.jpg" width="320" /></a></div>
<br />
3) Don't press any of these yet ! Instead, press F6:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ogQ-hKfm6iE/T7vT5LnoypI/AAAAAAAAABE/9ERTlXySvgQ/s1600/Photo0069.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-ogQ-hKfm6iE/T7vT5LnoypI/AAAAAAAAABE/9ERTlXySvgQ/s320/Photo0069.jpg" width="320" /></a></div>
4) Now we can see some boot options. Press Esc. You will see the string of options. Remove the last 2 characters "--", change "splash" to "nosplash", change "quit" to "noquit" and, after that, add: "radeon.modeset=0 xforcevesa". So, the last 4 options will be:<br />
<blockquote class="tr_bq">
noquit nosplash radeon.modeset=0 xforcevesa</blockquote>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-BteYtzwj0rA/T7vVsXh-QUI/AAAAAAAAABM/U7bH3Fn_YVQ/s1600/Photo0070.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-BteYtzwj0rA/T7vVsXh-QUI/AAAAAAAAABM/U7bH3Fn_YVQ/s320/Photo0070.jpg" width="320" /></a></div>
5) "Try Lubuntu without installing" should be highlighted and the code should be shown as in the picture above. Press ENTER.<br />
6) After a while a Lubuntu splash screen will be shown. Then, the LXDE desktop will appear. You will see the installation icon:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-CL7-1ouWkfg/T7vX7tB1R4I/AAAAAAAAABU/mitwWOjx_Lo/s1600/Photo0072.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-CL7-1ouWkfg/T7vX7tB1R4I/AAAAAAAAABU/mitwWOjx_Lo/s320/Photo0072.jpg" width="320" /></a></div>
7) Double-click and the window will greet you. Choose language, etc ... Visit this page if you need help: <a href="https://help.ubuntu.com/community/Lubuntu/InstallingLubuntu">https://help.ubuntu.com/community/Lubuntu/InstallingLubuntu</a><br />
8) After the installation has finished, you will be prompted to restart the computer. The CD will be ejected, take it out, close the tray, press ENTER to continue the restart process.<br />
9) As the system boots up, you will something you do not expect - black screen with white characters - no GUI (at least I got it with Lubuntu 12.04 LiveCD). Check whether you can type - if you can, follow next step. If you can not type, press the Ctrl + Alt + F1 combination. This will take you to Command Prompt.<br />
10) At the command prompt, type your username, press ENTER, your password, ENTER. You must be connected to the Internet at the point. We need to download GPU drivers. Now we are ready to run some commands.<br />
11) Type:<br />
<blockquote class="tr_bq">
sudo apt-get install fglrx</blockquote>
press ENTER, type your password again, ENTER. The Apt program will then install the fglrx (Catalyst) driver for our ATI Radeon HD GPU. This will take few minutes or so:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-ObfOZ4CZgjY/T7vcTxURvhI/AAAAAAAAABg/PBotbpEzCQw/s1600/Photo0074.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-ObfOZ4CZgjY/T7vcTxURvhI/AAAAAAAAABg/PBotbpEzCQw/s320/Photo0074.jpg" width="320" /></a></div>
<br />
12) After the fglrx driver has been installed, type and run the following code:<br />
<blockquote class="tr_bq">
sudo aticonfig --initial -f</blockquote>
This will provide the basic configuration for our video card.<br />
13) Reboot:<br />
<blockquote class="tr_bq">
sudo reboot</blockquote>
After the system has booted, you should be able to login normally (with GUI). Now you also have 3d acceleration !<br />
14) To test that you have you 3d staff, just install "mesa-utils" package and run "glxgears" in the terminal window.<br />
15) Enjoy !<br />
<br />
<u>Kubuntu</u><br />
- Should work the same way as Lubuntu<br />
- Didn't work fully for me, as it could not download fglrx drivers for some reason :(Anonymousnoreply@blogger.com1tag:blogger.com,1999:blog-5048120292497479892.post-72911230661359927952011-09-13T14:12:00.000-07:002011-09-13T16:50:00.433-07:00Installing mupen64plus on Pandaboard ( OMAP4 )Well, here is my first more or less tutorial.<br />
<br />
PURPOSE: <br />
To install and configure mupen64plus and gles2n64 plug-in on Pandaboard.<br />
<br />
ASSUMPTIONS:<br />
- You are running Linux on Pandaboard ( or perhaps any other OMAP4 board )<br />
- You have a working Internet connection<br />
- You have installed all GPU drivers ( GLES1, GLES2, EGL, OpenVG, DRI etc ) and they are working<br />
- You are running everything in GUI<br />
- You have a working native toolchain ( GCC, G++, Make, etc )<br />
<br />
WHAT DO I USE ?<br />
OS: Ubuntu Linux ( Maverick - 10.10 )<br />
Kernel: 2.6.35-980-omap4<br />
All OMAP add-ons ( which contain GPU drivers ) have been installed using apt-get from TI OMAP trunk PPA<br />
HDMI Ready TV is used as video output<br />
Video input: 1080p<br />
Video output: 1080i<br />
<br />
INSTALLING AND CONFIGURING MUPEN64PLUS<br />
( This is not the only method of course, but it does work, at least for me. )<br />
<br />
1) Install mupen64plus from your repo. On Ubuntu it would be:<br />
<blockquote>sudo apt-get install mupen64plus</blockquote><br />
( This is the best way to make sure that you will be able to use your ARM+GLES2 optimised mupen64plus when you have installed and configured it. )<br />
<br />
2) Run it and choose some ROM to test:<br />
<blockquote>mupen64plus</blockquote>or<br />
<blockquote>cd /usr/games && ./mupen64plus</blockquote>or<br />
<blockquote>cd /usr/local/bin && ./mupen64plus</blockquote>( This is needed to see if your ROMs actually work with a standard build of mupen64plus. Because if they don't, there is no point trying to get them to work with an ARM optimized version of an emulator. )<br />
<br />
3) Now lets get our hands on a working binary of mupen64plus with an ARM Dynamic Recompiler. The easiest way to get one is by downloading a PND made for Pandora console. ( A lot of thanks to OpenPandora team and all developers ! )<br />
http://sebt3.openpandora.org/pnd/?f=mupen.pnd<br />
( Thanks to sebt3 for providing the pnd. )<br />
Run:<br />
<blockquote> wget http://sebt3.openpandora.org/pnd/mupen.pnd</blockquote><br />
4) To extract the pnd we will need to use the "unsquashfs" program.<br />
Download, extract and make it executable by running:<br />
<blockquote>wget http://zx81.zx81.free.fr/public/pandora/hack/unsquashfs.gz && gzip -d unsquashfs.gz && chmod +x unsquashfs</blockquote>Run this to extract the contents of the pnd:<br />
<blockquote> ./unsquashfs mupen.pnd</blockquote>NOTE: The result will be a folder named "squashfs-root" in the current directory.<br />
NOTE2: If you want to use pnds in the future, it would be smart to install the unsquashfs binary. Run:<br />
<blockquote>sudo cp unsquashfs /usr/bin</blockquote>or<br />
<blockquote>su && cp unsquashfs /usr/bin</blockquote>Now you can just use "unsquashfs (pnd name)" to extract a pnd.<br />
<br />
5) Install the binary of this mupen64plus. On Ubuntu you would copy it to /usr/games, so that you will be able to run it from a menu.<br />
<blockquote>sudo cp -f squashfs-root/mupen64plus /usr/games</blockquote>Lets also install all of the plugins, some of which may be handy. ( Like a built gles2n64 driver. ) Run:<br />
<blockquote> sudo cp -f -r squashfs-root/plugins /usr/share/mupen64plus</blockquote><br />
6) Now, lets build the gles2n64 driver from source. Download it: ( You will need the subversion client for this. )<br />
<blockquote> svn checkout http://gles2n64.googlecode.com/svn/trunk/ gles2n64-read-only</blockquote> The default Makefile is not going to work for anyone, except the author :D ( All directories listed in the makefile are for Windows and specifically for his Windows box. ) So, you will need to edit it. Firstly, modify this part:<br />
<blockquote></blockquote><blockquote>else</blockquote><blockquote><br />
</blockquote><blockquote>COMPILER_DIR = C:/CS2010q1</blockquote><blockquote>SO_EXTENSION = so</blockquote><blockquote>CXX = <span class="Apple-tab-span" style="white-space: pre;"> </span>$(COMPILER_DIR)/bin/arm-none-linux-gnueabi-g++</blockquote><blockquote>LD = <span class="Apple-tab-span" style="white-space: pre;"> </span>$(COMPILER_DIR)/bin/arm-none-linux-gnueabi-g++</blockquote><blockquote>INCLUDE<span class="Apple-tab-span" style="white-space: pre;"> </span>= C:/Users/jim/Desktop/Lachlan/Pandora/include</blockquote><blockquote>CFLAGS <span class="Apple-tab-span" style="white-space: pre;"> </span>+= -I$(INCLUDE)/libpng12</blockquote><blockquote>CFLAGS <span class="Apple-tab-span" style="white-space: pre;"> </span>+= -I$(INCLUDE)/SDL</blockquote><blockquote>CFLAGS<span class="Apple-tab-span" style="white-space: pre;"> </span>+= -I$(INCLUDE)</blockquote><blockquote>CFLAGS <span class="Apple-tab-span" style="white-space: pre;"> </span>+= -I$(COMPILER_DIR)/arm-none-linux-gnueabi/libc/lib</blockquote><blockquote>CFLAGS += -march=armv7-a -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=softfp -ffast-math \<br />
-fsingle-precision-constant -ftree-vectorize -fexpensive-optimizations -fomit-frame-pointer</blockquote> so that it looks like this:<br />
<blockquote>else</blockquote><blockquote><br />
</blockquote><blockquote>COMPILER_DIR = /usr</blockquote><blockquote>SO_EXTENSION = so</blockquote><blockquote>CXX = <span class="Apple-tab-span" style="white-space: pre;"> </span>$(COMPILER_DIR)/bin/g++</blockquote><blockquote>LD = <span class="Apple-tab-span" style="white-space: pre;"> </span>$(COMPILER_DIR)/bin/g++</blockquote><blockquote>INCLUDE<span class="Apple-tab-span" style="white-space: pre;"> </span>= /usr/include</blockquote><blockquote>CFLAGS <span class="Apple-tab-span" style="white-space: pre;"> </span>+= -I$(INCLUDE)/libpng12</blockquote><blockquote>CFLAGS <span class="Apple-tab-span" style="white-space: pre;"> </span>+= -I$(INCLUDE)/SDL</blockquote><blockquote>CFLAGS<span class="Apple-tab-span" style="white-space: pre;"> </span>+= -I$(INCLUDE)</blockquote><blockquote>CFLAGS <span class="Apple-tab-span" style="white-space: pre;"> </span>+= -I$(COMPILER_DIR)/arm-none-linux-gnueabi/libc/lib</blockquote><blockquote>CFLAGS += -march=armv7-a -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=softfp -ffast-math -fsingle-precision-constant -ftree-vectorize -fexpensive-optimizations -fomit-frame-pointer</blockquote>Next, edit this part:<br />
<blockquote></blockquote><blockquote>ifeq ($(OS), LINUX)</blockquote><blockquote>CFLAGS += -Wall -D__LINUX__ -fPIC</blockquote><blockquote>LDFLAGS += -LC:/Users/jim/Desktop/Lachlan/Pandora/OS/20101302-pandora-xfce/usr/lib</blockquote><blockquote>LDFLAGS += -lEGL -lGLESv2 -lsrv_um -lSDL-1.2 -lpng12 -lz -lIMGegl</blockquote><blockquote>LDFLAGS += -lX11 -lts-1.0 -lXau -lXdmcp -shared</blockquote><blockquote>else</blockquote><blockquote>CFLAGS += -Wall</blockquote><blockquote>LDFLAGS += -LC:/MinGW/lib/PVR -lSDLmain -lSDL -lpng -lGLESv2</blockquote><blockquote>endif</blockquote>to this:<br />
<blockquote></blockquote><blockquote>ifeq ($(OS), LINUX)</blockquote><blockquote>CFLAGS += -Wall -D__LINUX__ -fPIC</blockquote><blockquote>LDFLAGS += -LC:/usr/lib</blockquote><blockquote>LDFLAGS += -lEGL -lGLESv2 -lsrv_um -lSDL -lpng12 -lz -lIMGegl</blockquote><blockquote>LDFLAGS += -lX11 -lXau -lXdmcp -shared</blockquote><blockquote>else</blockquote><blockquote>CFLAGS += -Wall</blockquote><blockquote>LDFLAGS += -lSDLmain -lSDL -lpng -lGLESv2</blockquote><blockquote>endif</blockquote>Now our Makefile is ready to work. Apart from directories I have also changed "-mtune=cortex-a8" to "-mtune=cortex-a9" to gain some optimizations for Cortex A9 CPU. Also, I have removed -lts-1.0 CFLAG, because ld failed to load a library that doesn't even exist. ( Why I didn't install it you want to ask ? Because I don't know what on earth is the name of this library. Google was so useless trying to find a library using three characters ... ). Finally I edited some CFLAGS and LDFLAGS.<br />
Next we will modify two other files. Edit OpenGL.h. This is the part we need:<br />
<blockquote></blockquote><blockquote>#ifndef OPENGL_H</blockquote><blockquote>#define OPENGL_H</blockquote><blockquote><br />
</blockquote><blockquote>#include <EGL/egl.h></blockquote><blockquote>#include <GLES2/gl2.h></blockquote><blockquote>#include <GLES2/gl2ext.h></blockquote><blockquote>#include <GLES2/gl2extimg.h></blockquote><blockquote>#include "winlnxdefs.h"</blockquote><blockquote>#include "SDL.h"</blockquote><blockquote>#include "gSP.h"</blockquote>Remove or comment out ( add // at the start of the line ) "#include <GLES2/gl2extimg.h>". We don't have this header. ( At least in Maverick's PPA. )<br />
Now modify the file OpenGL.cpp. Remove this part: ( shold be at line 490 )<br />
<blockquote></blockquote><blockquote> case GL_FRAMEBUFFER_INCOMPLETE_FORMATS:</blockquote><blockquote> printf("Incomplete Formats. \n"); break;</blockquote>Ye, I know it is a dirty and unrecommended way of dealing with a problem related to source files. There must be a cleaner and smarter way. But it does work. ( With these two lines in place the compilation always failed. I am not a programmer, so I had to rely on logic alone.)<br />
<br />
Before you can run make you will need to install SDL headers. On Ubuntu it would be:<br />
<blockquote> sudo apt-get install libsdl1.2-dev</blockquote>Build:<br />
<blockquote>cd gles2n64-read-only && make all && cd ..</blockquote>You should end up with a "gles2n64.so" shared library. Copy it into your plugin directory:<br />
<blockquote> sudo cp -f gles2n64-read-only/gles2n64.so /usr/share/mupen64plus/plugins</blockquote>Now you can use a newly created gles2n64 driver :D<br />
<br />
7) Start your new mupen64plus:<br />
<blockquote>cd /usr/games && ./mupen64plus</blockquote>( No rom is needed. ) Go to your home directory, make hidden files visible and see if you have a folder named .mupen64plus. In that folder there should be a file named gles2n64.conf. Edit it:<br />
"window enable x11" should be 1<br />
"window centre" should be 1<br />
"window fullscreen" should be 0<br />
"framebuffer enable" must be 0 ( otherwise you will have no output )<br />
<br />
"screen width" "screen height" "window width" "window height" control the dimensions of the gles2n64 output. If your Pandaboard outputs 1080p, I would recommend using about 1810 for width and 970 for height.<br />
There also should be a file named mupen64plus.conf in the same directory. We will point mupen to required plugins. Modify:<br />
Gfx Plugin = gles2n64.so ( we will use this of course )<br />
Audio Plugin = jttl_audio.so ( there is also plugin by Notaz, but it requires OSS I think )<br />
Input Plugin = which one you prefer ( I use blight_input.so )<br />
anything else you would want.<br />
<br />
That's all. You would also probably need to configure your controller. ( I use SixAxis. ) Enjoy your games !<br />
<br />
SCREENSHOTS<br />
I made them quickly ...<br />
<br />
Turok 2 Seeds of Evil <br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-7WjYl4WMZt4/Tm_lKJtvSsI/AAAAAAAAAAM/-gEdyHCnRVc/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="http://1.bp.blogspot.com/-7WjYl4WMZt4/Tm_lKJtvSsI/AAAAAAAAAAM/-gEdyHCnRVc/s320/Screenshot.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-qrQCWJ19oME/Tm_leDGegbI/AAAAAAAAAAQ/ZotjYUfZ9JM/s1600/Screenshot-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="http://2.bp.blogspot.com/-qrQCWJ19oME/Tm_leDGegbI/AAAAAAAAAAQ/ZotjYUfZ9JM/s320/Screenshot-1.png" width="320" /></a></div><br />
Star Fox 64<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-0yP-JhBJJ30/Tm_mDD76lAI/AAAAAAAAAAU/mf45jjyWCyk/s1600/Screenshot-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="http://2.bp.blogspot.com/-0yP-JhBJJ30/Tm_mDD76lAI/AAAAAAAAAAU/mf45jjyWCyk/s320/Screenshot-2.png" width="320" /></a></div><br />
<br />
<br />
<br />
<br />
ROMS I HAVE TRIED<br />
( All roms are PAL. Played all games nearly at 1080p. All plug-ins except gfx are standard. Mupen64plus uses one core. Frequency = 1GHz )<br />
<br />
Turok 2 Seeds of Evil - works perfectly, certainly playable, some minor graphics glitches. FPS = 12 - 26<br />
<br />
Turok Dinosaur Hunter - same as Turok 2<br />
<br />
Star Fox 64 - excellent, very little graphics bugs. Sound playback is not that good, but ok. FPS = 12 - 30<br />
<br />
Resident Evil 2 - doesn't work at all ( errors related to dynamic recompiler )<br />
<br />
Quake 64 - not so fast as I would expect it to be, major graphics glitches, sound delays, not enjoyable to play. FPS = 11 -20Anonymousnoreply@blogger.com2tag:blogger.com,1999:blog-5048120292497479892.post-17645173502700871192011-06-27T15:45:00.000-07:002011-06-27T15:45:04.513-07:00How to install Angstrom Linux on Pandaboard ( no serial cable )<b>Background</b><br />
This tutorial assumes that you want to easily install Angstrom on Panda, without using serial cable connection, i.e you want to simply have all of your output to be displayed on your TV/Monitor via HDMI/DVI.<br />
<br />
<b>What do you need</b><br />
- Pandaboard ( obviously working one )<br />
- SD card ( if you want GUI you would want to get at least 512 MB one )<br />
- TV/Monitor ( connected via HDMI/DVI )<br />
- Keyboard<br />
- Mouse<br />
- Recommended powersupply for Panda ( 5V, 3.6 - 4A )<br />
- Host Linux PC with Internet connection<br />
- Internal/External SD drive<br />
<br />
<b>Building Angstrom rootfs</b><br />
Go on to the following site:<br />
<a href="http://narcissus.angstrom-distribution.org/">http://narcissus.angstrom-distribution.org/</a><br />
( This is an online tool to create Angstrom filesystem )<br />
Configure your rootfs:<br />
<br />
Base settings:<br />
- Machine type = omap4430-panda/pandaboard ( both work, but I have no idea about the difference )<br />
- Image name = anything you want<br />
- Complexity = simple/advanced<br />
<br />
Advanced settings: ( if chosen )<br />
- Release = stable ( I recommend to choose stable, as it will at least work. Next-glibc is probably nice, but it is intended more towards developers and I have never tried it. If one is willing to try it, please tell me results. )<br />
- Base system = extended ( more drivers = better, I think )<br />
- /dev manager = udev ( maybe I should try kernel one ? )<br />
- init manager = sysvinit<br />
- type of image = tar.gz ( works fine )<br />
- Software manifest = yes/no<br />
- SDK type = none ( why would we need it ? oh, I guess its just me - my host POWER5+ machine would not do the job anyhow )<br />
<br />
User environment selection:<br />
Environment = X11 ( we want GUI )<br />
X11 Desktop Environment = Enlightenment ( this one works for me )<br />
Note: For some reason Narcissus failed to include Gnome in the rootfs. I wonder will it work now. Also XFCE seems to install fine, but it didn't work for me and there was absolutely nothing to suggest the existance of Xorg/X11 in the rootfs. Bug ?<br />
<br />
Additional packages:<br />
Choose what you want. ( I suggest to include all kernel modules, Bluez, Alsa utils, Toolchain, SDK, Midori, Git, etc )<br />
<br />
Now hit "Build me!" button and wait. Don't press refresh button. The build time depends on the server.<br />
When it has finished building, a link of your new rootfs will appear. Just download it.<br />
<br />
<b>SD card setup and installation process</b> <br />
Now go to:<br />
<a href="http://www.angstrom-distribution.org/demo/pandaboard/">http://www.angstrom-distribution.org/demo/pandaboard/</a><br />
and download mkcard.txt, MLO, u-boot.bin. Thanks goes to the author for providing these files.<br />
Allow the mkcard.txt script to be executable. <br />
Insert your SD card in your host PC. Find out its name with:<br />
<blockquote>dmesg</blockquote>Now open Terminal, gain root privileges and cd into directory with the script. Run:<br />
<blockquote>./mkcard.txt /dev/(your card)</blockquote> Caution: Be careful here, so you don't end up wiping out your HDD.<br />
You should get two partitions, one is FAT32, labeled "boot", and the other one is EXT3, labeled "Angstrom".<br />
With root privileges extract your rootfs to the "Angstrom" partition of the SD. This will take a while. Then copy MLO, u-boot.bin to the "boot" partition. Finally go to your "Angstrom" partition and copy the uImage-2.6.XX.... ( this is the kernel ) from the /boot folder to the "boot" partition of your SD. Rename it to uImage. Our SD setup is complete. You can unmount your card.<br />
Note: Ensure that you copy your active kernel, i.e the one to which uImage in the /boot directory of the rootfs is linked to.<br />
<br />
<b>Booting up</b><br />
Insert your SD card into Panda. Connect your TV/Monitor, keyboard, mouse. Now connect you power supply. Turn on your Panda.<br />
<br />
You will not see anything on your TV/Monitor during this long ( about 10 - 15 min ) boot up most likely ( but you must get a video signal though ). Then you should see the Angstrom setup window ( assuming you have GUI of course ). Complete the setup. Your Angstrom is ready to be used :D<br />
<b></b>Anonymousnoreply@blogger.com5tag:blogger.com,1999:blog-5048120292497479892.post-53013813997149948462011-06-27T05:14:00.000-07:002011-06-27T13:39:03.378-07:00Finally my Pandaboard gets a usable OS !<b><span style="font-size: small;">Background</span></b> <br />
I had to spent a hell a lot of time trying to get my OMAP4430 dev board to boot a usable Linux. By "usable" I mean a Linux which has a practical value to me. Just to say I am neither a developer nor a programmer. I am just a hobbyist :D<br />
I needed to have a Linux which:<br />
a) Works and works well<br />
b) Has a GUI and doesn't need a Serial cable + a PC connected to it<br />
c) Runs fast enough<br />
<br />
<b>Ubuntu</b> <br />
Most tutorials assumed that I have a serial cable and know how to use it. But I don't and don't need one, I am not a dev. So initially my idea was to simply install Ubuntu. <a href="http://www.omappedia.org/wiki/OMAP_Ubuntu_Main">http://www.omappedia.org/wiki/OMAP_Ubuntu_Main</a><br />
... Well, I tried both Maverick and Natty ... HDMI video out works, bluetooth & wifi & GPU acceleration work after installing OMAP 4 addons, etc ... But the speed is ... amazingly horrible. I can't believe, but it is even worth than running Linux on PS3 as OtherOS. ( And that thing didn't even had GPU access - unless someone hacked it of course. BTW you can compare PS3 Linux to high end G4 without 3d staff or some old 800 MHz Intel PC. ) I doubt this speed is only due running OS on a SD card. After all some OSs fly on Panda with 4 - 6 Class SDHC. I think it is the system itself. Ubuntu was never a Linux that you should run on embedded or old machines. I didn't expect it to use > 200 MB of RAM ( well, the high-end GUI gets what it deserves ). The CPU usage is strange - about 50 % for both A9 cores when doing anything in GUI without POWERVR drivers. ( My system must be fast enough even when running with bare frame buffer. ) That's a lot of wasted performance for moving windows or opening System Monitor. Sometimes the CPU load on one core goes to 100 %. What about SGX drivers ? Well, I can barely feel a little bit of insignificant acceleration when browsing menus. Everything is still slow, too slow with constant late responses. And how on earth apt-get ended up using 680 MB of RAM ? Is DDR2 that slow ? I guess not, it is just the OS. So in the end, I must say that Ubuntu is certainly not for Panda, unless you have a spare external HDD. But even then the performance wouldn't be that great.<br />
<br />
<b>Angstrom</b><br />
Then, I have installed Angstrom. And it gave to me awesome performance. It is fast even at 300 MHz. The E17 ( or is it E18 ) GUI is incredible, moving/resizing/minimising/etc windows is easy and quick. All I can say is that it is much much faster then Ubuntu. Thanks to Angstrom developers for bringing up such a useful system !<br />
<br />
<b>Some Angstrom notes</b><br />
( I will make a tutorial <b></b>sooner or later on installing Angstrom )<br />
- I have used an online builder Narcissus to build rootfs<br />
- Both pandaboard and omap4430-panda configs work<br />
- I have chosen Enlightenment for GUI<br />
- uImage = kernel from rootfs ( rename uImage-X.XX.X... to uImage )<br />
- Both MLO and u-boot.bin were downloaded from here:<br />
<a href="http://www.angstrom-distribution.org/demo/pandaboard/">http://www.angstrom-distribution.org/demo/pandaboard/</a><br />
- SD card setup with mkcard script from the above link<br />
- OS works fast and boots fast ( first boot is long )<br />
- I don't have boot.scr ( highmem is enabled )<br />
- SMP is working<br />
- USB devices work ( mouse, keyboard and USB Thumb drive are verified to work )<br />
- USB storage devices are mounted correctly ( had yet to see how external HDD will work )<br />
- Temp indicator seems to work<br />
- Power management is working ( at the first glance )<br />
- You can change frequency of CPU: 300/600/800/1000 MHz<br />
- Default mode: 1GHz<br />
- I am not able to log-out or turn off the system with a GUI method when running as user. "Turn off" in GUI works when logging in as root.<br />
EDIT:<br />
- External HDD works and is mounted correctly ( but, damn, I have a hard time trying to unmount it )<br />
- SD card used: LEXAR 8 GB SDHC 100x Class 6<br />
- I can change power management settings only when running system as root.Anonymousnoreply@blogger.com2