Differences

This shows you the differences between two versions of the page.

Link to this comparison view

lkd:laboratoare:01 [2024/07/07 16:20]
daniel.baluta [Practical lab]
lkd:laboratoare:01 [2024/07/08 15:18] (current)
daniel.baluta
Line 15: Line 15:
 ==== Presentation ==== ==== Presentation ====
  
-  * follow slides at [[session ​1]] +  * follow slides at  ​{{:​lkd:​laboratoare:​lkd_01.pdf| Session ​1}}
  
 ==== Practical lab ==== ==== Practical lab ====
Line 107: Line 106:
 {{:​lkd:​laboratoare:​boot_run.png?​736x356}} {{:​lkd:​laboratoare:​boot_run.png?​736x356}}
  
 +<note important>​Use user ''​root''​ and password ''​root''​ to login on Linux running on the board </​note>​
 === 4. Make a change in the Linux kernel === === 4. Make a change in the Linux kernel ===
  
Line 144: Line 144:
  
 Boot script ''​~/​work/​scripts/​uuu_script''​ will use your newly compiled Linux kernel image. So there is no need to change anything after your recompiled the kernel. Just follow again the steps in section ​ [[#​boot_the_board |3. Boot the board ]]! Boot script ''​~/​work/​scripts/​uuu_script''​ will use your newly compiled Linux kernel image. So there is no need to change anything after your recompiled the kernel. Just follow again the steps in section ​ [[#​boot_the_board |3. Boot the board ]]!
 +
 +Now, with the new boot image notice the new logs on the console:
 +
 +<code bash>
 +
 +[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
 +[    0.000000] Hello from Embedded Linux Summer School
 +[    0.000000] Linux version 6.1.55-ga5f70b9823b6-dirty (student@nss)
 +[    0.000000] Machine model: TechNexion PICO-IMX8MQ and PI baseboard
 +
 +</​code>​
 +
 +=== 5. Make a change in the rootfs ===
 +
 +rootfs (or the root file system) is the filesystem that is mounted at ''/''​ (root of the hierarchy) and contains all the files necessary for the operating system to boot and run. 
 +
 +<code bash>
 +# ls /
 +bin         ​home ​       lost+found ​ proc        srv         var
 +boot        lib         ​media ​      ​root ​       sys
 +dev         ​lib64 ​      ​mnt ​        ​run ​        tmp
 +etc         ​linuxrc ​    ​opt ​        ​sbin ​       usr
 +</​code>​
 +
 +In our setup, the rootfs used to boot the board can be found in ''​~/​work/​images/​rootfs.ext2''​. Use the following instructions that add one of your own files into the root filesystem.
 +
 +<code bash>
 +$ cd ~/​work/​images
 +# make a backup of the initial root filesystem
 +$ cp rootfs.ext2 rootfs.ext2.back
 +$ sudo mkdir /​mnt/​my_root
 +$ sudo mount -o loop rootfs.ext2 /​mnt/​my_root
 +
 +# explore the contents of /​mnt/​my_root directory and notice that these are the exact files that you can find on the board
 +
 +# create your own file 
 +$ sudo touch /​mnt/​my_root/​root/​my_file
 +
 +# unmount the filesystem
 +
 +$ sudo umount /​mnt/​my_root
 +</​code>​
 +
 +Now boot the board and notice that the file you created exists on the board! Follow the steps in section ​ [[#​boot_the_board |3. Boot the board ]]!
 +
 +=== 5. Explore the board ===
 +
 +After booting the board and getting the prompt explore the hardware board capabilities.
 +
 +Check the current Linux kernel version:
 +<code bash>
 +$ cat /​proc/​version
 +</​code>​
 +
 +Check the command line arguments used to start the Linux kernel:
 +<code bash>
 +
 +$ cat /​proc/​cmdline
 +
 +</​code>​
 +
 +List all the cpus in the system:
 +<code bash>
 +
 +$ cat /​proc/​cpuinfo
 +</​code>​
 +
 +List all available free and used physical memory in the system.
 +
 +<code bash>
 +$ free -h
 +
 +</​code>​
 +
 +List the physical memory map for the system:
 +
 +<code bash>
 +
 +$ cat /proc/iomem
 +</​code>​
 +
 +Notice the address range for ''​System RAM''​ and for the rest of devices.
 +
 +Check the current list of filesystems supported by the kernel:
 +
 +<code bash>
 +
 +$ cat /​proc/​filesystems
 +
 +</​code>​
 +
 +Check the current list of modules loaded in the system:
 +
 +<code bash>
 +
 +$ cat /​proc/​modules
 +
 +</​code>​
 +
 +Finally check the kernel log:
 +
 +<code bash>
 +
 +$ dmesg
 +
 +</​code>​
 +
  
  
lkd/laboratoare/01.1720358424.txt.gz · Last modified: 2024/07/07 16:20 by daniel.baluta
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0