Mapout: Build Ubuntu From Scratch
- Hardware: An ARM64 hardware platform is needed for these instructions, and we use Khadas VIM to throughout the instructions.
- Bootloader: Bootloader is a piece of code that runs before any operating system is running. Further reading here.
- DTB: DTB is as known as Device Tree Blob, it is also referred to as a flat device tree, device tree binary. Further reading here.
- Ramfs: Ramfs is a dynamically resizable RAM-based filesystem, very simple filesystem that exports Linux's disk caching mechanisms.
- Rootfs: Rootfs is a special instance of ramfs, further reading at The Linux Kernel Archives.
- ARMHF and ARM64: ARMHF is 32-bit and ARM64 is 64-bit CPU architecture, a 32-bit software can run on a 64-bit system, but not vice versa.
- Ubuntu base: Formerly known as 'Ubuntu Core', is a minimal rootfs for use in the creation of custom images for specific needs. Further reading at Ubuntu Wiki.
- Desktop Environments: A Desktop Environment is an implementation of the desktop metaphor built as a collection of different user and system programs running on top of an operating system, and share a common GUI (Graphical User Interface), also known as a graphical shell. Further reading here.
- Boot Disk: A removable SD Card/U-Disk or onboard eMMC storage to boot your operating system, take a notice of the difference/steps each others while you are reading the instructions.
- Host and Target: The
Host is a computer(X86 PC) where the IDE resides, and the
Target is a device(Khadas VIM) where your program runs. And we will also use
Emulator(Chroot) to speed up the developments throughout the instructions, so note to distinguish the typing command lines between
Approaches to build your own Ubuntu system
Suggestions and feedbacks
- Any suggestions and feedbacks are welcomed and appreciated, it will bring us to a next level.
- You might got questions of the instructions, feel free to post comments at Ubuntu thread of Khadas Forums.