This post…
… is for newbies that want to get started with Linux on i.MX (or for any other purpose) and ask:
- “How do I get Linux running on my computer”
By no means is this a authoritative document. It’s really meant just to get someone pointed in the right direction. There are a lot of nuances, and I’m sure all of what I’m about to say can be refuted. Consider this written in layman terms.
The options
Well you really have three major ‘common’ options.
- Install full Linux and “Dual boot” your machine.
- Run Linux in a virtual machine (VM). Like VMware and VirtualBox.
- Buy another computer and install Linux.
Full install (option 1) above:
Install full Linux and “Dual boot” your machine. When you power up it goes to either linux or windows. Major distributions like Ubuntu will give you this option when you install it following their instructions.
Advantages
- Fastest, Linux is running the whole machine
- True Linux environement
- True direct access to hardware
- Can still mount a windows volume (harddrive partition) and access it to get files.
- Better for disaster recovery (dedicated harddrive partitions)
- Street cred
Disadvantages
- You can only run one operating system at same time
- Probably can’t run the majority of windows-only programs
- May duplicate storage if you want to try to run a second email client. (so you can email while in Linux)
- May not be able to safely read/write some Windows volumes
- Will have to partition your HDD and dedicate space to Linux.
Virtual Machine (option 2) above:
Run Linux in a virtual machine (VM). Like VMware and VirtualBox. (These are both free). The VM program makes another ‘virtual computer’ which you can then runLinux on. From the users perspective it kind of like you are just running an application program like a spreadsheet or WP, but instead its actually another ‘computer running linux’
Advantages
- You’ can still run all your normal Windows programs
- Can flip back and forth. between Windows and Linux
- Can share files more easily
- Fast to setup,with no permanent chabges to your PC.
- Can keep multiple Linux machines ‘on hand’ with different configurations or environments.
Disadvantages
- Somewhat slower than native installation
- Can be complex to access real hardware like a debugger
- Can have “quirks”
- IF it ‘crashes’ and you may lose the whole machine including what was stored on the virtual hdd.
New computer with Full install (option 3) above:
Install full Linux on a new machine. For a few hundred bucks you get a real machine dedicated to all your linux needs. Cheap and painless and doesn’t mess with anything else you might be doing.
Advantages
- Fastest, Linux is running the whole machine
- True Linux environment
- True direct access to hardware
- Not hard if you just want to switch to a different computer for development.
- Can open a console to the Linux box
- You could login remotely, and Run and compile unattended/remotely
- You could set up a nice server for file storage or version control.
- Integrates well with a network
- Even more Street cred !
Disadvantages
- Can be a bit tricky to setup file sharing between this and your windows box, or on the network.
- You’re really going in the deep end and will have to learn some stuff about linux administration if you want to share onthe network, set up servers and stuff like that
- Really if you remote compile and login, and your’e trying to debug hardware, then the hardware needs to be there not where you might be. Probably..
The suggestion
I’m not going to beat around the bush. For a first foray into Linux, don’t be a hero. Just get a virtual machine and try it out that way. Its hard to break things too badly, and the worst that will happen is you lose your virtual Linux machine.
- Note: when you first get a VM image for a Linux machine, it’s just like getting a new ‘fresh’ PC. Things you need may or may not be installed. As you update or add programs and packages, they will stay in your new machine. I mention this because you can of course completely mess things up. So you might want to keep a copy of the original downloads before you start modifying things so you can always go back.
Where do I find what I’m looking for?
Ok, assuming we’re still talking about Linux here, Freescale provides a “ready to go” Linux environment for i.MX53 development on the i.MX53QSB (Quick Start Board). It’s not the latest Ubuntu Linux, but a good stable version, and they have pre-installed the development tools needed to cross compile their Linux for i.MX called “LTIB”. The point being – common toolchain needs are already installed. Get it and start learning with this. Use “synaptic” or another package manager to add anything else you want … such as python, or eclipse development tools.
Downloads
Just to make this really clear, even if you aren’t trying to compile new Linux or software for the i.MX53, i am recommending this as a decent starting point for getting a Virtual Machine and Ubuntu “VM Image” downloaded. If that’s all you need, then use the third link below:
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX53QSB
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX53QSB&fpsp=1&tab=Design_Tools_Tab
- Link to the source files for i.MX53QSB software (Check the links above for the most up to date)
A final suggestion
Many developers are totally happy using standard Linux editors , compilers and LTIB for product development…However i have to say that LTIB is really not a commercial linux for i.MX. It CAN be made into one, but you are going to be doing that work of making sure things are “right”. Also it’s a real hassle to get eclipse and other editors and compilers setup “right”.
For commercial product development on i.MX I have to recommend that you evaluate TimeSys LinuxLink Linux, and TimeStorm IDE. This integrates a build environment, Eclipse based tools and a BSP package manager that is kept up to date by TimeSys Linux. You get pre-tested libraries and suggestions on what inter-dependencies there are. There a lot more to be said about this so I’ll post a followup article, but for now – trust me, at least have a look at it if you are thinking of a commercial product using Linux on i.MX


Comments on: "Getting started with Linux development for i.MX53" (2)
Nice iMX53/linux guide. Any suggestions on getting started with Qt on the MX53?
Thanks for the suggestion! I’ll look at putting something like this together.