Tuesday, June 30, 2009

Building DSPLink is Easy :-)


Don't forget to put SDK i.e. usr/include of installed rootfs

If you meet any problems, please let me know :-)

Monday, June 29, 2009

DSPLink build Configuration for Beagleboard -- Oops OMAP 3530

perl $DSPLINK/config/bin/dsplinkcfg.pl \
--platform=OMAP3530 \
--nodsp=1 \
--dspcfg_0=OMAP3530SHMEM \
--dspos_0=DSPBIOS5XX \
--gppos=OMAPLSP \

for uClibc toolchain
perl $(DSPLINK)/config/bin/dsplinkcfg.pl --platform=DM357 --nodsp=1 --dspcfg_0=DM357GEMSHMEM \     --dspos_0=DSPBIOS5XX --gppos=MVL5U --comps=ponslrm --legacy=1

Sunday, June 28, 2009

HOWTO: Easily enable MP3, MPEG4, AAC, and other restricted encoding in FFmpeg

A common question is "why doesn't the repository FFmpeg convert to mp3, aac, mpeg4, etc?". Ubuntu doesn't make it very clear to the general user as to why to repo FFmpeg is so limited or how to fix this issue. This is reflected in the number of forum questions relating to this topic.

Why is FFmpeg from the repository so limited?
Legal reasons. Some software is limited due to geographical differences in software patents, legal restrictions on free speech, and restrictions on certain technologies. Ubuntu sidesteps these legal restrictions by not including some restricted packages by default. Users must install these packages on their own. See Restricted Formats Ubuntu Community Documentation and FFmpeg License and Legal Considerations for more details.

How do I fix FFmpeg?
There are several options:
A. Compile FFmpeg yourself
B. Install the "unstripped" libraries from the repository
C. Install the ubuntu-restricted-extras package
D. Install FFmpeg from Medibuntu
A. Compiling FFmpeg yourself (for all Ubuntu versions)
The official FFmpeg answer is to compile it yourself, giving you the power to get what you want with the benefits of the most recent FFmpeg revision. This is an excellent solution and is explained here:

HOWTO: Install and use the latest FFmpeg and x264

However, this isn't for everyone, especially beginners. Sometimes you want an official package that works right now; with a minimum of fuss. Off to the other options...

B. Installing the "unstripped" libraries from the repository
This is the easiest option for Intrepid and Jaunty users and is not available for prior Ubuntu versions. FFmpeg from the repository does not include many restricted encoders, formats, and codecs including: h261, h263, h263p, aac (libfaac), mp3 (libmp3lame), h264 (libx264), xvid (libxvid), mpeg2video, mpeg4, msmpeg4, msmpeg4v1, and msmpeg4v2. You can fix this by installing the "unstripped" FFmpeg libraries that will enable these restricted encoders. Open up Terminal (Applications -> Accessories -> Terminal) and enter:

Ubuntu Jaunty Jackalope 9.04
sudo apt-get install ffmpeg libavcodec-unstripped-52
Ubuntu Intrepid Ibex 8.10
sudo apt-get install ffmpeg libavcodec-unstripped-51
Alternatively, you can search for these packages in the Synaptic Package Manager.

C. Installing the ubuntu-restricted-extras package
Another option for Jaunty and Ibex is to install the ubuntu-restricted-extras package. This is a metapackage, which means that it will install multiple packages including the "unstripped" FFmpeg libraries. This is a sledgehammer approach, especially if you are bandwidth limited, and will install a large amount of other packages that you may not want. To install this package, open up Terminal (Applications -> Accessories -> Terminal) and enter:

sudo apt-get install ffmpeg ubuntu-restricted-extras
D. Installing FFmpeg from Medibuntu
This option is only available for Ubuntu Hardy Heron 8.04 and Ubuntu Gutsy Gibbon 7.10. Medibuntu is a third-party repository that contains a number of packages that are unable to be included in the official Ubuntu repositories. To install FFmpeg from Medibuntu open Terminal (Applications -> Accessories -> Terminal) and run the following:

sudo wget http://www.medibuntu.org/sources.list.d/`lsb_release -cs`.list --output-document=/etc/apt/sources.list.d/medibuntu.list; sudo apt-get -q update; sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring; sudo apt-get -q update
This huge command will install the repository information to your computer then update and authenticate the new repository. Now install FFmpeg:

sudo apt-get install ffmpeg
That's it. Now you have a non-crippled version of FFmpeg.

Here's an example to encode a mp3 file:
ffmpeg -i inputfile.mp4 -acodec libmp3lame -ab 128k outputfile.mp3
Undoing Changes Made By This Guide
B. Uninstalling the "unstripped" libraries
sudo apt-get remove ffmpeg libavcodec-unstripped-5*
C. Uninstalling the ubuntu-restricted-extras package
sudo apt-get remove ubuntu-restricted-extras
D. Uninstalling FFmpeg and the Medibuntu Repository
sudo apt-get autoremove ffmpeg medibuntu-keyring; sudo rm /etc/apt/sources.list.d/medibuntu.list; sudo apt-get update
Let me know if you have any questions or comments. Thanks to andrew.46 for suggesting this guide.
Source: http://ubuntuforums.org/showthread.php?t=1117283

Disable X-Server Ubuntu

Ctrl Alt F1

Login and

sudo /etc/init.d/gdm stop

when finished

sudo /etc/init.d/gdm start

Good luck !

Emdebian rootfs for Emdebian Crush

The root filesystem is a basic set of packages needed to provide a usable login environment around a kernel and kernel modules. The rootfs must be extensible to a full system so normal packaging tools need to be supported. See also Emdebian website.

The main Debian root filesystem is based on 'Essential' - a collection of packages that contain: Essential: yes in debian/control and although small in Debian terms, it is still much too large for Emdebian.

This page concentrates on how to use the emdebian-rootfs package to build an Emdebian root filesystem for your device and describes how to customize your package set for your needs.

Linux Embedded

In order to be able to build an embedded Linux system, obviously you need:

The GNU cross-development tools installed on your host machine (presumably a Linux PC machine).

Your target system will need to have these different pieces of software:

Firmware (or boot loader), such as u-boot, redboot or a BIOS: you can these choose to boot from Flash, network (tftp), or disk;

Kernel (linux): the kernel must be compiled with support for your board (cpu and peripherals);

Root file system (contains the C/C++ libraries, the shell, etc.).

If your board comes with a ‘good’ firmware, you might not need at all a JTAG programmer. Using the firmware, you might be able to program the flash with the kernel and/or the root filesystem. Both u-boot and redboot let you do this, assuming they have the drive for the Flash you are using.

Ubuntu on Beagleboard

(1) Format SD card at Host
Insert SD card to SD slot of the host
$ sudo apt-get install gparted
$ sudo gparted
device /dev/sdc
/dev/sdc1 : fat32 : /media/disk-1 : 62.72 MB
/dev/sdc2 : ext3 : /media/disk-2 : 1.80 GB

(2) Download prebuilt Linux kernel and install it to the fat32 partition of SD card
Get stable version: 2.6.29-oer34
$ wget http://www.rcn-ee.com/deb/kernel/beagle/lenny/v2.6.29-58cf2f1-oer34/uImage
$ copy uImage /media/disk-1
$ sudo umount /media/disk-1

(3) Make Ubuntu Root File System on the ext3 partition of SD card
$ cd
$ sudo apt-get install qemu
$ wget http://ports.ubuntu.com/pool/main/d/debootstap/debootstrap_1.0.13~jaunty1_all.deb
$ sudo dpkg -i debootstrap_1.0.13~jaunty1_all.deb
$ wget http://people.ubuntu.com/~ogra/arm/build-arm-rootfs
$ sudo chmod +x build-arm-rootfs
$ sudo ./build-arm-rootfs --fqdn beagleboard --login ubuntu --password passwd --imagesize 2G --seed gcc,make,usbutils
$ ls
armel-rootfs-.tgz build-arm-rootfs build-aarm-rootfs-.log
$ sudo tar xfp armel-rootfs-.tgz -C /media/disk-2
$ cd /media/disk-2
$ sudo vi etc/event.d/ttyS2
# ttyS2 - getty
start on runlevel 2
start on runlevel 3

stop on runlevel 0
stop on runlevel 1
stop on runlevel 4
stop on runlevel 5
stop on runlevel 6

exec /sbin/getty -L 115200 ttyS2

$ cd ..
$ sudo umount /media/disk-2

(4) U-Boot setting and boot Linux at Beagle Board console (U-Boot Reference)
Insert SD card to SD slot of Beagle Board
U-Boot 1.3.3 (Jul 10 2008 - 16:33:09)
OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz
DRAM: 128 MB
NAND: 256 MiB
In: serial
Out: serial
Err: serial
Audio Tone on Speakers ... complete
Hit any key to stop autoboot:
OMAP3 beagleboard.org #
setenv bootcmd 'mmcinit; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000'
OMAP3 beagleboard.org # setenv bootargs 'console=ttyS2,115200n8 root=/dev/mmcblk0p2 rootwait rootfstype=ext3 rw'

OMAP3 beagleboard.org # saveenv
OMAP3 beagleboard.org # boot
reading uImage ...
beagleboard login:

Beagleboard - DSP: Bridge or Link?

What should I choose? Bridge or Link? :-?

HOWTO: Restore GRUB (if your MBR is messed up)

#1 Alternative

1. Pop in the Live CD, boot from it until you reach the desktop.
2. Open a terminal window or switch to a tty.
3. Type "grub"
4. Type "root (hd0,6)", or whatever your harddisk + boot partition numbers are (my /boot is at /dev/sda7, which translates to hd0,6 for grub).
5. Type "setup (hd0)", ot whatever your harddisk nr is.
6. Quit grub by typing "quit".
7. Reboot.

#2 Alternative
1. Boot your computer up with Ubunto CD
2. Go through all the process until you reech "[!!!] Disk Partition"
3. Select Manual Partition
4. Mount your appropriate linux partions


6. Finish the manual partition
7. Say "Yes" when it asks you to save the changes
8. It will give you errors saying that "the system couldn't install ....." after that
9. Ignore them, keep select "continue" until you get back to the Ubuntu installation menu
10. Jump to "Install Grub ...."
11. Once it is finished, just restart your computer

Good luck!