Added new section called "Next Steps" to the tutorial.
This commit is contained in:
parent
d3a5e2e1c8
commit
aa9424bc6e
@ -15,7 +15,8 @@
|
|||||||
2. Boot Process
|
2. Boot Process
|
||||||
3. Inside The Shell Scripts
|
3. Inside The Shell Scripts
|
||||||
4. Possible Improvements
|
4. Possible Improvements
|
||||||
5. Epilogue
|
5. Next Steps
|
||||||
|
6. Epilogue
|
||||||
|
|
||||||
### ### ###
|
### ### ###
|
||||||
|
|
||||||
@ -654,7 +655,47 @@
|
|||||||
|
|
||||||
### ### ###
|
### ### ###
|
||||||
|
|
||||||
5. Epilogue
|
5. Next Steps
|
||||||
|
|
||||||
|
OK, now we know how to build and run a basic Linux system. But that's not enough.
|
||||||
|
Now we want to build more complex system, probably one which supports "packman",
|
||||||
|
"apt-get", or any other package manager.
|
||||||
|
|
||||||
|
Building such system requires a lot more work. A lot more! I mean it!
|
||||||
|
|
||||||
|
For starters, "Minimal Linux Live" lives entirely in the "initramfs" space. We never
|
||||||
|
really get out of there. Basically this is what you need if you want more functional
|
||||||
|
live Linux system:
|
||||||
|
|
||||||
|
1. Compressed file system - this is where all the real stuff will be.
|
||||||
|
|
||||||
|
2. GNU Coreutils - these are the real shell command line utilities (ls, cd, etc.).
|
||||||
|
You need them because later we are going to "escape" from "initramfs" and use the
|
||||||
|
actual file system available in the compressed file. Alternatively, you can overlay
|
||||||
|
the whole "BusyBox" environment on top of the compressed file system but that's not
|
||||||
|
really professional approach.
|
||||||
|
|
||||||
|
3. You need to "switch_root" to the actual file system (the compressed one) which you
|
||||||
|
first need to locate, then mount and finally make it "writable" by overlaying virtual
|
||||||
|
RAM files/folders via UNION/AUFS (or something similar) if the bootable media is not
|
||||||
|
already writable. Remember that you are mounting compressed FS, which means that if
|
||||||
|
you make any changes on files located in the original FS, they will not be persisted
|
||||||
|
between reboots. Probably you want to handle this edge case as well.
|
||||||
|
|
||||||
|
4. You need to prepare in advance the stuff that you want to be present in the compressed
|
||||||
|
file system. Assuming that we are building a useful live Linux OS, the absolute minimum
|
||||||
|
is "GNU Coreutils", network management utilities and probably some kind of package
|
||||||
|
manager, e.g. "packman" or "apt-get".
|
||||||
|
|
||||||
|
5. You need to rewrite /init and make it execute all necessary steps to fulfil "point 3"
|
||||||
|
from the above. Different live Linux systems use different approaches here.
|
||||||
|
|
||||||
|
All of the above is definitely *not* minimal but it's definitely doable if you put some
|
||||||
|
additional efforts.
|
||||||
|
|
||||||
|
### ### ###
|
||||||
|
|
||||||
|
6. Epilogue
|
||||||
|
|
||||||
That's all folks! I hope you find this tutorial useful. And remember, we are talking
|
That's all folks! I hope you find this tutorial useful. And remember, we are talking
|
||||||
about very minimal live Linux OS here. If you want to create something bigger, I
|
about very minimal live Linux OS here. If you want to create something bigger, I
|
||||||
|
Loading…
x
Reference in New Issue
Block a user