{"id":7885,"date":"2025-10-31T07:50:18","date_gmt":"2025-10-31T07:50:18","guid":{"rendered":"https:\/\/www.mixtile.com\/?post_type=ht_kb&#038;p=7885"},"modified":"2025-10-31T09:26:33","modified_gmt":"2025-10-31T09:26:33","slug":"rockchip-ubuntu-build-environment-docker-configuration-guide","status":"publish","type":"ht_kb","link":"https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/","title":{"rendered":"Rockchip Ubuntu Build Environment Docker Configuration Guide"},"content":{"rendered":"<p>I. Environment Preparation Prerequisites<\/p>\n\n\n\n<p>Before setting up the Rockchip build environment, ensure the host machine meets the following basic requirements to ensure compatibility and stability for Docker image construction and container operation.<\/p>\n\n\n\n<h2 id=\"1-host-system-requirements\">1. Host System Requirements<\/h2>\n\n\n\n<ul><li><strong>System Type<\/strong>: Debian or Ubuntu operating system (Ubuntu 20.04\/22.04 recommended)<\/li><li><strong>Architecture<\/strong>: x86_64 (64-bit) architecture<\/li><li><strong>Verification Commands<\/strong>: <code># Check system version information cat \/etc\/os-release<\/code> <code># Check system architecture (should return x86_64) uname -m<\/code><\/li><\/ul>\n\n\n\n<h2 id=\"2-docker-engine-installation\">2. Docker Engine Installation<\/h2>\n\n\n\n<ul><li><strong>Core Requirement<\/strong>: Docker engine must be installed on the host machine and the service must be running normally<\/li><li><strong>Installation Steps (Debian\/Ubuntu)<\/strong>: <code># 1. Update system package index sudo apt-get update<\/code><\/li><\/ul>\n\n\n\n<h1 id=\"2-install-dependency-packages\">2. Install dependency packages<\/h1>\n\n\n\n<p>sudo apt-get install -y ca-certificates curl gnupg lsb-release<\/p>\n\n\n\n<h1 id=\"3-add-docker-official-gpg-key\">3. Add Docker official GPG key<\/h1>\n\n\n\n<p>curl -fsSL <a href=\"https:\/\/download.docker.com\/linux\/ubuntu\/gpg\">https:\/\/download.docker.com\/linux\/ubuntu\/gpg<\/a> | sudo gpg &#8211;dearmor -o \/usr\/share\/keyrings\/docker-archive-keyring.gpg<\/p>\n\n\n\n<h1 id=\"4-set-up-docker-stable-repository\">4. Set up Docker stable repository<\/h1>\n\n\n\n<p>echo &#8220;deb [arch=(dpkg &#8211;print-architecture) signed-by=\/usr\/share\/keyrings\/docker-archive-keyring.gpg] https:\/\/download.docker.com\/linux\/ubuntu (lsb_release -cs) stable&#8221; | sudo tee \/etc\/apt\/sources.list.d\/docker.list &gt; \/dev\/null<\/p>\n\n\n\n<h1 id=\"5-install-docker-engine-components\">5. Install Docker engine components<\/h1>\n\n\n\n<p>sudo apt-get update &amp;&amp; sudo apt-get install -y docker-ce docker-ce-cli containerd.io<\/p>\n\n\n\n<h1 id=\"6-start-docker-service-and-set-to-start-on-boot\">6. Start Docker service and set to start on boot<\/h1>\n\n\n\n<p>sudo systemctl start docker &amp;&amp; sudo systemctl enable docker<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>- **Installation Verification**:\n```bash\n# Check Docker version\ndocker --version\n# Check Docker service status (should show active (running))\nsudo systemctl status docker<\/code><\/pre>\n\n\n\n<h2 id=\"3-loop-device-partition-support-configuration\">3. Loop Device Partition Support Configuration<\/h2>\n\n\n\n<ul><li><strong>Configuration Purpose<\/strong>: Enable partition scanning for Loop devices to ensure automatic recognition and creation of image file partition nodes (max_part parameter must be greater than 0)<\/li><li><strong>Complete Configuration Process<\/strong>:<ol><li>Check current configuration value: <code>cat \/sys\/module\/loop\/parameters\/max_part<\/code><\/li><\/ol>If the return value is 0, execute the following commands to modify GRUB configuration: <code># Edit GRUB configuration file sudo nano \/etc\/default\/grub # Append loop.max_part=8 to GRUB_CMDLINE_LINUX line (preserve existing parameters) GRUB_CMDLINE_LINUX=\"quiet splash loop.max_part=8\" # Save and update GRUB configuration (use sudo update-grub2 for UEFI systems) sudo update-grub # Reboot system for configuration to take effect sudo reboot<\/code><ol start=\"2\"><li>Verify configuration after reboot: <code>cat \/sys\/module\/loop\/parameters\/max_part # Result must be greater than 0<\/code><\/li><\/ol><\/li><\/ul>\n\n\n\n<h1 id=\"ii-docker-image-construction\">II. Docker Image Construction<\/h1>\n\n\n\n<h2 id=\"1-writing-dockerfile\">1. Writing Dockerfile<\/h2>\n\n\n\n<p>Create a <code>Dockerfile<\/code> in the host working directory with the following content (preinstalls toolchain required for Rockchip compilation):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Base image: Ubuntu 22.04\nFROM ubuntu:22.04\n\n# Environment variable configuration (disable interactive installation)\nENV DEBIAN_FRONTEND=noninteractive\nENV TZ=Asia\/Shanghai\n\n# Install basic system tools\nRUN apt-get update &amp;&amp; \\\n    apt-get install -y --no-install-recommends \\\n    tzdata sudo vim wget curl ca-certificates gnupg lsb-release software-properties-common\n\n# Install compilation and cross-compilation dependency tools\nRUN apt-get install -y --no-install-recommends \\\n    # Basic compilation tools\n    build-essential gcc-aarch64-linux-gnu bison flex libssl-dev bc \\\n    # Image packaging and device management tools\n    rsync kmod cpio xz-utils fakeroot parted udev dosfstools uuid-runtime \\\n    # Version control and device tree compilation tools\n    git-lfs device-tree-compiler \\\n    # Python environment and dependencies\n    python2 python3 python-is-python3 python3-pyelftools python3-setuptools \\\n    python3-distutils python3-pkg-resources swig libfdt-dev libpython3-dev \\\n    # Virtualization and emulation tools\n    qemu-user-static qemu-system-arm qemu-efi u-boot-tools binfmt-support debootstrap \\\n    # Other auxiliary tools\n    dctrl-tools libelf-dev dwarves gawk gcc-aarch64-linux-gnu g++-aarch64-linux-gnu\n\n# Clean installation cache to reduce image size\nRUN apt-get clean &amp;&amp; rm -rf \/var\/lib\/apt\/lists\/*\n\n# Set container working directory\nWORKDIR \/workspace\n\n# Default container startup command (enter bash terminal)\nCMD &#91;\"\/bin\/bash\"]<\/code><\/pre>\n\n\n\n<h2 id=\"2-executing-image-construction\">2. Executing Image Construction<\/h2>\n\n\n\n<p>Execute the following command in the directory containing the Dockerfile to build an image named <code>rockchip-ubuntu-env<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker build -t rockchip-ubuntu-env .<\/code><\/pre>\n\n\n\n<ul><li><strong>Parameter Explanation<\/strong>: <code>-t rockchip-ubuntu-env<\/code>: Specifies the image name, which can be customized as needed <code>.<\/code>: Indicates the Dockerfile is in the current directory<\/li><\/ul>\n\n\n\n<p><strong>Build Notes<\/strong>: The first build requires downloading the base image and dependency packages, which takes a long time (depending on network speed); to rebuild, you can add the <code>--no-cache<\/code> parameter to ignore the cache.<\/p>\n\n\n\n<h1 id=\"iii-container-operation-and-usage\">III. Container Operation and Usage<\/h1>\n\n\n\n<h2 id=\"1-container-startup-command\">1. Container Startup Command<\/h2>\n\n\n\n<p>Use the following command to start the container and mount necessary host resources to ensure normal compilation and device access:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --privileged -it --rm \\\n  -v $(pwd):\/workspace \\\n  -v \/lib\/modules:\/lib\/modules \\\n  -v \/dev:\/dev \\\n  rockchip-ubuntu-env<\/code><\/pre>\n\n\n\n<ul><li><strong>Key Parameter Explanations<\/strong>: <code>--privileged<\/code>: Grants container privileged mode, allowing access to host hardware devices <code>-it<\/code>: Runs in interactive terminal mode, supporting command line operations <code>--rm<\/code>: Automatically deletes the container after exit to avoid residual temporary files (remove this parameter if you need to keep the container) <code>-v $(pwd):\/workspace<\/code>: Mounts the current host directory to \/workspace in the container for bidirectional file synchronization <code>-v \/lib\/modules:\/lib\/modules<\/code>: Shares host kernel modules to ensure driver compatibility <code>-v \/dev:\/dev<\/code>: Mounts host device directory to support access to physical devices such as development boards and USB drives<\/li><\/ul>\n\n\n\n<h2 id=\"2-container-environment-verification\">2. Container Environment Verification<\/h2>\n\n\n\n<p>After entering the container, verify that core tools are installed correctly with the following commands:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Verify cross-compiler version\naarch64-linux-gnu-gcc --version\n# Verify Python environment\npython --version\n# Verify device tree compiler\ndtc --version\n# Verify QEMU emulation tool\nqemu-system-arm --version<\/code><\/pre>\n\n\n\n<h2 id=\"3-common-operation-guide\">3. Common Operation Guide<\/h2>\n\n\n\n<ul><li><strong>File Synchronization<\/strong>: The host and container \/workspace directories are synchronized in real-time; you can edit code on the host and perform compilation operations in the container<\/li><li><strong>Permission Management<\/strong>: File permissions in the container are consistent with the host; it is recommended to use a user with the same UID as the host to avoid permission issues<\/li><li><strong>Container Exit<\/strong>: Execute the <code>exit<\/code> command to exit the container; if the <code>--rm<\/code> parameter is enabled, the container will be automatically deleted, and compilation products will be saved in the host mount directory<\/li><li><strong>Image Update<\/strong>: When you need to update the toolchain version, re-execute the <code>docker build<\/code> command to generate a new image<\/li><\/ul>\n\n\n\n<h1 id=\"iv-notes\">IV. Notes<\/h1>\n\n\n\n<ul><li>Source code and images are large in size; ensure the host has sufficient disk space &gt;= 50GB<\/li><li><code>--privileged<\/code> mode is used to support hardware device access<\/li><li>After host kernel upgrade, it is recommended to restart the container to synchronize kernel modules in the <code>\/lib\/modules<\/code> directory<\/li><li>If network access through a proxy is required, you can add environment variables when starting the container: <code>--env http_proxy=http:\/\/proxy_address:port --env https_proxy=http:\/\/proxy_address:port<\/code><\/li><li>If dependency missing occurs during compilation, you can add the corresponding dependency package in the Dockerfile and rebuild the image<\/li><\/ul>\n\n\n\n<p>Through the above steps, you can quickly set up a standardized Rockchip compilation environment, effectively avoiding dependency conflicts caused by differences in host systems, and improving development efficiency and environment consistency.<\/p>","protected":false},"excerpt":{"rendered":"<p>I. Environment Preparation Prerequisites Before setting up the Rockchip build environment, ensure the host machine meets the following basic requirements to ensure compatibility and stability for Docker image construction and container operation. 1. Host System Requirements System Type: Debian or Ubuntu operating system (Ubuntu 20.04\/22.04 recommended) Architecture: x86_64 (64-bit) architecture Verification Commands: # Check system [&#8230;]","protected":false},"author":7,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"spay_email":""},"ht-kb-category":[201],"ht-kb-tag":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Rockchip Ubuntu Build Environment Docker Configuration Guide | Mixtile<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rockchip Ubuntu Build Environment Docker Configuration Guide | Mixtile\" \/>\n<meta property=\"og:description\" content=\"I. Environment Preparation Prerequisites Before setting up the Rockchip build environment, ensure the host machine meets the following basic requirements to ensure compatibility and stability for Docker image construction and container operation. 1. Host System Requirements System Type: Debian or Ubuntu operating system (Ubuntu 20.04\/22.04 recommended) Architecture: x86_64 (64-bit) architecture Verification Commands: # Check system [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"Mixtile\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-31T09:26:33+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.mixtile.com\/ja\/#organization\",\"name\":\"Mixtile Limited\",\"url\":\"https:\/\/www.mixtile.com\/ja\/\",\"sameAs\":[],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.mixtile.com\/ja\/#logo\",\"inLanguage\":\"ja\",\"url\":\"https:\/\/dh19rycdk230a.cloudfront.net\/app\/uploads\/2022\/02\/logo.svg\",\"contentUrl\":\"https:\/\/dh19rycdk230a.cloudfront.net\/app\/uploads\/2022\/02\/logo.svg\",\"caption\":\"Mixtile Limited\"},\"image\":{\"@id\":\"https:\/\/www.mixtile.com\/ja\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.mixtile.com\/ja\/#website\",\"url\":\"https:\/\/www.mixtile.com\/ja\/\",\"name\":\"Mixtile\",\"description\":\"Hardware for IoT Solutions\",\"publisher\":{\"@id\":\"https:\/\/www.mixtile.com\/ja\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.mixtile.com\/ja\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/#webpage\",\"url\":\"https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/\",\"name\":\"Rockchip Ubuntu Build Environment Docker Configuration Guide | Mixtile\",\"isPartOf\":{\"@id\":\"https:\/\/www.mixtile.com\/ja\/#website\"},\"datePublished\":\"2025-10-31T07:50:18+00:00\",\"dateModified\":\"2025-10-31T09:26:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.mixtile.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rockchip Ubuntu Build Environment Docker Configuration Guide\"}]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Rockchip Ubuntu Build Environment Docker Configuration Guide | Mixtile","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/","og_locale":"ja_JP","og_type":"article","og_title":"Rockchip Ubuntu Build Environment Docker Configuration Guide | Mixtile","og_description":"I. Environment Preparation Prerequisites Before setting up the Rockchip build environment, ensure the host machine meets the following basic requirements to ensure compatibility and stability for Docker image construction and container operation. 1. Host System Requirements System Type: Debian or Ubuntu operating system (Ubuntu 20.04\/22.04 recommended) Architecture: x86_64 (64-bit) architecture Verification Commands: # Check system [...]","og_url":"https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/","og_site_name":"Mixtile","article_modified_time":"2025-10-31T09:26:33+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/www.mixtile.com\/ja\/#organization","name":"Mixtile Limited","url":"https:\/\/www.mixtile.com\/ja\/","sameAs":[],"logo":{"@type":"ImageObject","@id":"https:\/\/www.mixtile.com\/ja\/#logo","inLanguage":"ja","url":"https:\/\/dh19rycdk230a.cloudfront.net\/app\/uploads\/2022\/02\/logo.svg","contentUrl":"https:\/\/dh19rycdk230a.cloudfront.net\/app\/uploads\/2022\/02\/logo.svg","caption":"Mixtile Limited"},"image":{"@id":"https:\/\/www.mixtile.com\/ja\/#logo"}},{"@type":"WebSite","@id":"https:\/\/www.mixtile.com\/ja\/#website","url":"https:\/\/www.mixtile.com\/ja\/","name":"Mixtile","description":"Hardware for IoT Solutions","publisher":{"@id":"https:\/\/www.mixtile.com\/ja\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mixtile.com\/ja\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/#webpage","url":"https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/","name":"Rockchip Ubuntu Build Environment Docker Configuration Guide | Mixtile","isPartOf":{"@id":"https:\/\/www.mixtile.com\/ja\/#website"},"datePublished":"2025-10-31T07:50:18+00:00","dateModified":"2025-10-31T09:26:33+00:00","breadcrumb":{"@id":"https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.mixtile.com\/ja\/docs\/rockchip-ubuntu-build-environment-docker-configuration-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mixtile.com\/"},{"@type":"ListItem","position":2,"name":"Rockchip Ubuntu Build Environment Docker Configuration Guide"}]}]}},"_links":{"self":[{"href":"https:\/\/www.mixtile.com\/ja\/wp-json\/wp\/v2\/ht-kb\/7885"}],"collection":[{"href":"https:\/\/www.mixtile.com\/ja\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.mixtile.com\/ja\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.mixtile.com\/ja\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mixtile.com\/ja\/wp-json\/wp\/v2\/comments?post=7885"}],"version-history":[{"count":3,"href":"https:\/\/www.mixtile.com\/ja\/wp-json\/wp\/v2\/ht-kb\/7885\/revisions"}],"predecessor-version":[{"id":7889,"href":"https:\/\/www.mixtile.com\/ja\/wp-json\/wp\/v2\/ht-kb\/7885\/revisions\/7889"}],"wp:attachment":[{"href":"https:\/\/www.mixtile.com\/ja\/wp-json\/wp\/v2\/media?parent=7885"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.mixtile.com\/ja\/wp-json\/wp\/v2\/ht-kb-category?post=7885"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.mixtile.com\/ja\/wp-json\/wp\/v2\/ht-kb-tag?post=7885"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}