{"id":1006,"date":"2019-12-09T02:02:34","date_gmt":"2019-12-09T01:02:34","guid":{"rendered":"http:\/\/www.netquote.it\/nqmain\/?p=1006"},"modified":"2020-01-07T19:17:12","modified_gmt":"2020-01-07T18:17:12","slug":"linux-from-scratch","status":"publish","type":"post","link":"https:\/\/www.netquote.it\/nqmain\/2019\/12\/linux-from-scratch\/","title":{"rendered":"Linux from scratch"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">How to easily cross-build custom Linux Distribution entirely from source code. Normally it is not an easy task, because you have to deal with lot of different aspects of software development and integration; from infinite configuration options to the strange compiler errors. From hardware specifications to the device drivers and file-systems, I\/O console, Task scheduler and almost everything is involved. So, all of this is not simple, but buildroot project may help us. This fantastic tool is able to solve many really complex and boring tasks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/buildroot.org\">https:\/\/buildroot.org<\/a> &#8211; &#8220;Buildroot is a simple, efficient and easy to use tool to generate embedded Linux systems through cross-compilation.&#8221;<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n# My host build system is:\n$ lsb_release -a\nNo LSB modules are available.\nDistributor ID:\tUbuntu\nDescription:\tUbuntu 18.04.3 LTS\nRelease:\t18.04\nCodename:\tbionic\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">This is an example on how to build LinuxOS for <a href=\"https:\/\/www.olimex.com\/Products\/OLinuXino\/iMX233\/open-source-hardware\">Olimex<\/a> low cost board with 64MB RAM and 450Mhz CPU.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n$ git clone git:\/\/git.buildroot.net\/buildroot buildroot_mx23\nCloning into &#039;buildroot_mx23&#039;...\nremote: Enumerating objects: 351177, done.\nremote: Counting objects: 100% (351177\/351177), done.\nremote: Compressing objects: 100% (111770\/111770), done.\nremote: Total 351177 (delta 245634), reused 342867 (delta 237974)\nReceiving objects: 100% (351177\/351177), 74.68 MiB | 1.50 MiB\/s, done.\nResolving deltas: 100% (245634\/245634), done.\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Get the list of all configured boards:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"> $ make list-defconfigs<\/pre>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nBuilt-in configs:\n  aarch64_efi_defconfig               - Build for aarch64_efi\n  acmesystems_aria_g25_128mb_defconfig - Build for acmesystems_aria_g25_128mb\n  acmesystems_aria_g25_256mb_defconfig - Build for acmesystems_aria_g25_256mb\n  acmesystems_arietta_g25_128mb_defconfig - Build for acmesystems_arietta_g25_128mb\n  acmesystems_arietta_g25_256mb_defconfig - Build for acmesystems_arietta_g25_256mb\n  amarula_a64_relic_defconfig         - Build for amarula_a64_relic\n  amarula_vyasa_rk3288_defconfig      - Build for amarula_vyasa_rk3288\n  andes_ae3xx_defconfig               - Build for andes_ae3xx\n  arcturus_ucls1012a_defconfig        - Build for arcturus_ucls1012a\n  arcturus_ucp1020_defconfig          - Build for arcturus_ucp1020\n  armadeus_apf27_defconfig            - Build for armadeus_apf27\n  armadeus_apf28_defconfig            - Build for armadeus_apf28\n  armadeus_apf51_defconfig            - Build for armadeus_apf51\n  arm_foundationv8_defconfig          - Build for arm_foundationv8\n  arm_juno_defconfig                  - Build for arm_juno\n  asus_tinker_rk3288_defconfig        - Build for asus_tinker_rk3288\n  at91sam9260eknf_defconfig           - Build for at91sam9260eknf\n  at91sam9g20dfc_defconfig            - Build for at91sam9g20dfc\n  at91sam9g45m10ek_defconfig          - Build for at91sam9g45m10ek\n  at91sam9rlek_defconfig              - Build for at91sam9rlek\n  at91sam9x5ek_defconfig              - Build for at91sam9x5ek\n  at91sam9x5ek_dev_defconfig          - Build for at91sam9x5ek_dev\n  at91sam9x5ek_mmc_defconfig          - Build for at91sam9x5ek_mmc\n  at91sam9x5ek_mmc_dev_defconfig      - Build for at91sam9x5ek_mmc_dev\n  atmel_sama5d27_som1_ek_mmc_dev_defconfig - Build for atmel_sama5d27_som1_ek_mmc_dev\n  atmel_sama5d2_xplained_mmc_defconfig - Build for atmel_sama5d2_xplained_mmc\n  atmel_sama5d2_xplained_mmc_dev_defconfig - Build for atmel_sama5d2_xplained_mmc_dev\n  atmel_sama5d3xek_defconfig          - Build for atmel_sama5d3xek\n  atmel_sama5d3_xplained_defconfig    - Build for atmel_sama5d3_xplained\n  atmel_sama5d3_xplained_dev_defconfig - Build for atmel_sama5d3_xplained_dev\n  atmel_sama5d3_xplained_mmc_defconfig - Build for atmel_sama5d3_xplained_mmc\n  atmel_sama5d3_xplained_mmc_dev_defconfig - Build for atmel_sama5d3_xplained_mmc_dev\n  atmel_sama5d4_xplained_defconfig    - Build for atmel_sama5d4_xplained\n  atmel_sama5d4_xplained_dev_defconfig - Build for atmel_sama5d4_xplained_dev\n  atmel_sama5d4_xplained_mmc_defconfig - Build for atmel_sama5d4_xplained_mmc\n  atmel_sama5d4_xplained_mmc_dev_defconfig - Build for atmel_sama5d4_xplained_mmc_dev\n  bananapi_m1_defconfig               - Build for bananapi_m1\n  bananapi_m2_plus_defconfig          - Build for bananapi_m2_plus\n  bananapi_m2_ultra_defconfig         - Build for bananapi_m2_ultra\n  bananapi_m64_defconfig              - Build for bananapi_m64\n  bananapro_defconfig                 - Build for bananapro\n  beagleboardx15_defconfig            - Build for beagleboardx15\n  beagleboneai_defconfig              - Build for beagleboneai\n  beaglebone_defconfig                - Build for beaglebone\n  beaglebone_qt5_defconfig            - Build for beaglebone_qt5\n  beelink_gs1_defconfig               - Build for beelink_gs1\n  chromebook_snow_defconfig           - Build for chromebook_snow\n  ci20_defconfig                      - Build for ci20\n  csky_gx6605s_defconfig              - Build for csky_gx6605s\n  cubieboard2_defconfig               - Build for cubieboard2\n  engicam_imx6qdl_icore_defconfig     - Build for engicam_imx6qdl_icore\n  engicam_imx6qdl_icore_qt5_defconfig - Build for engicam_imx6qdl_icore_qt5\n  engicam_imx6qdl_icore_rqs_defconfig - Build for engicam_imx6qdl_icore_rqs\n  engicam_imx6ul_geam_defconfig       - Build for engicam_imx6ul_geam\n  engicam_imx6ul_isiot_defconfig      - Build for engicam_imx6ul_isiot\n  freescale_imx28evk_defconfig        - Build for freescale_imx28evk\n  freescale_imx6dlsabreauto_defconfig - Build for freescale_imx6dlsabreauto\n  freescale_imx6dlsabresd_defconfig   - Build for freescale_imx6dlsabresd\n  freescale_imx6qsabreauto_defconfig  - Build for freescale_imx6qsabreauto\n  freescale_imx6qsabresd_defconfig    - Build for freescale_imx6qsabresd\n  freescale_imx6sxsabresd_defconfig   - Build for freescale_imx6sxsabresd\n  freescale_imx7dsabresd_defconfig    - Build for freescale_imx7dsabresd\n  freescale_imx8mmevk_defconfig       - Build for freescale_imx8mmevk\n  freescale_imx8mqevk_defconfig       - Build for freescale_imx8mqevk\n  freescale_imx8qxpmek_defconfig      - Build for freescale_imx8qxpmek\n  freescale_p1025twr_defconfig        - Build for freescale_p1025twr\n  freescale_t1040d4rdb_defconfig      - Build for freescale_t1040d4rdb\n  freescale_t2080_qds_rdb_defconfig   - Build for freescale_t2080_qds_rdb\n  friendlyarm_nanopi_a64_defconfig    - Build for friendlyarm_nanopi_a64\n  friendlyarm_nanopi_neo2_defconfig   - Build for friendlyarm_nanopi_neo2\n  friendlyarm_nanopi_neo_plus2_defconfig - Build for friendlyarm_nanopi_neo_plus2\n  galileo_defconfig                   - Build for galileo\n  grinn_chiliboard_defconfig          - Build for grinn_chiliboard\n  grinn_liteboard_defconfig           - Build for grinn_liteboard\n  hifive_unleashed_defconfig          - Build for hifive_unleashed\n  imx23evk_defconfig                  - Build for imx23evk\n  imx6-sabreauto_defconfig            - Build for imx6-sabreauto\n  imx6-sabresd_defconfig              - Build for imx6-sabresd\n  imx6-sabresd_qt5_defconfig          - Build for imx6-sabresd_qt5\n  imx6slevk_defconfig                 - Build for imx6slevk\n  imx6sx-sdb_defconfig                - Build for imx6sx-sdb\n  imx6ulevk_defconfig                 - Build for imx6ulevk\n  imx6ulpico_defconfig                - Build for imx6ulpico\n  imx7dpico_defconfig                 - Build for imx7dpico\n  imx7d-sdb_defconfig                 - Build for imx7d-sdb\n  imx8mmpico_defconfig                - Build for imx8mmpico\n  imx8mpico_defconfig                 - Build for imx8mpico\n  lafrite_defconfig                   - Build for lafrite\n  lego_ev3_defconfig                  - Build for lego_ev3\n  licheepi_zero_defconfig             - Build for licheepi_zero\n  linksprite_pcduino_defconfig        - Build for linksprite_pcduino\n  minnowboard_max_defconfig           - Build for minnowboard_max\n  minnowboard_max-graphical_defconfig - Build for minnowboard_max-graphical\n  mx25pdk_defconfig                   - Build for mx25pdk\n  mx51evk_defconfig                   - Build for mx51evk\n  mx53loco_defconfig                  - Build for mx53loco\n  mx6cubox_defconfig                  - Build for mx6cubox\n  mx6sx_udoo_neo_defconfig            - Build for mx6sx_udoo_neo\n  mx6udoo_defconfig                   - Build for mx6udoo\n  nanopi_m1_defconfig                 - Build for nanopi_m1\n  nanopi_m1_plus_defconfig            - Build for nanopi_m1_plus\n  nanopi_neo_defconfig                - Build for nanopi_neo\n  nexbox_a95x_defconfig               - Build for nexbox_a95x\n  nitrogen6sx_defconfig               - Build for nitrogen6sx\n  nitrogen6x_defconfig                - Build for nitrogen6x\n  nitrogen7_defconfig                 - Build for nitrogen7\n  nitrogen8m_defconfig                - Build for nitrogen8m\n  odroidxu4_defconfig                 - Build for odroidxu4\n  olimex_a10_olinuxino_lime_defconfig - Build for olimex_a10_olinuxino_lime\n  olimex_a13_olinuxino_defconfig      - Build for olimex_a13_olinuxino\n  olimex_a20_olinuxino_lime2_defconfig - Build for olimex_a20_olinuxino_lime2\n  olimex_a20_olinuxino_lime_defconfig - Build for olimex_a20_olinuxino_lime\n  olimex_a20_olinuxino_micro_defconfig - Build for olimex_a20_olinuxino_micro\n  olimex_a33_olinuxino_defconfig      - Build for olimex_a33_olinuxino\n  olimex_a64_olinuxino_defconfig      - Build for olimex_a64_olinuxino\n  olimex_imx233_olinuxino_defconfig   - Build for olimex_imx233_olinuxino\n  openblocks_a6_defconfig             - Build for openblocks_a6\n  orangepi_lite2_defconfig            - Build for orangepi_lite2\n  orangepi_lite_defconfig             - Build for orangepi_lite\n  orangepi_one_defconfig              - Build for orangepi_one\n  orangepi_one_plus_defconfig         - Build for orangepi_one_plus\n  orangepi_pc2_defconfig              - Build for orangepi_pc2\n  orangepi_pc_defconfig               - Build for orangepi_pc\n  orangepi_pc_plus_defconfig          - Build for orangepi_pc_plus\n  orangepi_plus_defconfig             - Build for orangepi_plus\n  orangepi_prime_defconfig            - Build for orangepi_prime\n  orangepi_r1_defconfig               - Build for orangepi_r1\n  orangepi_win_defconfig              - Build for orangepi_win\n  orangepi_zero_defconfig             - Build for orangepi_zero\n  orangepi_zero_plus2_defconfig       - Build for orangepi_zero_plus2\n  pandaboard_defconfig                - Build for pandaboard\n  pc_x86_64_bios_defconfig            - Build for pc_x86_64_bios\n  pc_x86_64_efi_defconfig             - Build for pc_x86_64_efi\n  pine64_defconfig                    - Build for pine64\n  pine64_sopine_defconfig             - Build for pine64_sopine\n  qemu_aarch64_virt_defconfig         - Build for qemu_aarch64_virt\n  qemu_arm_versatile_defconfig        - Build for qemu_arm_versatile\n  qemu_arm_versatile_nommu_defconfig  - Build for qemu_arm_versatile_nommu\n  qemu_arm_vexpress_defconfig         - Build for qemu_arm_vexpress\n  qemu_arm_vexpress_tz_defconfig      - Build for qemu_arm_vexpress_tz\n  qemu_csky610_virt_defconfig         - Build for qemu_csky610_virt\n  qemu_csky807_virt_defconfig         - Build for qemu_csky807_virt\n  qemu_csky810_virt_defconfig         - Build for qemu_csky810_virt\n  qemu_csky860_virt_defconfig         - Build for qemu_csky860_virt\n  qemu_m68k_mcf5208_defconfig         - Build for qemu_m68k_mcf5208\n  qemu_m68k_q800_defconfig            - Build for qemu_m68k_q800\n  qemu_microblazebe_mmu_defconfig     - Build for qemu_microblazebe_mmu\n  qemu_microblazeel_mmu_defconfig     - Build for qemu_microblazeel_mmu\n  qemu_mips32r2el_malta_defconfig     - Build for qemu_mips32r2el_malta\n  qemu_mips32r2_malta_defconfig       - Build for qemu_mips32r2_malta\n  qemu_mips32r6el_malta_defconfig     - Build for qemu_mips32r6el_malta\n  qemu_mips32r6_malta_defconfig       - Build for qemu_mips32r6_malta\n  qemu_mips64el_malta_defconfig       - Build for qemu_mips64el_malta\n  qemu_mips64_malta_defconfig         - Build for qemu_mips64_malta\n  qemu_mips64r6el_malta_defconfig     - Build for qemu_mips64r6el_malta\n  qemu_mips64r6_malta_defconfig       - Build for qemu_mips64r6_malta\n  qemu_nios2_10m50_defconfig          - Build for qemu_nios2_10m50\n  qemu_or1k_defconfig                 - Build for qemu_or1k\n  qemu_ppc64_e5500_defconfig          - Build for qemu_ppc64_e5500\n  qemu_ppc64le_pseries_defconfig      - Build for qemu_ppc64le_pseries\n  qemu_ppc64_pseries_defconfig        - Build for qemu_ppc64_pseries\n  qemu_ppc_g3beige_defconfig          - Build for qemu_ppc_g3beige\n  qemu_ppc_mac99_defconfig            - Build for qemu_ppc_mac99\n  qemu_ppc_mpc8544ds_defconfig        - Build for qemu_ppc_mpc8544ds\n  qemu_ppc_virtex_ml507_defconfig     - Build for qemu_ppc_virtex_ml507\n  qemu_riscv32_virt_defconfig         - Build for qemu_riscv32_virt\n  qemu_riscv64_virt_defconfig         - Build for qemu_riscv64_virt\n  qemu_sh4eb_r2d_defconfig            - Build for qemu_sh4eb_r2d\n  qemu_sh4_r2d_defconfig              - Build for qemu_sh4_r2d\n  qemu_sparc64_sun4u_defconfig        - Build for qemu_sparc64_sun4u\n  qemu_sparc_ss10_defconfig           - Build for qemu_sparc_ss10\n  qemu_x86_64_defconfig               - Build for qemu_x86_64\n  qemu_x86_defconfig                  - Build for qemu_x86\n  qemu_xtensa_lx60_defconfig          - Build for qemu_xtensa_lx60\n  qemu_xtensa_lx60_nommu_defconfig    - Build for qemu_xtensa_lx60_nommu\n  raspberrypi0_defconfig              - Build for raspberrypi0\n  raspberrypi0w_defconfig             - Build for raspberrypi0w\n  raspberrypi2_defconfig              - Build for raspberrypi2\n  raspberrypi3_64_defconfig           - Build for raspberrypi3_64\n  raspberrypi3_defconfig              - Build for raspberrypi3\n  raspberrypi3_qt5we_defconfig        - Build for raspberrypi3_qt5we\n  raspberrypi4_defconfig              - Build for raspberrypi4\n  raspberrypi_defconfig               - Build for raspberrypi\n  riotboard_defconfig                 - Build for riotboard\n  rock64_defconfig                    - Build for rock64\n  roseapplepi_defconfig               - Build for roseapplepi\n  s6lx9_microboard_defconfig          - Build for s6lx9_microboard\n  sheevaplug_defconfig                - Build for sheevaplug\n  snps_aarch64_vdk_defconfig          - Build for snps_aarch64_vdk\n  snps_arc700_axs101_defconfig        - Build for snps_arc700_axs101\n  snps_archs38_axs103_defconfig       - Build for snps_archs38_axs103\n  snps_archs38_haps_defconfig         - Build for snps_archs38_haps\n  snps_archs38_hsdk_defconfig         - Build for snps_archs38_hsdk\n  snps_archs38_vdk_defconfig          - Build for snps_archs38_vdk\n  socrates_cyclone5_defconfig         - Build for socrates_cyclone5\n  solidrun_clearfog_defconfig         - Build for solidrun_clearfog\n  solidrun_clearfog_gt_8k_defconfig   - Build for solidrun_clearfog_gt_8k\n  solidrun_macchiatobin_mainline_defconfig - Build for solidrun_macchiatobin_mainline\n  solidrun_macchiatobin_marvell_defconfig - Build for solidrun_macchiatobin_marvell\n  stm32f429_disco_defconfig           - Build for stm32f429_disco\n  stm32f469_disco_defconfig           - Build for stm32f469_disco\n  stm32mp157c_dk2_defconfig           - Build for stm32mp157c_dk2\n  toradex_apalis_imx6_defconfig       - Build for toradex_apalis_imx6\n  ts4900_defconfig                    - Build for ts4900\n  ts5500_defconfig                    - Build for ts5500\n  ts7680_defconfig                    - Build for ts7680\n  wandboard_defconfig                 - Build for wandboard\n  warp7_defconfig                     - Build for warp7\n  warpboard_defconfig                 - Build for warpboard\n  zynq_microzed_defconfig             - Build for zynq_microzed\n  zynqmp_zcu106_defconfig             - Build for zynqmp_zcu106\n  zynq_zc706_defconfig                - Build for zynq_zc706\n  zynq_zed_defconfig                  - Build for zynq_zed\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Select Olimex i.mx233 board configuration:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n$ make olimex_imx233_olinuxino_defconfig\n...\n#\n# configuration written to \/home\/iwi\/Documents\/buildroot_mx23\/.config\n#\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\"> Now just build and wait. That&#8217;s all.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n$ make\n...\n\nINFO: hdimage(sdcard.img): adding partition &#039;u-boot&#039; (in MBR) from &#039;u-boot.sd&#039; ...\nINFO: hdimage(sdcard.img): adding partition &#039;kernel&#039; (in MBR) from &#039;boot.vfat&#039; ...\nINFO: hdimage(sdcard.img): adding partition &#039;rootfs&#039; (in MBR) from &#039;rootfs.ext2&#039; ...\nINFO: hdimage(sdcard.img): writing MBR\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Successful build looks like this, otherwise please check carefully your host system pre-requisites: <a href=\"https:\/\/buildroot.org\/downloads\/manual\/manual.html#requirement\">https:\/\/buildroot.org\/downloads\/manual\/manual.html#requirement<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The first build may take some time to download all the required source code, build cross-compiler and all host system tools and  libraries, than you can build just newly selected packages, but hacking with tool-chain options, requires clean rebuild of everything.      <\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n# Insert SD card and unmount all auto-mounted partitions\n$ umount \/dev\/sdX2\n$ umount \/dev\/sdX3\n\n# Write image file to SD card\n$ sudo dd if=output\/images\/sdcard.img of=\/dev\/sdX bs=1M\n97517568 bytes (98 MB, 93 MiB) copied, 12.0944 s, 8.1 MB\/s\n\n# Flush all disks buffers\nsync\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Default board configuration provides Linux OS with minimal set of features and programs tailored for embedded systems. This lightweight Linux system provides excellent starting point for any smart IoT device.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nU-Boot 2017.11 (Dec 07 2019 - 04:29:38 +0100)\n\nCPU:   Freescale i.MX23 rev1.4 at 454 MHz\nBOOT:  SSP SD\/MMC #0\nDRAM:  64 MiB\nNo arch specific invalidate_icache_all available!\n__led_init: failed requesting GPIO59!\nMMC:   MXS MMC: 0\n*** Warning - bad CRC, using default environment\n\nIn:    serial\nOut:   serial\nErr:   serial\nNet:   Net Initialization Skipped\nNo ethernet found.\nHit any key to stop autoboot:  0\nswitch to partitions #0, OK\nmmc0 is current device\n** Unable to read file boot.scr **\nreading uImage   \n5292296 bytes read in 1640 ms (3.1 MiB\/s)\nBooting from mmc ...\nreading imx23-olinuxino.dtb\n10286 bytes read in 29 ms (345.7 KiB\/s)\n## Booting kernel from Legacy Image at 42000000 ...\n   Image Name:   Linux-4.19.2\n   Image Type:   ARM Linux Kernel Image (uncompressed)\n   Data Size:    5292232 Bytes = 5 MiB\n   Load Address: 42000000\n   Entry Point:  42000000\n   Verifying Checksum ... OK\n## Flattened Device Tree blob at 41000000\n   Booting using the fdt blob at 0x41000000\n   Loading Kernel Image ... OK\n   Loading Device Tree to 43b75000, end 43b7a82d ... OK\n\nStarting kernel ...\n\n&#x5B;    0.000000] Booting Linux on physical CPU 0x0\n&#x5B;    0.000000] Linux version 4.19.2 (iwi@nqdev) (gcc version 8.3.0 (Buildroot 2020.02-git-00204-g2ca0accc21)) #1 Sat Dec 7 04:31:14 CET 2019\n&#x5B;    0.000000] CPU: ARM926EJ-S &#x5B;41069265] revision 5 (ARMv5TEJ), cr=0005317f\n&#x5B;    0.000000] CPU: VIVT data cache, VIVT instruction cache\n&#x5B;    0.000000] OF: fdt: Machine model: i.MX23 Olinuxino Low Cost Board\n&#x5B;    0.000000] Memory policy: Data cache writeback\n&#x5B;    0.000000] random: get_random_bytes called from start_kernel+0x84\/0x474 with crng_init=0\n&#x5B;    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 16256\n&#x5B;    0.000000] Kernel command line: console=ttyAMA0,115200 root=\/dev\/mmcblk0p3 rw rootwait\n&#x5B;    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)\n&#x5B;    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)\n&#x5B;    0.000000] Memory: 46644K\/65536K available (7200K kernel code, 633K rwdata, 2364K rodata, 364K init, 7454K bss, 18892K reserved, 0K cma-reserved)\n&#x5B;    0.000000] Virtual kernel memory layout:\n&#x5B;    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)\n&#x5B;    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)\n&#x5B;    0.000000]     vmalloc : 0xc4800000 - 0xff800000   ( 944 MB)\n&#x5B;    0.000000]     lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)\n&#x5B;    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)\n&#x5B;    0.000000]       .text : 0x(ptrval) - 0x(ptrval)   (7202 kB)\n&#x5B;    0.000000]       .init : 0x(ptrval) - 0x(ptrval)   ( 364 kB)\n&#x5B;    0.000000]       .data : 0x(ptrval) - 0x(ptrval)   ( 634 kB)\n&#x5B;    0.000000]        .bss : 0x(ptrval) - 0x(ptrval)   (7455 kB)\n&#x5B;    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1\n&#x5B;    0.000000] Running RCU self tests\n&#x5B;    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16\n&#x5B;    0.000000] clocksource: mxs_timer: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 911346093 ns\n&#x5B;    0.000000] Console: colour dummy device 80x30\n&#x5B;    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar\n&#x5B;    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8\n&#x5B;    0.000000] ... MAX_LOCK_DEPTH:          48\n&#x5B;    0.000000] ... MAX_LOCKDEP_KEYS:        8191\n&#x5B;    0.000000] ... CLASSHASH_SIZE:          4096\n&#x5B;    0.000000] ... MAX_LOCKDEP_ENTRIES:     32768\n&#x5B;    0.000000] ... MAX_LOCKDEP_CHAINS:      65536\n&#x5B;    0.000000] ... CHAINHASH_SIZE:          32768\n&#x5B;    0.000000]  memory used by lock dependency info: 4655 kB\n&#x5B;    0.000000]  per task-struct memory footprint: 1536 bytes\n&#x5B;    0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns\n&#x5B;    0.070000] Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496)\n&#x5B;    0.070000] pid_max: default: 32768 minimum: 301\n&#x5B;    0.070000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)\n&#x5B;    0.070000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)\n&#x5B;    0.080000] CPU: Testing write buffer coherency: ok\n&#x5B;    0.090000] Setting up static identity map for 0x40008400 - 0x40008458\n&#x5B;    0.100000] devtmpfs: initialized\n&#x5B;    0.140000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns\n&#x5B;    0.140000] futex hash table entries: 256 (order: 1, 11264 bytes)\n&#x5B;    0.150000] pinctrl core: initialized pinctrl subsystem\n&#x5B;    0.160000] NET: Registered protocol family 16\n&#x5B;    0.170000] DMA: preallocated 256 KiB pool for atomic coherent allocations\n&#x5B;    0.320000] Serial: AMBA PL011 UART driver\n&#x5B;    0.320000] 80070000.serial: ttyAMA0 at MMIO 0x80070000 (irq = 17, base_baud = 0) is a PL011 rev2\n&#x5B;    0.530000] console &#x5B;ttyAMA0] enabled\n&#x5B;    0.640000] mxs-dma 80004000.dma-apbh: initialized\n&#x5B;    0.660000] mxs-dma 80024000.dma-apbx: initialized\n&#x5B;    0.670000] SCSI subsystem initialized\n&#x5B;    0.680000] usbcore: registered new interface driver usbfs\n&#x5B;    0.690000] usbcore: registered new interface driver hub\n&#x5B;    0.690000] usbcore: registered new device driver usb\n&#x5B;    0.700000] pps_core: LinuxPPS API ver. 1 registered\n&#x5B;    0.710000] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti &amp;lt;giometti@linux.it&gt;\n&#x5B;    0.710000] PTP clock support registered\n&#x5B;    0.720000] Advanced Linux Sound Architecture Driver Initialized.\n&#x5B;    0.740000] clocksource: Switched to clocksource mxs_timer\n&#x5B;    1.790000] NET: Registered protocol family 2\n&#x5B;    1.800000] tcp_listen_portaddr_hash hash table entries: 128 (order: 0, 5120 bytes)\n&#x5B;    1.810000] TCP established hash table entries: 1024 (order: 0, 4096 bytes)\n&#x5B;    1.820000] TCP bind hash table entries: 1024 (order: 3, 36864 bytes)\n&#x5B;    1.820000] TCP: Hash tables configured (established 1024 bind 1024)\n&#x5B;    1.830000] UDP hash table entries: 256 (order: 2, 20480 bytes)\n&#x5B;    1.840000] UDP-Lite hash table entries: 256 (order: 2, 20480 bytes)\n&#x5B;    1.850000] NET: Registered protocol family 1\n&#x5B;    1.860000] RPC: Registered named UNIX socket transport module.\n&#x5B;    1.870000] RPC: Registered udp transport module.\n&#x5B;    1.870000] RPC: Registered tcp transport module.\n&#x5B;    1.880000] RPC: Registered tcp NFSv4.1 backchannel transport module.\n&#x5B;    1.910000] Initialise system trusted keyrings\n&#x5B;    1.910000] workingset: timestamp_bits=30 max_order=14 bucket_order=0\n&#x5B;    2.020000] NFS: Registering the id_resolver key type\n&#x5B;    2.030000] Key type id_resolver registered\n&#x5B;    2.030000] Key type id_legacy registered\n&#x5B;    2.040000] jffs2: version 2.2. (NAND) \u00a9 2001-2006 Red Hat, Inc.\n&#x5B;    2.100000] jitterentropy: Initialization failed with host not compliant with requirements: 2\n&#x5B;    2.110000] Key type asymmetric registered\n&#x5B;    2.120000] Asymmetric key parser &#039;x509&#039; registered\n&#x5B;    2.120000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)\n&#x5B;    2.130000] io scheduler noop registered (default)\n&#x5B;    2.140000] io scheduler mq-deadline registered\n&#x5B;    2.140000] io scheduler kyber registered\n&#x5B;    2.160000] 8006c000.serial: ttyAPP0 at MMIO 0x8006c000 (irq = 147, base_baud = 1500000) is a 8006c000.serial\n&#x5B;    2.170000] mxs-auart 8006c000.serial: Found APPUART 3.0.0\n&#x5B;    2.210000] libphy: Fixed MDIO Bus: probed\n&#x5B;    2.220000] usbcore: registered new interface driver asix\n&#x5B;    2.230000] usbcore: registered new interface driver ax88179_178a\n&#x5B;    2.240000] usbcore: registered new interface driver cdc_ether\n&#x5B;    2.240000] usbcore: registered new interface driver smsc95xx\n&#x5B;    2.250000] usbcore: registered new interface driver net1080\n&#x5B;    2.260000] usbcore: registered new interface driver cdc_subset\n&#x5B;    2.260000] usbcore: registered new interface driver zaurus\n&#x5B;    2.270000] usbcore: registered new interface driver cdc_ncm\n&#x5B;    2.280000] ehci_hcd: USB 2.0 &#039;Enhanced&#039; Host Controller (EHCI) Driver\n&#x5B;    2.280000] usbcore: registered new interface driver usb-storage\n&#x5B;    2.300000] imx_usb 80080000.usb: Linked as a consumer to regulator.1\n&#x5B;    2.310000] ci_hdrc ci_hdrc.0: EHCI Host Controller\n&#x5B;    2.320000] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1\n&#x5B;    2.360000] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00\n&#x5B;    2.380000] hub 1-0:1.0: USB hub found\n&#x5B;    2.390000] hub 1-0:1.0: 1 port detected\n&#x5B;    2.410000] stmp3xxx-rtc 8005c000.rtc: rtc core: registered 8005c000.rtc as rtc0\n&#x5B;    2.420000] i2c \/dev entries driver\n&#x5B;    2.440000] stmp3xxx_rtc_wdt stmp3xxx_rtc_wdt: initialized watchdog with heartbeat 19s\n&#x5B;    2.450000] mxs-mmc 80010000.ssp: 80010000.ssp supply vmmc not found, using dummy regulator\n&#x5B;    2.460000] mxs-mmc 80010000.ssp: Linked as a consumer to regulator.0\n&#x5B;    2.500000] mxs-mmc 80010000.ssp: initialized\n&#x5B;    2.510000] random: fast init done\n&#x5B;    2.530000] imx23-pinctrl 80018000.pinctrl: pin SSP1_DETECT already requested by 80010000.ssp; cannot claim for leds\n&#x5B;    2.540000] imx23-pinctrl 80018000.pinctrl: pin-65 (leds) status -22\n&#x5B;    2.540000] imx23-pinctrl 80018000.pinctrl: could not request pin 65 (SSP1_DETECT) from group led_gpio2_1.0  on device 80018000.pinctrl\n&#x5B;    2.560000] leds-gpio leds: Error applying setting, reverse things back\n&#x5B;    2.560000] leds-gpio: probe of leds failed with error -22\n&#x5B;    2.580000] mxs-dcp 80028000.dcp: Failed to register sha1 hash!\n&#x5B;    2.590000] mxs-dcp: probe of 80028000.dcp failed with error -22\n&#x5B;    2.610000] usbcore: registered new interface driver usbhid\n&#x5B;    2.610000] usbhid: USB HID core driver\n&#x5B;    2.630000] mmc0: host does not support reading read-only switch, assuming write-enable\n&#x5B;    2.650000] mmc0: new high speed SDHC card at address aaaa\n&#x5B;    2.680000] NET: Registered protocol family 17\n&#x5B;    2.690000] mmcblk0: mmc0:aaaa SU16G 14.8 GiB\n&#x5B;    2.700000] Key type dns_resolver registered\n&#x5B;    2.720000] registered taskstats version 1\n&#x5B;    2.730000] Loading compiled-in X.509 certificates\n&#x5B;    2.750000]  mmcblk0: p1 p2 p3\n&#x5B;    2.840000] stmp3xxx-rtc 8005c000.rtc: setting system clock to 1970-01-01 00:00:51 UTC (51)\n&#x5B;    2.850000] cfg80211: Loading compiled-in X.509 certificates for regulatory database\n&#x5B;    2.890000] cfg80211: Loaded X.509 cert &#039;sforshee: 00b28ddf47aef9cea7&#039;\n&#x5B;    2.900000] ALSA device list:\n&#x5B;    2.900000]   No soundcards found.\n&#x5B;    2.910000] uart-pl011 80070000.serial: no DMA platform data\n&#x5B;    2.920000] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2\n&#x5B;    2.930000] cfg80211: failed to load regulatory.db\n&#x5B;    2.950000] EXT4-fs (mmcblk0p3): mounting ext2 file system using the ext4 subsystem\n&#x5B;    3.000000] EXT4-fs (mmcblk0p3): mounted filesystem without journal. Opts: (null)\n&#x5B;    3.010000] VFS: Mounted root (ext2 filesystem) on device 179:3.\n&#x5B;    3.020000] devtmpfs: mounted\n&#x5B;    3.040000] Freeing unused kernel memory: 364K\n&#x5B;    3.040000] This architecture does not have kernel memory protection.\n&#x5B;    3.050000] Run \/sbin\/init as init process\n&#x5B;    3.350000] EXT4-fs (mmcblk0p3): re-mounted. Opts: block_validity,barrier,user_xattr\nStarting syslogd: OK\nStarting klogd: OK\nRunning sysctl: OK\nStarting mdev... OK\nInitializing random number generator: OK\nSaving random seed: &#x5B;   12.930000] random: dd: uninitialized urandom read (512 bytes read)\nOK\nStarting network: OK\n\nWelcome to Buildroot\nbuildroot login: \n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Login is &#8220;root&#8221;, without password. <\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n# Customize user prompt, save to &quot;~\/.profile&quot; \n$ nano ~\/.profile\nPS1=&quot;\\\\u@\\\\h:\\\\w$ &quot;\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Directory listing for binaries<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nroot@buildroot:\/bin$ ls\narch           dnsdomainname  linux64        nuke           sh\nash            dumpkmap       ln             pidof          sleep\nbase64         echo           login          ping           stty\nbusybox        egrep          ls             pipe_progress  su\ncat            false          lsattr         printenv       sync\nchattr         fdflush        mkdir          ps             tar\nchgrp          fgrep          mknod          pwd            touch\nchmod          getopt         mktemp         resume         true\nchown          grep           more           rm             umount\ncp             gunzip         mount          rmdir          uname\ncpio           gzip           mountpoint     run-parts      usleep\ndate           hostname       mt             sed            vi\ndd             kill           mv             setarch        watch\ndf             link           netstat        setpriv        zcat\ndmesg          linux32        nice           setserial\n\nroot@buildroot:\/sbin$ ls\narp                init               makedevs           setconsole\nblkid              insmod             mdev               start-stop-daemon\ndevmem             ip                 mkdosfs            sulogin\nfdisk              ipaddr             mke2fs             swapoff\nfreeramdisk        iplink             mkswap             swapon\nfsck               ipneigh            modprobe           switch_root\nfstrim             iproute            nameif             sysctl\ngetty              iprule             pivot_root         syslogd\nhalt               iptunnel           poweroff           tc\nhdparm             klogd              reboot             udhcpc\nhwclock            ldconfig           rmmod              uevent\nifconfig           loadkmap           route              vconfig\nifdown             losetup            run-init           watchdog\nifup               lsmod              runlevel\n\nroot@buildroot:\/usr\/bin$ ls\n&#x5B;            du           killall      nproc        sha512sum    unlink\n&#x5B;&#x5B;           eject        last         nslookup     shred        unlzma\nar           env          ldd          od           sort         unlzop\nawk          expr         less         openvt       strings      unxz\nbasename     factor       logger       passwd       svc          unzip\nbc           fallocate    logname      paste        svok         uptime\nbunzip2      find         lsof         patch        tail         uudecode\nbzcat        flock        lspci        printf       tee          uuencode\nchrt         fold         lsscsi       readlink     telnet       vlock\nchvt         free         lsusb        realpath     test         w\ncksum        fuser        lzcat        renice       tftp         wc\nclear        getconf      lzma         reset        time         wget\ncmp          head         lzopcat      resize       top          which\ncrontab      hexdump      md5sum       seq          tr           who\ncut          hexedit      mesg         setfattr     traceroute   whoami\ndc           hostid       microcom     setkeycodes  truncate     xargs\ndeallocvt    id           mkfifo       setsid       ts           xxd\ndiff         install      mkpasswd     sha1sum      tty          xz\ndirname      ipcrm        nl           sha256sum    uniq         xzcat\ndos2unix     ipcs         nohup        sha3sum      unix2dos     yes\n\nroot@buildroot:\/usr\/sbin$ ls\naddgroup     delgroup     fdformat     i2cset       nologin      ubirename\nadduser      deluser      fsfreeze     i2ctransfer  partprobe\narping       dnsd         i2cdetect    inetd        rdate\nchroot       ether-wake   i2cdump      killall5     readprofile\ncrond        fbset        i2cget       loadfont     setlogcons\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Disk and RAM reports:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nroot@buildroot:\/$ df -h\nFilesystem                Size      Used Available Use% Mounted on\n\/dev\/root                58.1M      5.6M     49.5M  10% \/\ndevtmpfs                 22.8M         0     22.8M   0% \/dev\ntmpfs                    23.0M         0     23.0M   0% \/dev\/shm\ntmpfs                    23.0M     20.0K     22.9M   0% \/tmp\ntmpfs                    23.0M     20.0K     22.9M   0% \/run\n\nroot@buildroot:\/$ cat \/proc\/meminfo \nMemTotal:          47008 kB\nMemFree:           26812 kB\nMemAvailable:      36784 kB\nBuffers:             232 kB\nCached:             2004 kB\nSwapCached:            0 kB\nActive:             2072 kB\nInactive:            684 kB\nActive(anon):        544 kB\nInactive(anon):       16 kB\nActive(file):       1528 kB\nInactive(file):      668 kB\nUnevictable:           0 kB\nMlocked:               0 kB\nSwapTotal:             0 kB\nSwapFree:              0 kB\nDirty:                28 kB\nWriteback:             0 kB\nAnonPages:           536 kB\nMapped:             1068 kB\nShmem:                40 kB\nSlab:              14296 kB\nSReclaimable:      11204 kB\nSUnreclaim:         3092 kB\nKernelStack:         280 kB\nPageTables:           88 kB\nNFS_Unstable:          0 kB\nBounce:                0 kB\nWritebackTmp:          0 kB\nCommitLimit:       23504 kB\nCommitted_AS:       1780 kB\nVmallocTotal:     966656 kB\nVmallocUsed:           0 kB\nVmallocChunk:          0 kB\nPercpu:               32 kB\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Disk space is not a big issue, but RAM memory is really limiting factor for this system. Also CPU is low profile ARM926 Running at 454 MHz. This computational power is just enough for mp3 player or light web server or something like photo frame, also because current linux support for this architecture is incomplete and can&#8217;t take full advantages of all available peripherals. Anyhow, fast or slow is your system, everything depends on what you intent to do with this system. <\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nroot@buildroot:\/$ cat \/proc\/cpuinfo \nprocessor       : 0\nmodel name      : ARM926EJ-S rev 5 (v5l)\nBogoMIPS        : 226.09\nFeatures        : swp half thumb fastmult edsp java \nCPU implementer : 0x41\nCPU architecture: 5TEJ\nCPU variant     : 0x0\nCPU part        : 0x926\nCPU revision    : 5\n\nHardware        : Freescale MXS (Device Tree)\nRevision        : 0000\nSerial          : 0000000000000000\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Back to buildroot configuration. This setup lacks of wifi support and some useful tools like nano and mc. Moreover if you want to adapt kernel configuration to your hardware, add extra drivers and packages:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n# Buildroot configuration\n$ make menuconfig\n\n# For kernel and drivers configuration\n$ make linux-menuconfig\n\n# For busybox configuration\n$ make busybox-menuconfig\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Useful tool-chain and system settings:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n# Select full featured GNU stdc library\nToolchain  ---&gt; C library (glibc)  ---&gt; (X) glibc\n# Enable c++ compiler\n&#x5B;*] Enable C++ support\n# Select kernel version\nCustom kernel headers series (5.4.x)  ---&gt; (X) 5.4.x\n# Remote system debugging  \n&#x5B;*] Build cross gdb for the host\n\nSelect Python, c++, gdb, sudo, mc, ecc...\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Network connecction: <\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n# Wifi network\nroot@mx23:~$ wpa_passphrase ESSID_NAME ESSID_PASS &gt; \/root\/home_conn.conf\n\n# Connect to home network \nroot@mx23:~$ wpa_supplicant -B -i wlan0 -c \/root\/home_conn.conf\n\n# Run DHCP client\nroot@mx23:~$ udhcpc -i wlan0\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n# Enable root login for open SSH server \nroot@mx23:~$ nano \/etc\/ssh\/sshd_config\nPermitRootLogin yes\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Finally, set swap file: <\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n# Make 128 MB swapfile\nroot@mx23:~$ fallocate -l 128M \/swapfile\nroot@mx23:~$ chmod 600 \/swapfile\nroot@mx23:~$ mkswap \/swapfile\nroot@mx23:~$ swapon \/swapfile\n\n# Add swap info to fstab \nroot@mx23:~$ nano \/etc\/fstab\n\/swapfile       none            swap    defaults        0       0\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Next:<br \/>  Code::blocks IDE and Remote debugging<br \/>  OpenOCD and Serial JTAG<\/p>\n","protected":false},"excerpt":{"rendered":"<p>How to easily cross-build custom Linux Distribution entirely from source code. Normally it is not an easy task, because you<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1006","post","type-post","status-publish","format-standard","hentry","category-senza-categoria"],"_links":{"self":[{"href":"https:\/\/www.netquote.it\/nqmain\/wp-json\/wp\/v2\/posts\/1006","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.netquote.it\/nqmain\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.netquote.it\/nqmain\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.netquote.it\/nqmain\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.netquote.it\/nqmain\/wp-json\/wp\/v2\/comments?post=1006"}],"version-history":[{"count":19,"href":"https:\/\/www.netquote.it\/nqmain\/wp-json\/wp\/v2\/posts\/1006\/revisions"}],"predecessor-version":[{"id":1041,"href":"https:\/\/www.netquote.it\/nqmain\/wp-json\/wp\/v2\/posts\/1006\/revisions\/1041"}],"wp:attachment":[{"href":"https:\/\/www.netquote.it\/nqmain\/wp-json\/wp\/v2\/media?parent=1006"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.netquote.it\/nqmain\/wp-json\/wp\/v2\/categories?post=1006"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.netquote.it\/nqmain\/wp-json\/wp\/v2\/tags?post=1006"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}