# [BASH] Changer la resolution du bash de demarage

## mazty

Petite question d'ordre estetique mais aussi pratique : est-il possible de changer la resolution du bash de demarage c'est a dire avant le chargement de X...merci...

----------

## kernelsensei

c'est pas bash, mais la console / framebuffer (si activé), il faut specifier la variable vga=<valeur> dans la ligne kernel de lilo/grub

pour les valeurs, su t'as le framebuffer d'activé les modes dispo sont la : http://www.faqs.org/docs/Linux-HOWTO/Framebuffer-HOWTO.html#ss5.3

----------

## mazty

J'ai modifié mon /boot/grub/grub.conf ainsi (0x318 pour une résolution de 1024*768 en 24bits) :

```
default 0

timeout 10

splashimage=(hd0,1)/grub/splash.xpm.gz

title=Windows XP Pro SP2

rootnoverify (hd0,0)

makeactive

chainloader +1

title=Gentoo Linux 2.6.12-gentoo-r10

root (hd0,1)

kernel /kernel-2.6.12-gentoo-r10 root=/dev/hda4 vga=0x318
```

Je ne crois pas que le framebuffer soit désactivé mais quand je redémare ainsi l'ecran reste en 640*480 avant le chargement de X. Comment savoir si le framebuffer est vraiment activé ?

----------

## croquignol

Obtenir une definition maximale en mode texte sans framebuffer suivant son materiel et le fichier svga.txt de la documentation du noyau (dans mon cas c'est un mode vga+ (non svga) de 132x44 amplement suffisant et rapide a l'affichage). Je n'utilise pas le framebuffer qui ne sert a rien en mode texte. Tout ceci est fait en tant que root.

1)

```
links /usr/share/keymaps  # rechercher le nom du fichier du plan du clavier en mode console

nano -w /etc/conf.d/keymaps  # configurer le plan du clavier en mode console

=======================================

...

# toto (plan du clavier francais avec l'euro en mode console)

KEYMAP="fr-latin9" 

...

=======================================
```

2)

```
less /usr/share/consolefonts/  # choisir la police de caracteres en mode console

nano -w /etc/conf.d/consolefont  # configurer la police de caracteres en mode console

=============================

...

# toto (police de caracteres en mode console)

CONSOLEFONT="lat9w-08"

...

=============================
```

3) fstab est donne uniquement pour comprendre la configuration de grub.conf !

```
nano -w /etc/fstab  # liste des partitions utilisees par le systeme

==============================================

/dev/hda7           /boot          ext2   noauto,noatime       1  2

/dev/hda8           none           swap   sw                   0  0

/dev/hda9           /              ext3   noatime              0  1

none                /proc          proc   defaults             0  0

none                /dev/shm       tmpfs  nodev,nosuid,noexec  0  0

/dev/cdroms/cdrom0  /mnt/cdrom     auto   noauto,user          0  0

==============================================
```

4) Configurer grub.conf

```
mount /dev/hda7 /boot/

nano -w /boot/grub/grub.conf

=====================================================================================================

# amorcer la premiere entree par defaut (le comptage commence a 0)

default 0

# amorcer automatiquement apres 30 secondes (sauf si une touche est pressee) 

timeout 30

# description courte de la premiere entree

title Gentoo Linux 2.6.13-gentoo-r3

# charger l'image du noyau avec un parametre noyau pour le mode video du vesa bios a la demande (ask) 

kernel (hd0,6)/kernel-toto-gentoo-sources-2.6.13-gentoo-r3 root=/dev/hda9 vga=ask

# description courte de la deuxieme entree

title Windows 98 SE

# indiquer la partition d'amorcage du systeme d'exploitation (sans la monter)

rootnoverify (hd0,0)

# activer le drapeau de la partition

makeactive

# charger l'autre chargeur d'amorcage (+1 pour lire un secteur du debut de la partition)

chainloader +1

=====================================================================================================

umount /dev/hda7

reboot
```

5) Choisir le mode video du vesa bios

```
--------------

valider return

--------------

scan  # noter les codes hexa et modes video du vesa bios

----------------------------------------------------------------------------------------------------------------------------

0  0F00  80x25

1  0F01  80x50

2  0F02  80x43

3  0F03  80x28

4  0F05  80x30

5  0F06  80x34

6  0F07  80x60

7  0100  40x25

8  0121  100x25

9  0122  100x30

a  0123  132x25

b  0133  132x44

choisir le code hexa du mode video vesa bios dont la ligne contient le plus de caracteres avec un nombre maximun de colonnes

----------------------------------------------------------------------------------------------------------------------------

reboot  # seulement si l'affichage n'est pas lisible ou ne correspond pas aux colonnes x lignes du mode video vesa bios choisi
```

6) Configurer le mode video du vesa bios

```
mount /dev/hda7 /boot

nano -w /boot/grub/grub.conf  # configurer grub.conf avec le code hexa du mode video du vesa bios choisi

===================================================================================

...

# mode video du vesa bios 0x133 (132x44)

kernel (hd0,6)/kernel-toto-gentoo-sources-2.6.13-gentoo-r3 root=/dev/hda9 vga=0x133

...

===================================================================================

umount /dev/hda7
```

----------

## ghoti

 *croquignol wrote:*   

> 5) Choisir le mode video du vesa bios
> 
> ```
> --------------
> 
> ...

 

Attention : cette ligne ne donne que les codes VESA mode "texte". Le but du framebuffer est de pouvoir utiliser tous les codes VESA (celui-ci n'est d'ailleurs qu'un sous-ensemble du standard VBE)

[EDIT]

OUPS, je n'avais pas vu que tu parlais en effet du mode texte sans framebuffer  :Embarassed: 

Je laisse quand même mon post : ça peut peut-être servir, ne serait-ce qu'à faire du bruit ... 

[/EDIT]

Ces normes sont utilisées de manière plutôt libres par les constructeurs : même le  HOWTO mentionné par kernel_sensei n'est pas correct/complet pour toutes les cartes !  :Sad: 

Il y a en fait un utilitaire pour connaître tous les modes VBE supportés réellement par la carte graphique : vbetest contenu dans le package sys-libs/lrmi.

Un exemple pour montrer que le howto ci-dessus n'est pas complet.

Ma carte est une nvidia FX5900-XT

```
bigben ~ # vbetest

VBE Version 3.0

NVIDIA

[256] 640x400 (256 color palette)

[257] 640x480 (256 color palette)

[259] 800x600 (256 color palette)

[261] 1024x768 (256 color palette)

[263] 1280x1024 (256 color palette)

[270] 320x200 (5:6:5)

[271] 320x200 (8:8:8)

[273] 640x480 (5:6:5)

[274] 640x480 (8:8:8)

[276] 800x600 (5:6:5)

[277] 800x600 (8:8:8)

[279] 1024x768 (5:6:5)

[280] 1024x768 (8:8:8)

[282] 1280x1024 (5:6:5)

[283] 1280x1024 (8:8:8)

[304] 320x200 (256 color palette)

[305] 320x400 (256 color palette)

[306] 320x400 (5:6:5)

[307] 320x400 (8:8:8)

[308] 320x240 (256 color palette)

[309] 320x240 (5:6:5)

[310] 320x240 (8:8:8)

[317] 640x400 (5:6:5)

[318] 640x400 (8:8:8)

[325] 1600x1200 (256 color palette)

[326] 1600x1200 (5:6:5)

[327] 1400x1050 (256 color palette)

[328] 1400x1050 (5:6:5)

[338] 2048x1536 (8:8:8)
```

Malheureusement, les modes sont donnés en décimal et il faut faire quelques conversions. 

De plus, ce sont les valeurs de base et non les valeurs ajustées avec l'offset 0x200 !

Mon moniteur étant capable de supporter le 1600x1200, les valeurs qui s'offrent à moi sont [325] et [326].

En hexa, cela donne 0x145 et 0x146.

En rajoutant l'offset 0x200 comme dans le howto, on obtient 0x345 et 0x346.

Comme je veux le maximum de couleurs, je choisis donc 0x346 et puisque j'utilise vesafb, j'introduis dans grub.conf :

 *Quote:*   

> kernel ... vga=0x346 video=vesafb:...

 

Et avec une "bête" police comme be-latin1, cela me donne 75 lignes de 198 caractères ...  :Very Happy: 

A l'inverse, les codes mentionnés dans le howto pour cette résolution (0x31c, 0x31d, 0x31e, 0x31f) qui correspondent in fine aux codes décimaux (284, 285, 286, 287) n'apparaissent absolument pas dans les modes supportés par ma carte ...

----------

## mazty

Tout est configuré mais ca ne marche pas j'ai essayé "vga=0x318 video=vesafb" dans la ligne KERNEL et toujours rien... Sinon est-il possible de sauvegarder dans un fichier teste ce qui apparait au démarage ?

----------

## ghoti

 *mazty wrote:*   

>  j'ai essayé "vga=0x318 video=vesafb" dans la ligne KERNEL et toujours rien... 

 

Essaie "vga=0x318 video=vesafb:1024x768-16@85"

Le "16@85" dépend des possibilités de ta carte et de ton moniteur.

Si tu n'en sors pas, donne :

1. les références de ta carte graphique (à défaut, le chipset)

2. le résultat de grep VESA /usr/src/linux/.config

3. le résultat de la commande  vbetest comme indiqué plus haut.

----------

## lowang_19

Pour moi ça a marché quand j'ai suivi ce how-to....

----------

## mazty

"grep VESA /usr/src/linux/.config" ne donne rien... et je n'ai pas la commande vbetest...   :Rolling Eyes: 

----------

## ghoti

 *mazty wrote:*   

> "grep VESA /usr/src/linux/.config" ne donne rien... 

 

 :Question:   :Question: 

Bon, alors essaie grep VESA /boot/config-<version_de_ton_noyau> (bien entendu, après avoir monté ton répertoire /boot si nécessaire!)

 *Quote:*   

> et je n'ai pas la commande vbetest...  

 

 :Rolling Eyes:   :Rolling Eyes: 

 *ghoti wrote:*   

> Il y a en fait un utilitaire pour connaître tous les modes VBE supportés réellement par la carte graphique : vbetest contenu dans le package sys-libs/lrmi.

 

----------

## spider312

 *ghoti wrote:*   

>  *mazty wrote:*   "grep VESA /usr/src/linux/.config" ne donne rien...  
> 
>  
> 
> Bon, alors essaie grep VESA /boot/config-<version_de_ton_noyau> (bien entendu, après avoir monté ton répertoire /boot si nécessaire!)

 Pour tester les options du kernel courant, le mieux reste encore 

```
zgrep -i vesa /proc/config.gz
```

----------

## ghoti

 *spider312 wrote:*   

> Pour tester les options du kernel courant, le mieux reste encore 
> 
> ```
> zgrep -i vesa /proc/config.gz
> ```
> ...

 

Oui mais à condition d'avoir activé l'option IKCONFIG dans le noyau ...

Suis pas sûr que ce soit une option par défaut !  :Wink: 

```
bigben ~ # zgrep -i vesa /proc/config.gz

gzip: /proc/config.gz: No such file or directory
```

----------

## mazty

"grep -i vesa /boot/config-2.6.12-gentoo-r10" ne donne rien non plus.

Sinon voila ce que me propose vbetest :

```
root ~ # vbetest

VBE Version 3.0

NVIDIA

[256] 640x400 (256 color palette)

[257] 640x480 (256 color palette)

[259] 800x600 (256 color palette)

[261] 1024x768 (256 color palette)

[263] 1280x1024 (256 color palette)

[270] 320x200 (5:6:5)

[271] 320x200 (8:8:8)

[273] 640x480 (5:6:5)

[274] 640x480 (8:8:8)

[276] 800x600 (5:6:5)

[277] 800x600 (8:8:8)

[279] 1024x768 (5:6:5)

[280] 1024x768 (8:8:8)

[282] 1280x1024 (5:6:5)

[283] 1280x1024 (8:8:8)

[304] 320x200 (256 color palette)

[305] 320x400 (256 color palette)

[306] 320x400 (5:6:5)

[307] 320x400 (8:8:8)

[308] 320x240 (256 color palette)

[309] 320x240 (5:6:5)

[310] 320x240 (8:8:8)

[317] 640x400 (5:6:5)

[318] 640x400 (8:8:8)

[325] 1600x1200 (256 color palette)

[326] 1600x1200 (5:6:5)

[327] 1400x1050 (256 color palette)

[328] 1400x1050 (5:6:5)

[338] 2048x1536 (8:8:8)
```

----------

