LFD450 Embedded Linux Development Practice Exam, Exams of Technology

Focused on embedded Linux basics, this exam covers system architecture, bootloaders, kernel modules, device trees, root filesystem construction, cross-toolchains, debugging tools, and performance considerations. Candidates practice assembling embedded distributions, configuring hardware interfaces, resolving boot failures, and integrating custom applications.

Typology: Exams

2025/2026

Available from 01/11/2026

shilpi-jain-1
shilpi-jain-1 🇮🇳

4.2

(5)

29K documents

1 / 95

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
LFD450 Embedded Linux Development Practice
Exam
**Question 1**
Which Linux distribution is most commonly used as a base for Buildroot when creating minimal
embedded root filesystems?
A) Fedora
B) Debian
C) Yocto
D) Ubuntu
Answer: C
Explanation: Buildroot can use Yocto’s metadata, but it ships its own minimal set of packages;
Yocto is the reference distribution for many embedded projects.
**Question 2**
When configuring a virtual machine for embedded development, which of the following settings
is most important for accurate peripheral emulation?
A) Number of CPU cores
B) Amount of RAM
C) Network bridge mode
D) USB controller type
Answer: D
Explanation: USB controller type determines how USB peripherals (e.g., JTAG adapters) are
presented to the guest OS.
**Question 3**
The “Signed-off-by” line in a contribution patch is primarily used to satisfy which of the
following?
A) GPL compliance
B) DCO (Developer Certificate of Origin)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f

Partial preview of the text

Download LFD450 Embedded Linux Development Practice Exam and more Exams Technology in PDF only on Docsity!

Exam

Question 1 Which Linux distribution is most commonly used as a base for Buildroot when creating minimal embedded root filesystems? A) Fedora B) Debian C) Yocto D) Ubuntu Answer: C Explanation: Buildroot can use Yocto’s metadata, but it ships its own minimal set of packages; Yocto is the reference distribution for many embedded projects. Question 2 When configuring a virtual machine for embedded development, which of the following settings is most important for accurate peripheral emulation? A) Number of CPU cores B) Amount of RAM C) Network bridge mode D) USB controller type Answer: D Explanation: USB controller type determines how USB peripherals (e.g., JTAG adapters) are presented to the guest OS. Question 3 The “Signed-off-by” line in a contribution patch is primarily used to satisfy which of the following? A) GPL compliance B) DCO (Developer Certificate of Origin)

Exam

C) CLA (Contributor License Agreement) D) OpenSSL licensing Answer: B Explanation: The Signed‑off‑by line certifies that the contributor agrees to the DCO. Question 4 In an embedded Linux project, staying close to mainline kernel sources is recommended because: A) Mainline kernels have smaller footprints. B) Mainline receives security patches and hardware support updates. C) Mainline kernels are always real‑time. D) Mainline kernels eliminate the need for device trees. Answer: B Explanation: Mainline receives continuous security fixes and new driver support, reducing maintenance effort. Question 5 Which characteristic distinguishes an embedded Linux system from a general‑purpose Linux desktop? A) Use of a monolithic kernel B) Presence of a graphical desktop environment C) Fixed resource constraints (CPU, memory, storage) D) Support for POSIX APIs Answer: C Explanation: Embedded systems are designed for limited resources, unlike general‑purpose desktops.

Exam

Answer: C Explanation: Right‑sizing focuses on reducing resources; dynamic loading from the internet increases complexity and size. Question 9 In the compiler triplet “arm‑none‑eabi”, the “none” component refers to: A) The CPU architecture B) The vendor identifier C) The operating system D) The Application Binary Interface Answer: B Explanation: The middle field of the triplet is the vendor; “none” indicates a generic vendor. Question 10 Which tool is specifically designed to automate the building of cross‑compilers from source? A) crosstool‑ng B) gcc‑cross C) buildroot‑cross D) yocto‑compiler Answer: A Explanation: crosstool‑ng automates configuration, compilation, and installation of cross‑toolchains. Question 11 When using Buildroot, which configuration file stores the list of selected packages? A) .config

Exam

B) .brc C) Config.in D) .buildrc Answer: A Explanation: Buildroot’s .config holds all user selections, similar to the kernel’s .config. Question 12 Yocto Project’s “bitbake” command performs which of the following actions? A) Compiles the Linux kernel only B) Generates a bootloader image C) Executes the task graph defined by recipes to build images D) Installs packages on the host system Answer: C Explanation: Bitbake parses recipes and runs tasks to produce target images. Question 13 Clang/LLVM is sometimes preferred over GCC for embedded builds because: A) It produces smaller binaries by default. B) It has better support for static analysis and sanitizers. C) It does not require a separate linker. D) It only supports ARM architectures. Answer: B Explanation: LLVM’s tooling includes powerful static analysis, which helps catch bugs early. Question 14

Exam

Explanation: bootcmd is executed automatically after the boot delay. Question 17 When booting a board over Ethernet using TFTP, which component is responsible for loading the kernel image into RAM? A) U‑Boot’s tftpboot command B) The kernel’s initramfs C) The device tree parser D) The bootloader’s NFS client Answer: A Explanation: tftpboot fetches the kernel via TFTP and places it in RAM. Question 18 Which of the following best describes a monolithic kernel? A) All drivers run in user space. B) Core services and device drivers execute in kernel space. C) The kernel is split into micro‑services communicating via messages. D) Kernel modules cannot be loaded at runtime. Answer: B Explanation: In a monolithic kernel, core services and drivers share the same address space. Question 19 The primary purpose of the Linux kernel’s “process scheduler” is to: A) Manage virtual memory paging B) Allocate CPU time slices to runnable tasks

Exam

C) Load device drivers during boot D) Provide networking stack services Answer: B Explanation: The scheduler decides which process runs on the CPU and for how long. Question 20 Which directory in the kernel source tree contains architecture‑specific code for ARM? A) arch/arm/ B) drivers/arm/ C) include/arm/ D) lib/arm/ Answer: A Explanation: arch/arm holds all ARM‑specific kernel implementation files. Question 21 During kernel configuration, which menu option enables the ability to load modules at runtime? A) Enable loadable kernel modules (LKMs) B) Static kernel compilation only C) Kernel preemption model D) Kernel debugging support Answer: A Explanation: Selecting “Enable loadable kernel modules” allows the kernel to accept .ko files after boot. Question 22

Exam

Question 25 Which file extension denotes a compiled Device Tree Blob? A) .dts B) .dtb C) .dtc D) .dtx Answer: B Explanation: .dtb is the binary representation loaded by the bootloader. Question 26 In a Device Tree source file, the “compatible” property is used to: A) Define the CPU architecture B) Specify which driver(s) can bind to the node C) Set the memory address of the device D) Indicate the firmware version Answer: B Explanation: The compatible string matches driver bindings in the kernel. Question 27 Which command in U‑Boot loads a Device Tree Blob from an SD card? A) load mmc 0:1 ${fdtaddr} /boot/myboard.dtb B) tftpboot ${fdtaddr} myboard.dtb C) fatload mmc 0:1 ${loadaddr} zImage D) bootm ${loadaddr} - ${fdtaddr}

Exam

Answer: A Explanation: load mmc reads a file from the SD card into RAM at the address stored in fdtaddr. Question 28 When a driver uses the Device Tree to obtain GPIO numbers, which kernel API is commonly called? A) of_get_gpio() B) gpio_request_one() C) devm_gpio_request_one() D) of_find_node_by_name() Answer: C Explanation: devm_gpio_request_one() simplifies acquisition of GPIOs described in DT. Question 29 A Linux kernel module that declares “MODULE_LICENSE("GPL”)” informs the kernel that: A) The module can use GPL‑only symbols. B) The module is proprietary. C) The module cannot be unloaded. D) The module is a built‑in driver. Answer: A Explanation: Declaring GPL license grants access to GPL‑only exported symbols. Question 30 Which of the following kernel macros is used to export a symbol for use by other modules? A) EXPORT_SYMBOL_GPL()

Exam

Question 33 BusyBox combines many utilities into a single binary. Which build option determines which applets are compiled in? A) CONFIG_BUSYBOX_APPS B) make menuconfig → BusyBox Settings → Applet selection C) BUSYBOX_FEATURES D) BUSYBOX_CONFIG_FILE Answer: B Explanation: The BusyBox configuration menu allows enabling or disabling individual applets. Question 34 When choosing a C library for an embedded system, musl is preferred over glibc because: A) musl provides a larger set of POSIX extensions. B) musl has a smaller footprint and deterministic behavior. C) musl supports dynamic linking only. D) musl requires no kernel headers. Answer: B Explanation: musl is lightweight and designed for static linking, making it suitable for constrained devices. Question 35 Which init system starts the first process with PID 1 on most modern embedded Linux builds? A) Systemd B) SysV init (init) C) BusyBox init D) OpenRC

Exam

Answer: C Explanation: BusyBox init is often used in minimal embedded images and runs as PID 1. Question 36 In the context of device managers, “mdev” is associated with which component? A) systemd‑udevd B) BusyBox C) udev D) devtmpfs Answer: B Explanation: BusyBox provides mdev, a lightweight device manager for embedded systems. Question 37 Which filesystem type is best suited for read‑only root filesystems that need high compression? A) ext B) JFFS C) SquashFS D) UBIFS Answer: C Explanation: SquashFS provides high compression and is read‑only, ideal for immutable roots. Question 38 When using U‑Boot to boot a kernel with a separate initramfs, which command format is correct? A) bootm ${loadaddr} ${ramdiskaddr} ${fdtaddr}

Exam

Explanation: Alt‑SysRq‑B performs an immediate reboot without syncing, but Alt‑SysRq‑S (sync)

  • Alt‑SysRq‑U (unmount) are used before a safe reboot. The “safe reboot” sequence is S, U, then B. Question 41 The “ftrace” facility is primarily used for: A) Capturing kernel panic dumps B) Tracing function calls with low overhead C) Monitoring network traffic D) Managing filesystem quotas Answer: B Explanation: ftrace records function entry/exit events, useful for performance analysis. Question 42 Which user‑space tool visualizes ftrace output in a graphical timeline? A) perf B) trace-cmd C) Kernelshark D) gdb Answer: C Explanation: Kernelshark provides a GUI to view trace‑cmd generated data. Question 43 The “perf record” command collects performance data. Which option limits collection to user‑space events only? A) - e cpu-clock:u

Exam

B) - e cycles:k C) - a A) - e cpu-clock:u Answer: A Explanation: The “:u” suffix restricts events to user‑space. Question 44 When debugging a kernel with kgdb over a serial connection, which kernel command line parameter must be present? A) kgdboc=ttyS0, B) debug=serial C) console=ttyS0, D) kgdb=on Answer: A Explanation: kgdboc specifies the serial device and baud rate for kgdb. Question 45 The “debugfs” filesystem is typically mounted at which mount point? A) /debug B) /sys/kernel/debug C) /proc/debug D) /dev/debugfs Answer: B Explanation: debugfs is mounted under /sys/kernel/debug to expose kernel debugging files.

Exam

Answer: A Explanation: The “-comp” flag selects the compression method (e.g., xz, gzip, lz4). Question 49 Dual‑bank firmware update strategies primarily aim to: A) Reduce boot time B) Provide a fallback in case the new image is corrupted C) Increase storage capacity D) Enable simultaneous execution of two kernels Answer: B Explanation: Dual‑bank keeps a known‑good image while the new one is written, allowing rollback. Question 50 Which of the following tools is part of the Yocto Project and can generate OTA (over‑the‑air) update packages? A) swupdate B) bitbake‑image‑upgrade C) woof D) meta‑updater (image‑tools) Answer: D Explanation: Yocto’s meta‑updater layer provides tools for creating OTA update bundles. Question 51 In Buildroot, the “BR2_PACKAGE_BUSYBOX_CONFIG” option is used to: A) Enable BusyBox in the final image

Exam

B) Specify a custom BusyBox .config file C) Set the BusyBox version to compile D) Disable all BusyBox applets Answer: B Explanation: This variable points to a custom BusyBox configuration file. Question 52 When compiling the Linux kernel for an ARM Cortex‑A53 target, which make target is typically used? A) make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- defconfig B) make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig C) make ARCH=arm CROSS_COMPILE=arm-none-eabi- allmodconfig D) make ARCH=arm64 CROSS_COMPILE=arm-linux-gnueabihf- menuconfig Answer: B Explanation: Cortex‑A53 is a 64‑bit ARM core, requiring ARCH=arm64 and an aarch cross‑compiler. Question 53 Which kernel config option enables the “CONFIG_PREEMPT_RT” patch set? A) CONFIG_PREEMPT_NONE B) CONFIG_PREEMPT_VOLUNTARY C) CONFIG_PREEMPT_RT_FULL D) CONFIG_PREEMPT_DESKTOP Answer: C Explanation: CONFIG_PREEMPT_RT_FULL selects the full PREEMPT_RT real‑time patch set.