{"id":13567487,"url":"https://github.com/jfdelnero/LinuxFromScratch","last_synced_at":"2025-04-04T01:32:22.969Z","repository":{"id":41889342,"uuid":"116809234","full_name":"jfdelnero/LinuxFromScratch","owner":"jfdelnero","description":"Cross compiler + Linux system build scripts.","archived":false,"fork":false,"pushed_at":"2024-04-18T15:48:30.000Z","size":114443,"stargazers_count":23,"open_issues_count":5,"forks_count":13,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-19T15:15:48.466Z","etag":null,"topics":["cross-compiler-toolchain","embedded-linux","embedded-systems","linux-from-scratch","linux-router"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jfdelnero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-09T11:46:02.000Z","updated_at":"2024-05-29T22:11:48.506Z","dependencies_parsed_at":"2023-01-25T15:30:52.554Z","dependency_job_id":"adf743d9-b406-4844-921b-eacf189908d9","html_url":"https://github.com/jfdelnero/LinuxFromScratch","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfdelnero%2FLinuxFromScratch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfdelnero%2FLinuxFromScratch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfdelnero%2FLinuxFromScratch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfdelnero%2FLinuxFromScratch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jfdelnero","download_url":"https://codeload.github.com/jfdelnero/LinuxFromScratch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247107816,"owners_count":20884793,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-compiler-toolchain","embedded-linux","embedded-systems","linux-from-scratch","linux-router"],"created_at":"2024-08-01T13:02:32.699Z","updated_at":"2025-04-04T01:32:17.893Z","avatar_url":"https://github.com/jfdelnero.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Linux From scratch build scripts\n\nThis repository contains my build system to cross-compile and build a complete embedded Linux system from sources.\nI use it for differents projects and targets : Router, Firewall, Set-top box, \"Proof of concept\" with differents evaluation boards...\nVarious targets are currently supported : ARM, PowerPC, x86, FPGA SOC...\n\n## Requirement\n\nA Linux machine with the \"build-essential\" package installed.\n\nAs example here are the commands to prepare and build a system for the Raspberry Pi Zero W on a freshly installed Linux Mint 20.1 machine :\n\n```c\n# Install some missing build tools (C++ compiler,...)\nsudo apt install build-essential\n\n# Git is needed to checkout LinuxFromScratch\nsudo apt install git\n\n# Checkout LinuxFromScratch\ngit clone https://github.com/jfdelnero/LinuxFromScratch.git\n\n# Select the Raspberry Pi Zero W target\n\ncd LinuxFromScratch\n./set_env.sh rpi_zero_w\n\n# Build the system !\nsysbuild.sh\n```\n\n\n## Usage\n\nTo setup the build environnement run from the repository root folder\n\n```c\n./set_env.sh [TARGET_NAME]\n```\n\nTo see the available targets just run :\n\n```c\n./set_env.sh\n```\n\nOnce done you can build the target with this command :\n\n```c\nsysbuild.sh\n```\n\nThis will build the cross-compiler, glibc, kernel and all the target root file system...\nThe whole process can take from 15 minutes to some hours depending of your setup.\n\nOnce done you can find the root-fs in the folder \"targets/TARGET_NAME/root-fs\".\n\nTo generate the disk image you can use the init_sd.sh script :\n\n```c\ninit_sd.sh\n```\n\nThe boot and root partitions are then formatted and all files copied to the image.\nPlease note that all binaries are stripped during the copy to the media.\nIf you want to keep the debug informations, use the NOSTRIP argument:\n\n```c\ninit_sd.sh NOSTRIP\n```\n\nTo clean up a target :\n\n```c\nclean.sh\n```\n\n## Folders description\n\n/scripts : Contains the common build scripts.\n\n/targets : Contains all targets\n\n/targets/common/config : Contains the common/default configuration files.\n\n/targets/[TARGET_NAME] : Target home directory.\n\n/targets/[TARGET_NAME]/config : Target configuration.\n\n/targets/[TARGET_NAME]/download (1) : Downloaded source archives.\n\n/targets/[TARGET_NAME]/cross-tools (2) : Cross-compiler binaries.\n\n/targets/[TARGET_NAME]/build (2) : Build folder.\n\n/targets/[TARGET_NAME]/sources (2) : Unpacked sources.\n\n/targets/[TARGET_NAME]/root-fs (2) : target root-fs.\n\n/targets/[TARGET_NAME]/fs_mirror (2) : target root-fs stripped folder generated during the deployment (init_sd.sh).\n\n/targets/[TARGET_NAME]/mount_point (2) : target flash media/disk mount point used during the deployment (init_sd.sh).\n\n(1) Folders created during the build.\n\n(2) Folders created during the build and deleted by the \"clean.sh\" command.\n\n### Some targets examples successfully tested\n\n- Altera/Intel Cyclone V DE10-Nano board.\n\n- Atmel Sama5D2 Xplained.\n\n- Raspberry PI 1/2/3/Zero (W).\n\n- Banana Pi R2.\n\n- BeagleBone Black.\n\n- NVidia Jetson TX2.\n\n- NXP P2020 Reference Design Board (PowerPC P2020).\n\n- OCEDO G50w (PowerPC P1020).\n\n- PC 486, PC 686, PC104 boards... (x86/x64)\n\n- Solid-run ClearFog.\n\n(c) 2004-2023 Jean-François DEL NERO\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjfdelnero%2FLinuxFromScratch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjfdelnero%2FLinuxFromScratch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjfdelnero%2FLinuxFromScratch/lists"}