SM1:
Open-source Operating Systems |
ASIX/DAW/DAM-1 |
Task
A6: Linux boot process. Default boot manager on Linux: GRU
|
14-10-24 |
TASK A6: Linux boot process.
Default boot manager on Linux: GRU
GENERAL CONDITIONS
a) Deadline
ASIX1: On 21-10-24 teacher will check that your
operating system is working properly
Deadline DAW1: On 21-10-24 teacher will
check that your operating system is working properly
b) Teacher will check on your computer:
- Part 1 -> question 3
- Part 2 -> questions 1 to 5
DOCUMENTATION
1- Bootstrat or boot
process. MBR. Boot Loader. GRUB.
It is the process of loading an operating
system into memory and starting it running
without any outside help or assistance. If you
are ruunig Linux, the following steps are
taken in order to start the operating system:
1st step)
When you turn on the computer, the CPU begins
run a set of programs installed on a special
chip on the motherboard called BIOS.
2nd step) When the first step
finishes, instructions contained in the
BIOS
make the CPU load and start a very
small program called Boot Loader,
which is responsible for starting the
operating system. Linux works
with a Boot Loader called
GRUB.
3rd step) GRUB shows a menu to boot the
operating system of your election (Windows,
Linux.....) or different versions of
Linux.
4th step) Afterwards, GRUB will
be responsible to boot the selected operating
system and to transfer the control of
your computer to the selected operating
system.
2- Configuring the GRUB menu.
a) You can change any aspect of
the GRUB
menu by:
- Editing the
/etc/default/grub configurations
file.
- Renaming and changing
permissions of special scripts located in /etc/grub.d.
b) Whenever you change the GRUB
cofiguration you must run the command: sudo
update-grub. If you do not run this
command, GRUB does not change its
configuration and it will still work with the
old configuration.
2.1- /etc/default/grub
Changing the values of variables in
the /etc/default/grub
file allows you to modify many aspects of how
the system boots and how GRUB
displays its menu. Some of the most important
variables are the following:
a) GRUB_DEFAULT:
It specifies the ordinal number of the
default menu entry. Menu entries are numbered
starting with 0 (0 specifies the first menu
entry).
b)
GRUB_TIMEOUT: It specifies the number
of seconds GRUB waits before booting the
operating system by default.
c)
GRUB_DISABLE_RECOVERY: It specifies
whether or not
update-grub generates
recovery-mode menu entries. Commented
out by default. Default value is false,
which means that entries are generated.
d)
GRUB_DISABLE_SUBMENU: It disables ("y")
or enables (with #) submenus. This option is
not available by default and must be added
manually at the end of the file.
IMPORTANT ---> GRUB does not
evaluate a line that begin with a hasmark (#). These
lines are comments.
2.2- /etc/grub.d
The
files in this folder are read during execution
of the update-grub
utility. The order of the entries in the GRUB menu
is based on the order of the file names. The
order the files are run determines the menu
order in GRUB.
Some of the most important files are the
following:
a) 00_header:
It
is the script that loads GRUB settings from /etc/default/grub,
including timeout, default boot entry, and
others.
b) 05_debian_theme: Sets the background and text
colors themes.
c) 10_linux: It loads the menu
entries for the installed distribution.
Creates a menu entry for each kernel in /boot. A
kernel is specified by a file named vmlinuz-*.
d)
20_linux_xen: It loads xen linux
kernels which are a special kind of virtual
kernels.
e) 30_os-prober: It is the script that
will scan the hard disks for other operating
systems (Windows, Linux on other
partitions,....) and add them to the boot
menu.
IMPORTANT
NOTES:
a)
Each of these files must be executable if you
want update-grub to process it. If you
do not want update-grub to process one
of the files, remove the execute bits from the
file running sudo chmod -x
<filename> where <filename>
should be changed with the real filename you
want to change.
b) All
executable files are processed in order
according to their initial number.
2.3-
update-grub
A utility for updating
/boot/grub/grub.cfg according to the
contents of the /etc/default/grub file and
files in the
/etc/grub.d directory.
PRACTICAL
EXERCISE
PART 1- INSTALLING DEBIAN LINUX, WINDOWS
SERVER AND THE GRUB BOOT LOADER ON A COMPUTER
1-
Create a new virtual machine with te following
specifications:
- Name and operating system:
- Name: boot
- ISO image: <not selected>
- Type: Linux
- Version: Debian (64-bit)
- Hardware:
- Base Memory: 3072MB
- Processors: 2
- Hard Disk:
- Select --> Create a
virtual hard disk now
- Hard Disk File Location and Size:
2- Install operating systems:
- Install Windows Server
2022 with NO graphical user experience:
- Add en-us_windows_server_2022_updated_july_2023_x64_dvd_541692c3.iso
(or equivalent) to Storage->Controller IDE
- Follow this video
from 0:00 to 7:00
to install the operating system with the requested
option.
- Install Debian 12.7.0 with NO
Desktop environment and the GRUB Boot loader
on your primary hard drive:
- Remove en-us_windows_server_2022_updated_july_2023_x64_dvd_541692c3.iso
- Add debian-12.7.0-amd64-DVD-1.iso
to Storage->Controller
IDE
- With the help of activity
sm1act01 and the following video
from 7:01 to 17:39 you
will be able to install the operating system with
the requested option and GRUB.
3- Check and
show
your installation (with the help of the
following video
from 17:40 to 22:52 you
will be able to check if everything works
fine):
- You can boot Windows
Server 2022 and gain access to the system as Administrator.
- You can boot Debian GNU/Linux 12.1
and gain access to the system as fje and root.
- You can gain access to the Debian GNU/Linux 12.1 recovery
mode (not in the video)
PART
2 - Basic configuration of GRUB Boot Loader
1- Configure
GRUB
for
waiting 15
seconds before
booting the
operating system by
default if no key is
pressed. Check and
show the new
configuration
2-
Remove
the Advanced
options for
Debian
GNU/Linux
submenu
and the Debian
GNU/Linux 12.1
recovery mode
option.
Check
and
show the
new
configuration.
3-
Make
Windows Server
the default
menu entry.
Check and
show the
new
configuration.
4-
Disable
the Windows
Server
menu entry.
Check and
show the
new
configuration.