# [chromebook samsung arm] nv-u-boot loader

## vlotho

Salut,

Alors voilà ma question,

J'ai décidé d'installer gentoo sur ce netbook et pour cela j'ai trouvé que la meilleure solution était de suivre le handbook. Hors dans le handbook, à cette page :http://www.gentoo.org/doc/en/handbook/handbook-arm.xml?part=1&chap=4, dans la partie expliquant la procédure de création des partitions, je voulais savoir si c'était dans le cas d'une partition de type dos ou gpt ? Je pense que c'est pour un type dos mais ne serait il pas plus judicieux de décrire la procédure pour les types gpt ? sur ce type de netbook.

----------

## vlotho

bon, le netbook ne démarre plus, il semblerais qu'il y ai des partitions à ne pas effacer sur les chromebooks. j'ai vu qu'il y avait des scripts qui installe gentoo sur chromebook mais j'aurais voulu faire ça de façon plus traditionnelle.

----------

## xaviermiller

Hello,

As-tu bien mis la première partition en FAT, et activée ?

Et as-tu bien déposé tous les fichiers de démarrage nécessaires ?

----------

## vlotho

Activé ! activé comment ? il lui faut une taille particulière ? et quel fichiers de démarrage ? 

Toute façon là il va falloir que je le restaure avec le chrome natif car il ne démarre même plus sur la sd externe.

----------

## xaviermiller

Partition marquée comme "boot" ou "active".

Installer un linux sur ARM n'est pas aussi habituel que sur PC, donc il te faudra beaucoup de patience, et d'appréhender des outils qui sont moins courants. Courage !  :Wink: 

----------

## vlotho

j'avais fais un schéma classique de partitionnement : mmcblk0p1 etx2 boot ( peut être qu'il faut effectivement la mettre en fat, je vais réessayer ), mmcblk0p2 swap, mmcblk0p3 etx4. d'ailleurs le swapon ne fonctionnais pas ... paramètre manquant ou un truc dans le style, alors que j'avais bien la partition en argument ... enfin c'est pas une commande très compliqué ...

----------

## xaviermiller

Suis bien la documentation, mais en général, la partition "boot" doit être la première, primary, active(boot) et en FAT (ou FAT32).

----------

## vlotho

j'ai ce message dans une fenêtre de gparted quand j'essaye d'activer la swap ( et c'est quasiment identique dans fdisk ) :

swapon: /dev/mmcblk0p2: found swap signature: version 1, page-size 4, same byte order

swapon: /dev/mmcblk0p2: pagesize=4096, swapsize=536870912, devsize=536870912

swapon: /dev/mmcblk0p2: swapon failed: Invalid argument

----------

## xaviermiller

as-tu formaté ta swap avec mkswap ?

----------

## vlotho

la première fois que je l'ai fais en ligne de commande, oui. Après, dans gparted la swap est un type de formatage, au même titre que le ext4 ..., donc il l'a formate en t'en que telle.

De toute façon, l'erreur est la même dans les deux cas.

----------

## xaviermiller

Laisse ce souci pour le moment, tu la reformateras dans ta Gentoo par après.

----------

## vlotho

ok, la je comprend pas après avoir téléchargé l'archive stage3.armv7l.tar.bz2 quand je la décompresse à la fin j'ai l'erreur, 

tar: exiting with failure status due to previous errors

avant que l'erreur apparaissent, j'ai quand même beaucoup de fichiers extrait.

et quand je vérifie le checksum j'ai une suite de chiffres qui ne correspond à rien dans le fichier DIGESTS. J'ai essayé de le télécharger plusieurs fois, que ce soit par wget ou par le navigateur, et ça me sort la même suite de chiffres.

----------

## xaviermiller

Quelles sont les erreurs ? As-tu bien décompressé en tant que root, avec les options qu'il faut (tar xpf archive.tar.bz2) ?

----------

## vlotho

sudo tar xvjpf stage3-armv4l-2008.0.tar.bz2

le message d'erreur que je t'ai mis plus haut est le seul qui est affiché.

J'ai une liste de fichiers décompressé, puis tar: exiting .....

j'ai une arborescence dans le répertoire /mnt/gentoo mais dans le répertoire /etc/ il n'y a pas de répertoire portage ... le tar ce finit par les répertoires : /var/db/pkg, /var/lock/, /var/tmp/, /tmp/

----------

## xaviermiller

Enlève le "v" pour ne voir que les erreurs  :Wink: 

le stage3 ne contient pas portage, c'est normal. Tu devras lancer un emerge --sync ou récupérer un snapshot, comme décrit dans la documentation.

----------

## vlotho

dans la doc, directement après la décompression de l'archive stage3 il parle de la configuration de portage ... http://www.gentoo.org/doc/en/handbook/handbook-arm.xml?part=1&chap=5#compile_options

effectivement j'ai un autre message d'erreur  :Wink:  mais ne sais pas trop pourquoi il me met ça ... : tar: ./boot/boot : cannot create symlink to ' . ' : operation not permitted

pourtant je suis bien en sudo.

----------

## xaviermiller

Ce n'est pas très grave comme message d'erreur. Si c'est le seul, c'est OK.

----------

## vlotho

Apres m'etre chroote sur gentoo, j'ai essaye de formater la partition de swap mais j'ai le message :

(chroot) [toto@alarm gentoo]$ sudo mkswap /dev/mmcblk0p2

mkswap: /dev/mmcblk0p2: warning: wiping old swap signature.

Setting up swapspace version 1, size = 524284 KiB

no label, UUID=7a7db8b8-0711-4db2-a399-f4abcae10300

je ne pense pas que ce soit bon

et le chroot ne fonctionne pas ... meme pas d'erreur

rien ne ce passe ...

----------

## xaviermiller

le formatage du swap me semble OK: où vois-tu que ce qui est affiché est en erreur ?

Es-tu bien root pour faire le chroot ?

----------

## xaviermiller

EUUUH !!!! Tu as un stage de 2008 !!! Où l'as-tu trouvé ?

Et es-tu sûr que c'est un armv4 ? Ca me semble bien faible comme processeur, alors qu'un raspberry pi est un armv6 et un pandaboard un armv7.

----------

## vlotho

quel con !!! je me suis planter :s par contre c'est un v7l, le plus haut est un v7a, cela suffit quand même ?

il est dans le répertoire expérimental.  :Smile: 

c'est bon, le chroot fonctionne  :Smile:  ça merge

----------

## xaviermiller

Chuper !

----------

## vlotho

quand j'essaye d'installer pciutils, j'ai ce message :

```
emerge pciutils

 * IMPORTANT: 6 news items need reading for repository 'gentoo'.

 * Use eselect news to read news items.

Calculating dependencies... done!

!!! Multiple package instances within a single package slot have been pulled

!!! into the dependency graph, resulting in a slot conflict:

sys-apps/kmod:0

  (sys-apps/kmod-15-r1::gentoo, ebuild scheduled for merge) pulled in by

    >=sys-apps/kmod-14 required by (sys-fs/udev-208::gentoo, ebuild scheduled for merge)

  (sys-apps/kmod-13-r1::gentoo, installed) pulled in by

    (no parents that aren't satisfied by other packages in this slot)

It may be possible to solve this problem by using package.mask to

prevent one of those packages from being selected. However, it is also

possible that conflicting dependencies exist such that they are

impossible to satisfy simultaneously.  If such a conflict exists in

the dependencies of two different packages, then those packages can

not be installed simultaneously.

For more information, see MASKED PACKAGES section in the emerge man

page or refer to the Gentoo Handbook.

!!! The ebuild selected to satisfy ">=x11-libs/libdrm-2.4.42[video_cards_nouveau?,video_cards_vmware?]" has unmet requirements.

- x11-libs/libdrm-2.4.46::gentoo USE="-libkms -static-libs" VIDEO_CARDS="exynos omap -freedreno -intel -nouveau -radeon -vmware"

  The following REQUIRED_USE flag constraints are unsatisfied:

    video_cards_exynos? ( libkms )

(dependency required by "media-libs/mesa-9.1.6" [ebuild])

(dependency required by "x11-libs/cairo-1.12.14-r4[opengl]" [ebuild])

(dependency required by "dev-libs/gobject-introspection-1.34.2-r1" [ebuild])

(dependency required by "sys-fs/udev-208[introspection]" [ebuild])

(dependency required by "virtual/udev-208" [ebuild])

(dependency required by "sys-apps/hwids-20130915.1[udev]" [ebuild])

(dependency required by "sys-apps/pciutils-3.2.0" [ebuild])

(dependency required by "pciutils" [argument])
```

du coup j'essayer de mettre le USE et le VIDEO_CARDS avec ce qu'il demande mais a la fin j'ai :

I

```
nvalid '-' operator in non-incremental variable 'VIDEO_CARDS': '-freedreno'

Invalid '-' operator in non-incremental variable 'VIDEO_CARDS': '-intel'

Invalid '-' operator in non-incremental variable 'VIDEO_CARDS': '-nouveau'

Invalid '-' operator in non-incremental variable 'VIDEO_CARDS': '-radeon'

Invalid '-' operator in non-incremental variable 'VIDEO_CARDS': '-vmware'
```

Bon apparemment il ne faut pas mettre les pilotes avec le - n'empêche que je n'arrive toujours pas a installer pciutils

----------

## xaviermiller

Dans VIDEO_CARDS, tu ne mets que les cartes pour lesquelles il faut installer le pilote (pas de - donc)

fais "emerge -C kmod" pour qu'il installe la version de kmod qui ira bien.

----------

## vlotho

ok, je comprend mieux  :Smile: 

Bon pciutils est installé, bon par contre, pas de proc/pci, peut être qu'il pourra ce créer au démarrage de gentoo ...

pour ce qui est de la configuration par défaut du kernel je ne trouve pas grand chose à ce sujet ...

Donc c'est un chromebook samsung serie 3 Exynos 5250 (Exynos 5 Dual) 	32 nm 	ARMv7 	1.7-2,0 GHz ARM Cortex-A15 MPCore double cœur 	ARM Mali-T604 	533 Mhz LPDDR2 dual channel, 12,8 GB/s 800 Mhz LPDDR3 ou DDR3 dual channel 9 	2012  :Very Happy: 

Si tu as une idée vers ou je peux me diriger ?...

Je viens de trouver cette page :

http://www.chromium.org/chromium-os/how-tos-and-troubleshooting/using-an-upstream-kernel-on-snow

Je suis en train de potasser.

il semble que ce soit ça :

https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/eclass/cros-kernel/exynos5_defconfig

----------

## xaviermiller

A ma connaissance, il n'y a pas de PCI sur une architecture ARM...

Pour ta config de kernel, prends le noyau pré-configuré que tu as trouvé, c'est ce que je fais pour mon raspberry pi (et auparavant Pandaboard) : les configs ARM sont très exotiques, bourrées de patches et blobs, il vaut mieux ne pas trop chipoter.

----------

## vlotho

à ton avis je peux utiliser cette page pour installer le boot loader ? :

http://www.chromium.org/chromium-os/u-boot-porting-guide/using-nv-u-boot-on-the-samsung-arm-chromebook

il y a 2 versions du loader

bon je me suis lancé dans l'installation de la première version du kernel, le nv_uboot-snow.kpart, le problème c'est que le chroot ne détecte pas les partitions de ma mmc, du coup je ne peux pas mettre le kpart sur la partition de boot avec dd. 

Dans le /dev/ il y a plein de sda, sdb, sdc, ... mais pas de mmcblkx

J'ai l'impression que depuis que j'ai partitionné les partitions ou depuis que j'ai chrooté sur gentoo, le système a perdu ma mmc. Pourtant il fonctionner très bien avant. j'essayerais bien de redémarrer mais j'ai peur de ne plus pouvoir booter sur la sd vu qu'il n'y a plus de firmware sur la mmc interne ...

----------

## xaviermiller

Aucune idée, c'est à toi de voir : chaque ARM est unique, et il faut se débrouiller  :Wink: 

----------

## vlotho

Salut,

Alors apres avoir mis l'image du loader dans le boot, le ls du répertoire boot m'affiche : [img]http://www.zimagez.com/miniature/screenshot-122213-105629.php[/img]

Si quelqu'un a une idee ...

----------

## xaviermiller

heu, ça ressemble à une corruption de ta partition /boot. Fais-en un back-up, reformate-la et recommence  :Wink: 

----------

## vlotho

Alors, je reviens au nouvelles.

J'ai finalement trouve de la doc sur u-boot ... en francais  :Smile: 

[url]http://ingenierie.openwide.fr/content/download/2918/23514/file/u-boot.pdf‎[/url]

a la page 6, il parle d'un flashage de la rom. est ce que quelqu'un sait comment cela pourrait il ce faire ?

la commande dd fonctionne pas avec le bin. enfin ca fonctionne mais ca foire la partition de boot.

----------

## xaviermiller

Hello,

Ton cas est très pointu... je crains que tu doives te débrouiller tout seul ou trouver un forum parlant de l'installation de Linux sur ce modèle de Chromebook.

----------

## xaviermiller

PS: essaie de demander de l'aide dans le sous-forum Gentoo on Alternative Architectures (en anglais)

PS2: as-tu regardé les 4-5 messages remontés par la recherche "chromebook" dans le forum ?

----------

## vlotho

j'ai un peu regardé mais j'ai rien vu qui pouvait résoudre mon problème. jusqu'à présent il n'y a que le boot qui pose problème. j'ai regardé aussi sur le script automatisé et le gars qui l'a fait garde la table de partition gpt.

je sais pas trop comment ca fonctionne... je ne vois rien concernant le boot en lui même. 

il faut que je me pose un peu et que j'aille sur les mailing list anglaise de chez google. 

j'irai faire un tour demain mais ca fais deux fois que je pose une question et elle n'est jamais publier ... car il faut l'autorisation d'un modo :s et je sais pas pourquoi il la mettent pas en ligne ...

----------

## vlotho

alors j'ai trouvé une procédure sur archlinux pour mettre en place le boot. 

bon sauf que évidemment les paquets à installer sur arch n'ont pas le même nom sur portage. Alors je cherche une solution ... pour le paquet flashrom.google, il existe sur portage une appli qui s'appelle flashrom.

 je vais tester cela, par contre pour le paquet linux-chromebook, je ne vois rien d'équivalent donc je me demandais s'il existais un moyen de convertir les paquets pacman sur portage ?

https://wiki.archlinux.org/index.php/Samsung_Chromebook_%28ARM%29#Flashing_non-verified_U-boot

et sinon il y aurait un équivalent de apt-file dans gentoo ? pour rechercher les fichiers dans les paquages ou les commandes dans les ebuild ?

----------

## vlotho

ok donc je me débrouille ... j'ai téléchargé les 3 paquets de chez arch : flashroom-google, linux-chromebook, et gptfdisk ( celui ci à un équivalent sur portage ).

Pour ce qui est de flashrom-google, il n'existe pas sur portage, par contre il y a un "flashrom" ... le paquet flashroom-google contient un executable flashrom.google. Après étant donné que chrome os ce base sur gentoo il est probable qu'il ai utilisé "flashrom" avec peut être certaine options ... de toute façon j'ai pris le paquet dans l'arch armv7h donc je peux peut être copier les contenu dans les répertoires de gentoo ...

linux-chromebook contient un noyaux linux pré compilé au format uimg avec différent modules ... peut être puis je simplement copier ça dans les répertoires de gentoo.

J'aurais bien voulu compiler mon propre noyaux mais pour l'instant je ne connais pas le format uimg et j ne sais pas qu'elle options il ont utilisé dans ce noyaux ... sur le site de chromium il indique les options par défaut qu'il faut pour compiler sont propre noyaux sur chromebook ...

----------

## vlotho

en copiant le flashrom.google de arch je tombe sur une erreur de ld-linux, le programme attend la librairie appelle ld-linux-armhf.3.so et sur gentoo elle s'apelle ld-linux.3.so ... j'ai essaye de renomer la librairie mais ca casse les commandes du bash 

j'ai finalement clone les sources de flashrom sur le site de chromium mais je tombe sur l'erreur :

cli_mfg.c:731:11: error: 'op' may be used uninitialized in this function [-Werror=maybe-uninitialized]

lors de la compilation.

----------

## xaviermiller

Ne renomme pas, fais un lien symbolique  :Wink: 

----------

## vlotho

Segmentation fault (core dumped)

Je sais plus quoi faire la ...

----------

## xaviermiller

Cela n'ira pas : les versions de GLIBC entre ce que tu as téléchargé et ta Gentoo sont différentes et sont incompatibles.

----------

## vlotho

il y aurait que le patchage de flashrom. c'est possible de patcher un ebuild de portage avant sa compilation ? peut etre en ne téléchargeant que les sources ...

----------

## xaviermiller

Oui, c'est possible.

Avant d'essayer Gentoo, qui ne semble pas tout avoir pour ce Chromebook, n'essaierais-tu pas d'abord une autre distribution ?

----------

## vlotho

 :Very Happy:  en fait tu me propose d'essayer autre chose pour le chromebook, c'est marrant qu'un "officiel" de gentoo me propose d'allée voir ailleurs ... 

Le truc c'est que j'aurais voulus avoir gnome sur chromebook, et sur arch arm il n'est pas disponible donc c'est en partie pour ça que je me suis dirigé vers gentoo. Après rien ne pressent, mon desktop tourne sous Ubuntu.

----------

## xaviermiller

Hello,

Je ne suis pas vraiment un "officiel", juste un modérateur  :Wink: 

Dans notre section francophone, il n'y a à ma connaissance pas grand monde qui touche de l'ARM. J'en fais un peu, mais c'est avec des plateformes bien supportées par Gentoo.

As-tu été poser des questions dans le sous-forum "Gentoo on alternative architectures" ? Il y a des gourous au niveau ARM, et ils pourront t'aider, voire te dire s'il y a des overlays qui ont intégré le support pour ton portable.

Pour ma part, j'ai vu à quel point c'est compliqué, voire impossible de faire tourner Linux en 100% libre sur des architectures ARM, mon prochain ordi sera encore une architecture x86.

----------

## vlotho

Bon j'ai posté un message chez les anglais mais pas de réponse ...

sinon j'ai trouvé ça : http://linuxfr.org/users/sidonie_tardieu/journaux/gluglug#comment-1508872

http://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-arm-chromebook

----------

