{"id":2517,"date":"2014-09-28T22:13:38","date_gmt":"2014-09-28T20:13:38","guid":{"rendered":"https:\/\/www.azurs.net\/carnet\/?p=2517"},"modified":"2025-10-22T11:43:57","modified_gmt":"2025-10-22T09:43:57","slug":"arch-linux-arm-sur-cubieboard-1-allwinner-a10-1go-ram","status":"publish","type":"post","link":"https:\/\/www.azurs.net\/carnet\/2014\/09\/arch-linux-arm-sur-cubieboard-1-allwinner-a10-1go-ram\/","title":{"rendered":"Arch Linux ARM sur Cubieboard 1 (Allwinner A10, 1Go RAM)"},"content":{"rendered":"<p>[23\/02\/2015 &#8211; La marche \u00e0 suivre pour installer Arch Linux ARM sur la Cubieboard a chang\u00e9. Certaines des informations pr\u00e9sent\u00e9es sur cettte page ne sont plus valables.]<\/p>\n<p>J&rsquo;ai <a href=\"https:\/\/www.azurs.net\/carnet\/2013\/07\/cubieboard\/\">acquis il y a un peu plus d&rsquo;un an<\/a> une carte <a href=\"http:\/\/docs.cubieboard.org\/products\/start#cubieboard1\">Cubieboard 1<\/a>. J&rsquo;y avais <a href=\"https:\/\/www.azurs.net\/carnet\/2013\/09\/installer-arch-linux-arm-sur-la-cubieboard\/\">install\u00e9<\/a> Arch Linux ARM en suivant les <a href=\"http:\/\/archlinuxarm.org\/platforms\/armv7\/allwinner\/cubieboard\">recommandations disponibles sur le site d&rsquo;Arch Linux ARM<\/a>.<\/p>\n<figure id=\"attachment_2536\" aria-describedby=\"caption-attachment-2536\" style=\"width: 625px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.azurs.net\/carnet\/wp-content\/uploads\/2014\/09\/3948195141_2ab2cca435_o-750x619.jpg\" alt=\"Un homme tire un chameau attach\u00e9 \u00e0 une corde.\" width=\"625\" height=\"515\" class=\"size-large wp-image-2536\" srcset=\"https:\/\/www.azurs.net\/carnet\/wp-content\/uploads\/2014\/09\/3948195141_2ab2cca435_o-750x619.jpg 750w, https:\/\/www.azurs.net\/carnet\/wp-content\/uploads\/2014\/09\/3948195141_2ab2cca435_o-300x247.jpg 300w, https:\/\/www.azurs.net\/carnet\/wp-content\/uploads\/2014\/09\/3948195141_2ab2cca435_o-624x515.jpg 624w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><figcaption id=\"caption-attachment-2536\" class=\"wp-caption-text\">Il est plus facile d&rsquo;installer Arch Linux ARM sur la carte Cubieboard que de dresser un chameau. Source : <a href=\"https:\/\/flic.kr\/p\/71TwS2\">The Field Museum Library<\/a><\/figcaption><\/figure>\n<p>\u00c0 l&rsquo;occasion d&rsquo;une r\u00e9installation, je me suis rendu compte qu&rsquo;une mise \u00e0 jour \u00e9tait n\u00e9cessaire, en particulier pour profiter pleinement des 1&nbsp;Go de RAM embarqu\u00e9s sur la carte. Voici donc, \u00e0 toutes fins utiles, un relev\u00e9 des \u00e9tapes que j&rsquo;ai parcourues pour l&rsquo;installation de base d&rsquo;Arch Linux ARM sur la Cubieboard 1, version d\u00e9finitive (RAM 1&nbsp;Go).<\/p>\n<p>[Test\u00e9 sur une carte micro SD de 16&nbsp;Go de classe 10. Pr\u00e9paration de la carte micro SD depuis un PC tournant sous Xubuntu Linux]<!--more--><\/p>\n<h2>Pr\u00e9paration de la carte micro SD<\/h2>\n<p>Pour la suite, sdX d\u00e9signe le nom de la carte micro-SD dans \/dev .<\/p>\n<h3>Partitionnement de la carte :<\/h3>\n<p>Il faut :<\/p>\n<ul>\n<li>Une partition de 32&nbsp;Mo pour le d\u00e9marrage, format\u00e9e en FAT 32, et d\u00e9marrant au secteur 2048&nbsp;;<\/li>\n<li>Une partition en ext4 pour le syst\u00e8me de fichiers occupant le reste de la carte micro SD.<\/li>\n<\/ul>\n<p>Pour cr\u00e9er le partitionnement, on utilise fdisk :<\/p>\n<p><code># fdisk \/dev\/sdX<\/code><\/p>\n<p>Puis n, p, 1, 2048, +32M, t, c pour la premi\u00e8re partition, et n, p, 2, et les valeurs par d\u00e9faut pour la seconde partition. w pour \u00e9crire les changements dans la table de partition de la carte micro-SD.<\/p>\n<h3>Formatage des partitions<\/h3>\n<p>Pour la premi\u00e8re partition :<br \/>\n<code># mkfs.vfat \/dev\/sdX1<\/code><br \/>\nEt pour la seconde :<br \/>\n<code># mkfs.ext4 \/dev\/sdX2<\/code><\/p>\n<h3>T\u00e9l\u00e9chargement du bootloader<\/h3>\n<p>Le fichier d&rsquo;archive contenant le bootloader ( <a href=\"http:\/\/archlinuxarm.org\/os\/sunxi\/cubieboard-bootloader.tar.gz\">http:\/\/archlinuxarm.org\/os\/sunxi\/cubieboard-bootloader.tar.gz<\/a> ) indiqu\u00e9 dans le guide d&rsquo;installation sur le site d&rsquo;Arch Linux ARM est une version ancienne pr\u00e9vue pour la version b\u00eata de la carte et qui ne permet pas d&rsquo;utiliser toute la m\u00e9moire vive disponible (1&nbsp;Go) mais seulement 512&nbsp;Mo. Il faut aller chercher une version plus r\u00e9cente mise \u00e0 disposition sur <a href=\"http:\/\/linux-sunxi.org\/\">Sunxi<\/a>, et accessible depuis cette page :<br \/>\n<code><a href=\"http:\/\/linux-sunxi.org\/Hwpack\">http:\/\/linux-sunxi.org\/Hwpack<\/a><\/code><\/p>\n<p>Les dern\u00e8res versions des diff\u00e9rents firmwares disponibles sont accessibles depuis cette page :<br \/>\n<code><a href=\"http:\/\/dl.linux-sunxi.org\/users\/amery\/sunxi-3.0\/latest\/\">http:\/\/dl.linux-sunxi.org\/users\/amery\/sunxi-3.0\/latest\/<\/a><\/code><\/p>\n<p>Pour la Cubieboard 1, l&rsquo;archive \u00e0 t\u00e9l\u00e9charger est :<br \/>\n<code>cubieboard_hwpack.tar.xz<\/code><\/p>\n<p><code># wget http:\/\/dl.linux-sunxi.org\/users\/amery\/sunxi-3.0\/latest\/cubieboard_hwpack.tar.xz<\/code><\/p>\n<h3>D\u00e9compression de l&rsquo;archive contenant le bootloader<\/h3>\n<p>D\u00e9compresser l&rsquo;archive :<br \/>\n<code># tar -xf cubieboard_hwpack.tar.xz<\/code><br \/>\net descendre dans le r\u00e9pertoire bootloader<br \/>\n<code># cd cubieboard_hwpack\/bootloader<\/code><\/p>\n<h3>\u00c9criture du bootloader sur la carte micro SD<\/h3>\n<p>On remet \u00e0 z\u00e9ro les secteurs de la carte micro SD qui recevront le bootloader (en pr\u00e9servant la table de partition) :<br \/>\n<code>dd if=\/dev\/zero of=\/dev\/sdX bs=1k count=1023 seek=1<\/code><br \/>\nOn \u00e9crit le bootloader sur la carte micro SD :<br \/>\n<code># dd if=sunxi-spl.bin of=\/dev\/sdX bs=1024 seek=8<br \/>\n# dd if=u-boot.bin of=\/dev\/sdX bs=1024 seek=32<\/code><\/p>\n<h3>Pr\u00e9paration de la partition de d\u00e9marrage<\/h3>\n<p>T\u00e9l\u00e9charger la derni\u00e8re archive disponible contenant le syst\u00e8me de fichiers :<br \/>\n<code># wget http:\/\/archlinuxarm.org\/os\/ArchLinuxARM-sun4i-latest.tar.gz<\/code><\/p>\n<p>On cr\u00e9e deux dossiers temporaires qui serviront de point de montage pour les deux partitions de la carte :<br \/>\n<code>mkdir boot-tmp<br \/>\nmkdir root-tmp<\/code><\/p>\n<p>On monte les partitions de la carte sur les r\u00e9pertoires temporaires, la partition 1 (FAT) est mont\u00e9e sur boot-tmp, la partition 2 (ext4) est mont\u00e9e sur root-tmp :<br \/>\n<code>mount \/dev\/sdX1 boot-tmp<br \/>\nmount \/dev\/sdX2 root-tmp<\/code><\/p>\n<p>D\u00e9compression et copie de l&rsquo;archive dans la partition destin\u00e9e \u00e0 accueillir le syst\u00e8me de fichiers :<br \/>\n<code>tar xf ArchLinuxARM-sun4i-latest.tar.gz -C root-tmp<\/code><\/p>\n<p>R\u00e9cup\u00e9ration du binaire cubieboard.bin et de uEnv.txt :<br \/>\n<code>wget http:\/\/archlinuxarm.org\/os\/sunxi\/cubieboard-bootloader.tar.gz<br \/>\ntar xzf cubieboard-bootloader.tar.gz<\/code><br \/>\nCopie de ces fichiers vers la partition de boot :<br \/>\n<code>cp cubieboard\/cubieboard.bin boot-tmp\/<br \/>\ncp cubieboard\/uEnv.txt boot-tmp\/uEnv.txt<\/code><\/p>\n<p>Copie du fichier uImage (kernel) vers la partition de d\u00e9marrage :<br \/>\n<code>cp root-tmp\/boot\/uImage boot-tmp\/uImage<\/code><\/p>\n<h3>Activation des modules du noyau permettant l&rsquo;affichage sur un \u00e9cran connect\u00e9 \u00e0 la Cubieboard en HDMI :<\/h3>\n<p>Cr\u00e9er le fichier : cubie.conf dans root-tmp\/etc\/modules-load.d<br \/>\n<code>nano root-tmp\/etc\/modules-load.d\/cubie.conf<\/code><\/p>\n<p>Et y ajouter les lignes suivantes :<\/p>\n<p><code>fbcon<br \/>\nlcd<br \/>\nhdmi<br \/>\ndisp<br \/>\ndisp_ump<br \/>\nump<\/code><\/p>\n<p>\u00c9diter le fichier uEnv.txt dans boot-tmp\/<\/p>\n<p><code>nano boot-tmp\/uEnv.txt<\/code><\/p>\n<p>Qui contient, apr\u00e8s \u00e9dition, ceci :<\/p>\n<p><code>boot_mmc=fatload mmc 0 0x43000000 ${fexfile}; fatload mmc 0 0x48000000 ${kernel}; bootm 0x48000000<br \/>\nconsole=tty0<br \/>\nextraargs=console=tty0 disp.screen0_output_mode=EDID:1980x1080p60 rootwait mac_addr=XX:XX:XX:XX:XX:XX<br \/>\nfexfile=cubieboard.bin<\/code><\/p>\n<p><code>mac_addr=XX:XX:XX:XX:XX:XX<\/code> est l&rsquo;adresse MAC que l&rsquo;on souhaite attribuer \u00e0 la carte.<\/p>\n<p>Synchroniser, puis d\u00e9monter les deux partitions :<\/p>\n<p><code>sync<br \/>\numount \/dev\/sdX1 \/dev\/sdX2<\/code><\/p>\n<h2>Premier d\u00e9marrage et configuration minimale du syst\u00e8me :<\/h2>\n<h3>Relier la Cubieboard \u00e0 un \u00e9cran<\/h3>\n<p>Ins\u00e9rer la carte micro-SD dans son emplacement et brancher l&rsquo;alimentation de la Cubieboard, raccord\u00e9e \u00e0 un clavier USB et \u00e0 un \u00e9cran via la sortie HDMI et reli\u00e9e au routeur ou \u00e0 la box par un cable ethernet. Si tout se d\u00e9roule conform\u00e9ment au plan, une console doit s&rsquo;ouvrir \u00e0 l&rsquo;\u00e9cran.<\/p>\n<h3>Premi\u00e8re session<\/h3>\n<h4>Mot de passe administrateur (root)<\/h4>\n<p>Ouvrir une session en tant que root (le mot de passe par d\u00e9faut est root).<br \/>\nOn compl\u00e8te l&rsquo;installation en commen\u00e7ant par changer le mot de passe de root :<br \/>\n<code>passwd<\/code><\/p>\n<h4>Le clavier en fran\u00e7ais<\/h4>\n<p>Si le clavier est en AZERTY, il faut l&rsquo;indiquer au syst\u00e8me :<br \/>\n<code>loadkeys fr<\/code><br \/>\nPour que cette disposition de clavier r\u00e9siste aux red\u00e9marrage :<br \/>\n<code>localectl set-keymap fr-pc<\/code><\/p>\n<h4>D\u00e9finir un nom d&rsquo;h\u00f4te<\/h4>\n<p>Pour que la cubieboard apparaisse sur le r\u00e9seau sous son petit nom :<br \/>\n<code>hostnamectl set-hostname cubieboard<\/code><\/p>\n<h4>Pour \u00eatre \u00e0 l&rsquo;heure<\/h4>\n<p>Pour indiquer le bon fuseau horaire \u00e0 prendre en compte :<br \/>\n<code>timedatectl set-timezone Europe\/Paris<\/code><br \/>\npar exemple (pour la liste des valeurs possibles, <code>timedatectl list-timezones<\/code>).<\/p>\n<h4>Mise \u00e0 jour des paquets<\/h4>\n<p>Il est recommand\u00e9 de r\u00e9initialiser les jeux de cl\u00e9s de pacman :<br \/>\npacman-key &#8211;init<\/p>\n<h5>Activation de DHPC<\/h5>\n<p>Pour mettre \u00e0 jour les paquets, il faut acc\u00e9der \u00e0 l&rsquo;internet. Par d\u00e9faut, le d\u00e9mon dhpc n&rsquo;est pas activ\u00e9. \u00c0 moins que le r\u00e9seau ne soit en ipV6, il faut l&rsquo;activer si l&rsquo;on souhaite que le routeur lui attribue automatiquement une adresse IP :<br \/>\n<code>systemctl start dhpcd<br \/>\nsystemctl enable dhpcd<\/code><\/p>\n<p>Normalement, la connection devrait \u00eatre \u00e9tablie. Pour le v\u00e9rifier :<br \/>\n<code>ifconfig<\/code><\/p>\n<h5>Mise \u00e0 jour des paquets<\/h5>\n<p>Lancer pacman \u00e0 la chasse aux mises \u00e0 jour :<br \/>\n<code>pacman -Syu<\/code><\/p>\n<h4>Compl\u00e9ments et points notables<\/h4>\n<p>Le service de t\u00e2ches planifi\u00e9es cronie n&rsquo;est pas activ\u00e9 par d\u00e9faut. Pour le faire (et s&rsquo;\u00e9viter des arrachages de cheveux pour comprendre pourquoi les t\u00e2ches planifi\u00e9es dans la crontab ne s&rsquo;ex\u00e9cutent pas&#8230;) :<br \/>\n<code>systemctl enable cronie<\/code><\/p>\n<p>Certains paquets fort utiles ne sont pas embarqu\u00e9s, et notamment screen, sudo et wget. Pour pouvoir compiler des paquets, les outils contenus dans base-devel peuvent aussi \u00eatre fort utiles :<br \/>\n<code>pacman -S screen sudo wget base-devel<\/code><\/p>\n<p>Enfin, il est de bonne pratique de n&rsquo;utiliser la machine en tant que <em>root<\/em> que pour les t\u00e2ches d&rsquo;administration. On peut cr\u00e9er un utilisateur standard avec : <code># useradd -m -G wheel -s \/bin\/bash utilisateur<\/code>.<\/p>\n<p>Sources :<br \/>\n<a href=\"https:\/\/gist.github.com\/trixpan\/6ff425f65d736b07aecf\">https:\/\/gist.github.com\/trixpan\/6ff425f65d736b07aecf<\/a><br \/>\n<a href=\"http:\/\/archlinuxarm.org\/platforms\/armv7\/allwinner\/cubieboard\">http:\/\/archlinuxarm.org\/platforms\/armv7\/allwinner\/cubieboard<\/a><br \/>\n<a href=\"http:\/\/linux-sunxi.org\/Hwpack\">http:\/\/linux-sunxi.org\/Hwpack<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Relev\u00e9 actualis\u00e9 des \u00e9tapes parcorues pour installer Arch Linux ARM sur la Cubieboard 1.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[395],"tags":[249,329,250],"class_list":["post-2517","post","type-post","status-publish","format-standard","hentry","category-bidouillages","tag-archlinux","tag-cubieboard-3","tag-installation"],"share_on_mastodon":{"url":"","error":""},"_links":{"self":[{"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/posts\/2517","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/comments?post=2517"}],"version-history":[{"count":18,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/posts\/2517\/revisions"}],"predecessor-version":[{"id":2674,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/posts\/2517\/revisions\/2674"}],"wp:attachment":[{"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/media?parent=2517"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/categories?post=2517"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/tags?post=2517"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}