This document provides instructions for creating a minimal Linux distribution that can boot from a USB flash drive. It describes setting up the basic filesystem structure, configuration files, installing essential commands using BusyBox, copying over the Linux kernel and initrd files, installing Grub as the bootloader, and configuring Grub to boot the new system from the flash drive. The goal is to create a simple but functional embedded Linux system optimized for size.
This ppt gives information about:
1. Administering the server
2. Correcting installation problems
3. Setting up user accounts
4. Connecting to the network
5. Configuring utilities
This ppt gives information about:
1. Administering the server
2. Correcting installation problems
3. Setting up user accounts
4. Connecting to the network
5. Configuring utilities
Presentation on Debian Operating System. In this presentation auther describes the Debian OS and Its Facility and Fetures point-by-point and How Debian Invented. It is also usefull for CSE Student for the presentation of their OS Subject.
Building Mini Embedded Linux System for X86 ArchSherif Mousa
Full tutorial to learn how to build your own embedded Linux system as a MiniOS for your X86 device (PC ...).
It's considered a good start for anyone to get into the field of Embedded Linux building and development.
This lecture Introduces how Linux Handles Input and Output of its processes. It discusses the TTY/PTY devices and different types of terminals (Physical Terminal, Virtual Terminals, and Emulated Terminals)
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
- https://www.linkedin.com/in/ahmedelarabawy
Course 102: Lecture 16: Process Management (Part 2) Ahmed El-Arabawy
This lecture continues to introduce concepts about processes in Linux. It describes both Automatic processes and Daemon Processes.
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
- https://www.linkedin.com/in/ahmedelarabawy
Course 102: Lecture 27: FileSystems in Linux (Part 2)Ahmed El-Arabawy
This lecture goes through the different types of Filesystems and some commands that are used with filesystems. It introduces the filesystems ext2/3/4 , JFFS2, cramfs, ramfs, tmpfs, and NFS.
Video for this lecture on youtube:
http://www.youtube.com/watch?v=XPtPsc6uaKY
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
Ahmed ElArabawy
- https://www.linkedin.com/in/ahmedelarabawy
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...The Linux Foundation
Hypervisors are used in a broad range of domains ranging from Embedded systems, Automotive to big iron servers. The choice of hypervisor has a strong impact on the overall design of your project and its performance. This talk introduces the state of virtualization on ARM, and provides a description of three popular open source hypervisors: KVM, Jailhouse and Xen. Julien Grall explains respective key features, technical differences and suitability of the hypervisor for different application domains.
Julien Grall is a Software Virtualisation Engineer at ARM.
The talk was delivered at Root Linux Conference 2017. Learn more: http://linux.globallogic.com/materials. The video recording is available at https://www.youtube.com/watch?v=jZNXtqFJpuc
Yocto - Embedded Linux Distribution MakerSherif Mousa
Yocto is an Embedded Linux distribution maker.
This presentation is a quick start guide for Yocto buildsystem to get familiar with the tool and how to start building your own custom Linux system for a specific hardware target.
Presentation on Debian Operating System. In this presentation auther describes the Debian OS and Its Facility and Fetures point-by-point and How Debian Invented. It is also usefull for CSE Student for the presentation of their OS Subject.
Building Mini Embedded Linux System for X86 ArchSherif Mousa
Full tutorial to learn how to build your own embedded Linux system as a MiniOS for your X86 device (PC ...).
It's considered a good start for anyone to get into the field of Embedded Linux building and development.
This lecture Introduces how Linux Handles Input and Output of its processes. It discusses the TTY/PTY devices and different types of terminals (Physical Terminal, Virtual Terminals, and Emulated Terminals)
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
- https://www.linkedin.com/in/ahmedelarabawy
Course 102: Lecture 16: Process Management (Part 2) Ahmed El-Arabawy
This lecture continues to introduce concepts about processes in Linux. It describes both Automatic processes and Daemon Processes.
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
- https://www.linkedin.com/in/ahmedelarabawy
Course 102: Lecture 27: FileSystems in Linux (Part 2)Ahmed El-Arabawy
This lecture goes through the different types of Filesystems and some commands that are used with filesystems. It introduces the filesystems ext2/3/4 , JFFS2, cramfs, ramfs, tmpfs, and NFS.
Video for this lecture on youtube:
http://www.youtube.com/watch?v=XPtPsc6uaKY
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
Ahmed ElArabawy
- https://www.linkedin.com/in/ahmedelarabawy
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...The Linux Foundation
Hypervisors are used in a broad range of domains ranging from Embedded systems, Automotive to big iron servers. The choice of hypervisor has a strong impact on the overall design of your project and its performance. This talk introduces the state of virtualization on ARM, and provides a description of three popular open source hypervisors: KVM, Jailhouse and Xen. Julien Grall explains respective key features, technical differences and suitability of the hypervisor for different application domains.
Julien Grall is a Software Virtualisation Engineer at ARM.
The talk was delivered at Root Linux Conference 2017. Learn more: http://linux.globallogic.com/materials. The video recording is available at https://www.youtube.com/watch?v=jZNXtqFJpuc
Yocto - Embedded Linux Distribution MakerSherif Mousa
Yocto is an Embedded Linux distribution maker.
This presentation is a quick start guide for Yocto buildsystem to get familiar with the tool and how to start building your own custom Linux system for a specific hardware target.
U-Boot, a boot loader for Embedded boards based on PowerPC, ARM, MIPS and several other processors, which can be installed in a boot ROM and used to initialize and test the hardware or to download and run application
code.
BeagleBone Black is one of the most popular open hardware that is available to learn Embedded Linux. This versatile platform helps you to explore different set of peripherals and helps you to load a custom Embedded distribution. This presentation briefly introduces you with BeagleBone Black.
Often called as the Swiss Army Knife of Embedded Linux, BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. It is written with size-optimization
and limited resources in mind. Here is a presentation that details about BusyBox.
The Ultimate IBM and Lotus on Linux Workshop for Windows AdminsBill Malchisky Jr.
Linux is quite simple to learn and understand when you have proper comprehension of the fundamentals. So let's teach attendees about the insights into administering a Linux server, allowing you to manage your IBM/Lotus applications with ease. You will receive highlights of the full training course Bill teaches his clients: application install tips, Linux shell techniques, basic scripting, and your questions answered throughout the class.
Given at Midwest LUG 2012 and UKLUG 2012
Launch the First Process in Linux SystemJian-Hong Pan
The session: https://coscup.org/2022/en/session/AGCMDJ
After Linux kernel boots, it will try to launch first process “init” in User Space. Then, the system begins the featured journey of the Linux distribution.
This sharing takes Busybox as the example and shows that how does Linux kernel find the “init” which directs to the Busybox. And, what will Busybox do and how to get the console. Try to make it like a simple Linux system.
Before Linux kernel launches “init” process, the file system and storage corresponding drivers/modules must be loaded to find the “init”. Besides, to mount the root file system correctly, the kernel boot command must include the root device and file system format parameters.
On the other hand, the Busybox directed from “init” is a lightweight program, but has rich functions, just like a Swiss Army Knife. So, it is usually used on the simple environment, like embedded Linux system.
This sharing will have a demo on a virtual machine first, then on the Raspberry Pi.
Drafts:
* https://hackmd.io/@starnight/Busbox_as_the_init
* https://hackmd.io/@starnight/Build_Alpines_Root_Filesystem_Bootstrap
Relate idea: https://hackmd.io/@starnight/Systems_init_and_Containers_COMMAND_Dockerfiles_CMD
Crafting GNU/Linux distributions for Embedded target from Scratch/SourceSourabh Singh Tomar
Following content is pehaps next step for Embedded Linux distribuiton process! Working out the entire process from sources. This time more elaborative.
Crafting GNU/ linux distributions for embedded target using BuilrootSourabh Singh Tomar
Following content is quick start guide for, Someone looking for understanding working of Embedded Linux at the same time practical consideration involved for getting the system online.
A talk and practical hands-on demonstrating how The Yocto Project provides tooling that can help you with evaluating, testing, tweaking, configuring, and modifying Linux kernels for your embedded project.
Introduction to Linux Kernel by Quontra SolutionsQUONTRASOLUTIONS
Course Duration: 30-35 hours Training + Assignments + Actual Project Based Case Studies
Training Materials: All attendees will receive,
Assignment after each module, Video recording of every session
Notes and study material for examples covered.
Access to the Training Blog & Repository of Materials
Pre-requisites:
Basic Computer Skills and knowledge of IT.
Training Highlights
* Focus on Hands on training.
* 30 hours of Assignments, Live Case Studies.
* Video Recordings of sessions provided.
* One Problem Statement discussed across the whole training program.
* Resume prep, Interview Questions provided.
WEBSITE: www.QuontraSolutions.com
Contact Info: Phone +1 404-900-9988(or) Email - info@quontrasolutions.com
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
Honest Reviews of Tim Han LMA Course Program.pptxtimhan337
Personal development courses are widely available today, with each one promising life-changing outcomes. Tim Han’s Life Mastery Achievers (LMA) Course has drawn a lot of interest. In addition to offering my frank assessment of Success Insider’s LMA Course, this piece examines the course’s effects via a variety of Tim Han LMA course reviews and Success Insider comments.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Thesis Statement for students diagnonsed withADHD.ppt
linux minimal os tutorial - by shatrix
1. Linux Minimal OS For X86
Facebook group: Learn To Be
Official website: www.L2b-egypt.org
Prepared By: SHATRIX
E-Mail: eng.shatrix@gmail.com
Learn To Be Embedded Linux Training
2. 2
A Very Expert Was Once A Beginner
Learn The Way, Forget It, Then
Find Your Own Way
Learn To Be Embedded Linux Training
3. 3
Introduction
• This tutorial will show you how to create your own
"Minimal Linux Distribution" on a USB Flash memory.
• You will learn about:
▫ The FHS (Filesystem Hierarchy Standard).
▫ Linux minimal common commands that make the system start and
operate well.
▫ How to deal with Grub bootloader (install, edit configuration files).
▫ How to use the Linux kernel.
▫ Dealing with some root commands (mount, mkfs.ext2, grub-install)
• It is considered a good start for those people who want
to enter the field of Embedded Linux Systems
PS: Development on UBUNTU 10.10
Learn To Be Embedded Linux Training
4. 4
Prerequisites:
• You will need to install these packages first on Ubuntu
10.10
▫ sudo apt-get update
▫ sudo apt-get install ncurses-dev bison texinfo flex
• You should be good in working with at least one Linux
distribution like UBUNTU, and can understand the
command you write and its options.
Learn To Be Embedded Linux Training
5. 5
Basic Linux Structure
• Any Linux distribution consists of some main components:
▫ Root Filesystem (main directories and sub directories).
▫ Linux Kernel image with or without initram filesystem
(initrd.img).
▫ Configuration files and startup scripts in the (/etc) directory.
▫ Essential Linux commands needed for system to start and
operate well.
▫ C & GCC Shared Libraries needed for any C or C++ application
to run.
▫ Boot Loader to start the system from its storage media.
▫ GUI system or not.
▫ Extra Programs.
• So, we will minimize all these components to get the
minimal Linux distribution that works very well on any X86
CPU.
Learn To Be Embedded Linux Training
6. 6
Creating Root Filesystem /
• Open a new Terminal, you will be right now inside your
home directory. Assume that the user name currently
running is (shatrix), you will be in: /home/shatrix
• Create any directory to contain the whole OS files and
enter it
▫ mkdir minimal-linux
▫ cd minimal-linux
▫ pwd
• Now you are in: /home/shatrix/minimal-linux
Learn To Be Embedded Linux Training
7. 7
Creating Root Filesystem /
• Execute these commands:
▫ mkdir bin boot dev etc lib proc root
sbin
▫ mkdir media sys tmp var usr
▫ mkdir usr/bin usr/sbin usr/lib var/log
▫ touch var/log/messages
▫ chmod 1777 tmp
• Now you have the main filesystem directories to
contain the whole system
Learn To Be Embedded Linux Training
8. 8
Configuration Files & Startup Scripts ( /etc )
• Inside (/etc), create these files & fill them with these
contents:
▫ gedit group
copy and paste this line inside it:
root:x:0:
▫ gedit passwd
copy and paste this line inside it:
root:x:0:0:root:/root:/bin/sh
▫ gedit shadow
copy and paste this line inside it:
root::10:0:0:0:::
▫ gedit hostname
copy and paste this line inside it:
LearnToBe
Learn To Be Embedded Linux Training
9. 9
Configuration Files & Startup Scripts ( /etc )
• gedit inittab
▫ null::sysinit:/bin/mount -t proc proc /proc
▫ null::sysinit:/bin/mkdir -p /dev/pts
▫ null::sysinit:/bin/mount -a
▫ null::sysinit:/sbin/ifconfig lo 127.0.0.1 up
▫ null::sysinit:/sbin/ifconfig eth0 192.168.1.13 up
▫ ::sysinit:/etc/rc
▫ tty1::respawn:/sbin/getty 38400 tty1
▫ null::sysinit:/bin/touch /var/log/messages
▫ null::respawn:/sbin/syslogd -n -m 0
▫ null::respawn:/sbin/klogd -n
▫ tty2::respawn:/usr/bin/tail -f /var/log/messages
▫ ::ctrlaltdel:/sbin/reboot
▫ null::shutdown:/usr/bin/killall klogd
▫ null::shutdown:/usr/bin/killall syslogd
▫ null::shutdown:/bin/umount -a -r
Learn To Be Embedded Linux Training
10. 10
Configuration Files & Startup Scripts ( /etc )
• gedit rc
▫ #!/bin/sh
▫ PATH=/sbin:/bin:/usr/sbin:/usr/bin
▫ export PATH
▫ /bin/hostname LearnToBe
▫ /sbin/hwclock -s
▫ /bin/echo " "
▫ /bin/echo " Y A T T A "
▫ /bin/echo " My First Embedded Linux "
▫ /bin/echo " "
• chmod +x rc
Learn To Be Embedded Linux Training
11. 11
Configuration Files & Startup Scripts ( /etc )
• gedit profile
▫ export PS1=‘LearnToBe # '
▫ export USER=`id -un`
▫ export LOGNAME=$USER
▫ export HOSTNAME=`/bin/hostname`
▫ export HISTSIZE=1000
▫ export HISTFILESIZE=1000
▫ alias c='clear'
▫ alias df='df -h'
▫ alias ll='ls -lh'
▫ alias ping='ping -w 5‘
• After Finishing back to the main dir:
▫ /home/shatrix/minimal-linux
Learn To Be Embedded Linux Training
12. 12
Linux Kernel & initrd
• To make your own Linux kernel is not easy like 1 2 3.
• Now, we can just use the Linux kernel already exists in
our Ubuntu distribution.
• So, copy the kernel & initrd file from /boot:
▫ cp /boot/vmlinuz-2.6.35-22-generic boot/
▫ cp /boot/initrd.img-2.6.35-22-generic boot/
Learn To Be Embedded Linux Training
13. 13
Linux Commands (BusyBox)
• Any Linux distribution need some basic commands to
operate correctly, like (mount, ls, pwd, ifconfig, cd,
mkdir, touch, file, rm, vi) and more. Our distribution
should contain these commands, so there are two
ways to get these commands inside our OS:
▫ Getting the source code for each command needed,
compile it separately and copy it to any bin directory
inside the distribution.
▫ Using BusyBox.
Learn To Be Embedded Linux Training
14. 14
Linux Commands (BusyBox)
• BusyBox combines tiny versions of many common
UNIX utilities into a single small executable. It provides
replacements for most of the utilities you usually find
in GNU fileutils, shellutils, etc. The utilities in BusyBox
generally have fewer options than their full-featured
GNU cousins; however, the options that are included
provide the expected functionality and behave very
much like their GNU counterparts. BusyBox provides a
fairly complete environment for any small or
embedded system.
• Get Busybox (busybox-1.17.2.tar.bz2):
▫ http://www.busybox.net/downloads/busybox-1.17.2.tar.bz2
Learn To Be Embedded Linux Training
15. 15
Linux Commands (BusyBox)
• Put the tar file in your home dir and open a new Terminal:
▫ tar xvf busybox-1.17.2.tar.bz2
▫ cd busybox-1.17.2/
• Configure Busybox as required:
▫ make defconfig
▫ make menuconfig
• The command (make menuconfig) will open a GUI
terminal-based configuration for the BusyBox program,
you can choose what to be installed and what not to be
installed, or you can just choose to exit this configuration
and remember to save your configuration settings on exit.
• We will choose to combile the busybox as a statically
linked application to avoid using shared libs for C & GCC
apps.
Learn To Be Embedded Linux Training
16. 16
Linux Commands (BusyBox)
• make menuconfig
• This command will open a window like that
Learn To Be Embedded Linux Training
17. 17
Linux Commands (BusyBox)
• Using arrows Enter the first choise (Busybox Settings),
then choose the second choise (Build Options)
Learn To Be Embedded Linux Training
18. 18
Linux Commands (BusyBox)
• On the first choise in that menu press (Space) to
choose to build busubox as a static binary.
Learn To Be Embedded Linux Training
19. 19
Linux Commands (BusyBox)
• Exit the configuration, but don’t forget to save your
new configurations.
Learn To Be Embedded Linux Training
20. 20
Linux Commands (BusyBox)
• Then execute this command to compile and install BusyBox
inside our system:
▫ make CONFIG_PREFIX=/home/shatrix/minimal-linux install
• After finishing, close this Terminal and get back to the main
Terminal and execute these commands
▫ ls bin
▫ ls sbin
▫ ls usr/bin
▫ ls usr/sbin
• You will see that the commands have been installed inside
the binary directories of our system. Also you need to
know that all these commands are linked to one
executable file named busybox inside /bin and all
these commands shown are just symbolic links to that
command.
Learn To Be Embedded Linux Training
21. 21
C & GCC Libraries
• As we have compiled the BusyBox as a static
executable, we won’t need shared libraries in our small
system till now.
Learn To Be Embedded Linux Training
22. 22
What's Next ?
• Till now this system can run on any x86 cpu, and it can
be copied to any storage (Flash memory, partition, CD)
to be a stand alone operating system.
• Now, we just need a bootloader to start the system.
• We can use the bootloader already installed on
UBUNTU (grub).
Learn To Be Embedded Linux Training
23. 23
Boot Loader (Grub)
• We will use the grub already installed in our Linux
distribution, we just need to write the grub
configuration file manually.
• grub.cfg:
▫ This is a text file contains the menu entries or the list of
operating systems that grub should list them when the
computer starts. We will create it manually.
▫ Go to the PATH of our system
▫ Create (boot/grub) dir
▫ Create (boot/grub/grub.cfg) file
cd /home/shatrix/minimal-linux
mkdir boot/grub
gedit boot/grub/grub.cfg
Learn To Be Embedded Linux Training
24. 24
Boot Loader (Grub)
• copy and paste these lines in the grub.cfg file
▫ set menu_color_normal=yellow/red
▫ set menu_color_highlight=black/light-gray
▫ menuentry 'LINUX Minimal OS FOR X86' {
▫ set root=(hd0,1)
▫ linux /boot/vmlinuz-2.6.35-22-generic
root=UUID=<disk-uuid> rw
▫ initrd /boot/initrd.img-2.6.35-22-generic
▫ }
• The red text <disk-uuid> will be replaced with a value
after that, don’t forget.
Learn To Be Embedded Linux Training
25. 25
Putting System on Flash Memory
• Plug the USB Flash in, It will take a namelike that sdx.
• First we need to format and partition it, from Terminal
run these commands only if you are sure about the
flash device name:
▫ sudo umount /media/flash-disk-mounted-folder
▫ sudo mkfs.ext2 /dev/sdx1
• If you have one hard disk and you have connected only
one flash disk, it will take the name sdb, the command
should be:
• sudo mkfs.ext2 /dev/sdb1
• Then mount the flash back again
▫ sudo mkdir /media/flash
▫ sudo mount /dev/sdb1 /media/flash
Learn To Be Embedded Linux Training
26. 26
Putting System on Flash Memory
• Copy all the OS files from the </home/shatrix/minimal-linux> to
the mounted partition.
▫ cd /home/shatrix/minimal-linux
▫ cp -a * /media/flash
• Finally install grub to the Flash device:
▫ sudo grub-install --root-directory=/media/flash /dev/sdb
• Remember that the sdb will be the Flash disk device
name in /dev, and /media/flash is the directory where
the flash disk is mounted
Learn To Be Embedded Linux Training
27. 27
Final step: Editing grub.cfg (UUID)
• To get the UUID for any partition or Flash:
▫ sudo blkid
• copy the UUID for the required device and paste it in
its correct place in the grub.cfg file on the Flash
memory.
▫ sudo gedit /media/flash/boot/grub/grub.cfg
• In the kernel line (root=UUID=<disk-uuid>)
• make it ( root=UUID=the-result-uuid-from-blkid )
Learn To Be Embedded Linux Training
28. 28
Congratulations, You Did It YATTA
• If you make all these steps as it is, your flash memory
can now boot with the new Linux OS.
• Restart your computer, and select to boot from the
USB flash from your BIOS settings.
• The Grub from the Flash memory should start now,
with one selection:
▫ (LINUX Minimal OS FOR X86)
• Press Enter to start the system, and enjoy.
• When the system starts, go to the first console by
typing Ctrl+Alt+F1 ,it will ask for login, type ( root ) and
press enter, the system will start without asking for
password.
Learn To Be Embedded Linux Training
29. Thank You
Facebook group: Learn To Be
Official website: www.L2b-egypt.org
Prepared By: SHATRIX
E-Mail: eng.shatrix@gmail.com
Learn To Be Embedded Linux Training