Review your favorite Linux distribution.
Go Back > Forums > Linux Forums > Linux - General
User Name
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.


  Search this Thread
Old 09-10-2019, 05:48 AM   #1
LQ Newbie
Registered: Sep 2019
Posts: 1

Rep: Reputation: Disabled
How to create a linux firmware?

Hello everyone,

I'm looking for some help. I'm not a Linux newbie, more of a regular user. I'm not really experienced in C-programming (have done it as university course, but not much), but willing to learn and improve.

What I want is to create a custom Linux-based firmware for one of my e-readers. It's now running Android, bootloader is unlocked, so, I suppose, it's generally possible. Could anyone, please, help me with directions where to start? I've heard about LFS, but not sure if it's my case. Or I should get some test boards first and try with them? Maybe anyone of you have already done something similar and may share his/her experience?

I don't mind spending year or two for this project. I just want to complete it. Kinda challenge for myself. The result might not be factory-quality. I don't care much about this e-reader, but it'd have been nice to keep it alive (but it'll, probably, depend mostly on me)
Old 09-10-2019, 08:03 AM   #2
Senior Member
Registered: Oct 2008
Distribution: Debian sid
Posts: 2,000

Rep: Reputation: 550Reputation: 550Reputation: 550Reputation: 550Reputation: 550Reputation: 550
it is not really 'firmware' that you are describing
it s the OS ( operating system )

a custom andoid is probably the easiest place to start

LFS is great if you want to learn how to build a Linux system From Sratch

I'm not sure LFS has an arm ( the likely architecture of your e-reader ) target
it might be in clfs
yeah, arm has a mention there.

You could also draw from the SBC community ( the likes of Raspberry Pi )

the biggest problem you will have is getting drivers for the hardware, documentation may be lacking and available source code ( and needed firmware blobs ) may be only available for older ( or just plain old ) Linux kernels
Old 09-10-2019, 09:25 AM   #3
Senior Member
Registered: Nov 2013
Location: Tokyo
Distribution: Redhat/Centos, Ubuntu, Raspbian, Fedora, Alpine, Cirros, OpenSuse/SLES
Posts: 3,286

Rep: Reputation: 858Reputation: 858Reputation: 858Reputation: 858Reputation: 858Reputation: 858Reputation: 858
You can only write firmware if you have the precise specs of the device.

First, you need to know the CPU, so that you can properly compile the kernel and Busybox (if you use Busybox), and any other software that will run on the device.

Then, you have to know the precise nature of the device's IO system. I have no experience with it, but as an example, the Odroid I own doesn't have a PCI bus, so that the usual way of discovering the systems's hardware may not work. You may have to write drivers for exotic hardware, e.g. whatever the device's non-PCI IO bus or the touchscreen of your reader.

As far as further resources are concerned, you may get information on, a wiki dedicated to embedded Linux systems.

Last edited by berndbausch; 09-10-2019 at 09:28 AM.
Old 09-16-2019, 03:12 PM   #4
Registered: Mar 2008
Posts: 19,152

Rep: Reputation: 2921Reputation: 2921Reputation: 2921Reputation: 2921Reputation: 2921Reputation: 2921Reputation: 2921Reputation: 2921Reputation: 2921Reputation: 2921Reputation: 2921
While we generally think of android being built on top of linux that may be quite a simplified statement.
I assume you want to build some version of linux to replace this. Unless you have lucky or quite skilled, the task will be a challenge. There are millions of small devices that have little to no documentation for you to use in order to create a distro.

Instead of you trying to make a from scratch install it may be possible that someone in one of the current alternative embedded solutions has something close. I'd think that working on something close would be better than full out. (it will be easy to brick this by the way)

Some ideas to start.

What I would do is make an image of the current OS. I'd also use tools to discover the hardware that is currently used and the settings in place for it.

Might also peek at QNX even in all this. It is possible that some version of other OS's like windows embedded or BSD to this device.

Personally I'd think it would be quite a task for me to take any generic device and successfully install some alternative OS and be 100% working but I encourage you to try. The limits of your hardware will have to be known. Read all you can about your hardware. If you can't find enough like examples on the web then it may be a waste of effort. Might buy a supported device and put on some OS.

Last edited by jefro; 09-16-2019 at 03:18 PM.


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
correct command (as I am a newbie in linux) on how to copy the missing firmware saved to USB drive stick to /lib/firmware/ sarksloane Linux - Newbie 12 12-24-2017 10:56 AM
[SOLVED] Suggestion: install kernel firmware into /lib/firmware/$(uname -r) qweasd Slackware 7 08-08-2012 02:12 PM
kernel26-firmware conflicts with linux-firmware conflicts with nvidia-96xx Bratmon Arch 3 06-26-2010 07:42 PM
Failure to find E100 firmware even though present in /lib/firmware afhartman Linux - Networking 2 07-27-2009 07:31 AM
messed up my ipod firmware..need new firmware.. casimir Linux - Hardware 2 09-13-2004 08:11 PM > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 05:44 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration