# [Use Linux on the NXP FRDM i.MX 93 board](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/linux-nxp-board/)

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/linux-nxp-board/)
- [Set up the board](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/linux-nxp-board/1-overview/)
- [Set up a Linux user and connect to WiFi](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/linux-nxp-board/3-create-super-user/)
- [Transfer files to the board](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/linux-nxp-board/4-enable-wifi/)
- [(Optional) Enable Persistent WiFi](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/linux-nxp-board/7-enable-persistent-wifi/)
- [Next Steps](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/linux-nxp-board/_next-steps/)

## About this Learning Path

| Skill level:            | Introductory          |
|-------------------------|-----------------------|
| Reading time:           | 2 hrs                 |
| Last updated:           | 13 Aug 2026           |

| Author:                | Waheed Brown, Arm [GitHub](https://github.com/https://github.com/armwaheed) [LinkedIn](https://linkedin.com/in/https://www.linkedin.com/in/waheedbrown/) |
|------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|
| Arm IP:                | [Cortex-A](https://support.arm.com/?tab=compute-ip&Product%20Type=Application%20Processors)                                           |
| Tags:                  | [ML](https://learn.arm.com/tag/ml) [Linux](https://learn.arm.com/tag/linux) [macOS](https://learn.arm.com/tag/macos) [Bash](https://learn.arm.com/tag/bash) [systemd](https://learn.arm.com/tag/systemd) [picocom](https://learn.arm.com/tag/picocom) [ConnMan](https://learn.arm.com/tag/connman) [OpenSSH](https://learn.arm.com/tag/openssh) |

### Who is this for?
This is an introductory topic for embedded developers and ML engineers who want to boot an NXP FRDM i.MX 93 board, connect over serial, enable WiFi, and transfer files for on-device development on Arm.

### What will you learn?
Upon completion of this Learning Path, you will be able to:
- Boot the NXP FRDM i.MX 93 board and log in to Linux over a serial console.
- Create a non-root Linux user with sudo access for development workflows.
- Connect the board to WiFi using ConnMan.
- Transfer files to the board over WiFi (scp) or USB.
- Load the WiFi driver module on boot to enable automatic reconnection.

### Prerequisites
Before starting, you will need the following:
- An NXP [FRDM i.MX 93](https://www.nxp.com/design/design-center/development-boards-and-designs/frdm-i-mx-93-development-board:FRDM-IMX93) board.
- A computer running Linux or macOS.
- A USB-C cable for the board’s **DBG** serial connection.
- A USB-C power supply/cable for the board’s **POWER** port.

### Summary
You’ll configure an NXP FRDM i.MX 93 board for Linux development. Through a serial console, you’ll create a non-root user with `sudo` privileges and connect to Wi-Fi with ConnMan. Then, you’ll find the board’s IP address, transfer files with `scp` or USB, and optionally load the Wi-Fi driver at startup for automatic reconnection.

### Frequently asked questions
<details>
<summary>Which USB-C port do I use for serial and power?</summary>
Use the DBG port for the serial connection and the POWER port for board power. Connect both ports if you need console access while powering the board.
</details>

<details>
<summary>How do I know the board has booted and I’m on the right console?</summary>
You should see Linux boot messages followed by a login prompt on the serial console. Log in as root initially to complete the bring-up steps.
</details>

<details>
<summary>How do I confirm the new user actually has sudo access?</summary>
After adding the user to the `wheel` group and enabling `wheel` in `sudoers`, log in as that user and run a command with `sudo`. If the command runs successfully, the configuration is correct.
</details>

<details>
<summary>Which IP address should I use for `scp`, and how do I find it?</summary>
Run the provided `ifconfig` command and look for the Wi-Fi interface, often named `mlan0`. Then, note its `inet` address. Use that IP in the `scp` target path.
</details>

<details>
<summary>What should I check if WiFi doesn’t reconnect after a reboot?</summary>
Load the Wi-Fi driver with the provided `modprobe` command so ConnMan can reconnect to the saved network. After loading, verify the interface has an IP address before continuing.
</details>
