exec chroot . sh -c 'mount -n -t devfs none /dev >/dev/null 2>&1;\
exec -a init.new /sbin/init 3'
Euh, t'es sur de ton coup, là?
c'est pas plutôt au kernel de spawner init tout seul, et de laisser init lire le runlevel dans /etc/inittab?
parce que là, en théorie, quand ton machin boot, exec remplace linuxrc par init, et en toute logique, si tu killes cet init, le noyau va voir que linuxrc est mort aussi et lancer son propre init par derrière, non?
enfin, ca m'intrigue, parce que les linuxrc que j'ai vu jusqu'à présent, ils s'arrêtent après le pivot_root, et ils rendent la main, laissant le noyau spawner init.
J'ai pensé alors que le système pourrait être lancé via le disque-dur, puis que l'on switcherait sur le cd-rw le moment voulu. Facile, me dis-je, il s'agit juste de changer les liens symboliques des dossiers dont un accès en lecture suffit, puisque le reste est en mémoire.
Malheureusement, un sudo ls -l /proc/1/exe renvoie ceci:
d'après ce que tu dis, il faudrait juste remplacer un lien :
for DIR in bin boot lib root sbin usr
do
ln -s /mnt/disque/"$DIR" /mnt/"$DIR"
done
[...]
pivot_root /mnt /mnt/initrd
par
for DIR in bin boot lib root sbin usr
do
if [ x$DIR = xsbin ] ; then
ln -s /cdrom/"$DIR" /mnt/"$DIR"
else
ln -s /disque/"$DIR" /mnt/"$DIR"
fi
done
[...]
pivot_root /mnt /mnt/initrd
comme ca au sortir du linuxrc, /sbin/init sera appelé à partir de /disque et pas de /cdrom
Exactement, je voulais juste insister sur un point :
pour ce que tu recherches à faire, openssi/openmosix sera performant uniquement si ton serveur/cluster fait tourner plusieurs processus en même temps. sinon, ca n'a aucun intérêt (en termes de performances, hein, pas de disponibilité).
et à ce moment là, si il est possible de faire bosser ensemble plusieurs serveurs indépendants, un http://www.linuxvirtualserver.org/(...) peut s'avérer suffisant pour répondre au besoin.
xgrid, c'est du grid computing, enfin, d'après le nom, ca en à l'air ;)
en gros, dans xgrid, un noeud recoit (demande, en général, plutôt) un binaire et des données via le réseau, puis il exécute le binaire sur les données. tous les noeuds sont indépendants...
dans un openssi/openmosix, il recoit un "processus", "un environement d'exécution" via le réseau, qui est plus à voir comme un bus entre tous les noeuds, une couche intermédiaire entre le hardware et le software qui s'occupe de balancer le software vers un hardware disponible.
je suis pas convaincu, là : vous parlez de troic choses complètement différentes (dans leurs buts et leurs approches) comme si c'était la même chose :
- les seti@home, folding@home et autre distributed.net ou décrypton, c'est je crois ce qu'on appelle du grid computing : pleins d'ordinateurs répartis un peu partout qui font la même chose. en simplifiant, y'a un seul algo qui tourne chez tout le monde sur des données différentes.
- openssi et openmosix ca permet de faire un gros système virtuel multiprocesseur à partie de plusieurs systèmes physiquement uniprocesseurs (ou multiprocesseurs) : tu as la possibilité ensuite de faire voyager un processus vers un des noeuds pour qu'il s'y exécute, et i ly a load balancing pour que tous les noeuds bossent, mais tu ne fais voyager que des processus, pas des threads, et c'est très vite couteux niveau réseau (faut faire voyager l'environnement du processus avec), donc pas envisageable sur un réseau comme internet (imagine un système qui attend à chaque fois une à deux minutes dans le vent avant de te rendre la main quand un processus commence ou termine son exécution). et pareillement, si tu as une tâche qui ne spawne qu'un processus à la fois, un seul noeud de ta supermachine sera utilisé...
- ultramonkey et linuxvirtualserver, c'est une machine en front-end qui distribue le travail aux noeuds qui lui signalent leur présence. ca sert simplement à répartir un flot de requêtes entre plusieurs systèmes distincts.
en gros, quand le script est appelé pat hotplug au branchement du device, il lui passe une variable : $REMOVER
sinon, ce script sert juste de "contrôleur", le véritable boulot est effectué dans un scxript situé dans /etc/dynamic/scripts
ensuite, quand le périphérique est débranché, hotplug va voir si $REMOVER est un fichier exécutable, et si c'est le cas, il l'exécute, puis l'efface.
je crois que ceci est décrit dans http://linux-hotplug.sourceforge.net/(...) et sinon, tu peux regarder les autres scripts dans /etc/hotplug et /etc/dynamic pour t'en inspirer
Si vous n'étiez pas tous des fauchés, vous pourriez vous aussi faire tester vos tartines par le labo du Palace, afin d'être sûrs que vous n'utilisez que celles qui retombent du bon côté!
le plus simple, serait d'acheter un livre, tout simple, avec du papier, des mots... qui te servirait à apprendre les mécanismes de bases, et de guide de référence dans les premiers temps...
bien que la partie hardware de l'article soit très sympa, la partie software est un peu à la traîne : il utilise seulement mpi... donc à part du calcul distribué écrit en mpi, sa machine fait pas grand chose...
installer par exemple un openmosix dessus et faire quelques tests en plus aurait été intéressant à voir aussi, je pense...
ensuite deux remarques :
- le plexi, ca chauffe vite, et ca garde la chaleur longtemps...
tu ouvres un nouveau xterm, et tu tapes la commande tty, qui va te renvoyer le nom du terminal courant. (/dev/pts/4 par exemple)
ensuite, tu te connectes à ce terminal, au lieu de ttyS0, pour y envoyer tes données. elles apparaîtront normalement sur ce second xterm. la manip est aussi faisable avec une console non utilisée, /dev/tty9, par exemple... et Ctrl+Alt+9 te permettra de voir ce qui sort, à ce moment.
j'ai bien peur que si tu écris sur ttyS0 directement, il te faille regarder ce qui se passe de l'autre côté, avec un câble null modem et un minicom qui attend à l'autre bout, par exemple.
un truc qui m'aurait intéressé, moi, serait de savoir s'il est possible de brancher par exemple deux pppd ou deux minicom à un même device, et de les regarder communiquer...
- dans les anciennes versions, y'a un bug dans le matching de l'en-tête ppm, il suffit de virer le commentaire, si ton image ppm en contient un, et ca roule.
- l'image ppm doit utiliser unepalette de 16 couleurs maxi
- l'index 7 de la palette est la couleur d'avant plan du prompt (je la positionne ici à rouge : ff0000), et 0 est l'index d'arrière plan (ici en vert 00ff00).
- les couleurs que tu redéfinis comme dans ma commande peuvent faire partie de la palette de l'image ppm, ou pas. si elles font partie de la palette, ppmtolss16 réorganisera juste les index, sinon, si la palette + les couleurs que tu redéfinis sont plus de 16, il virera simplement les couleurs les moins utilisées, et t'avertira par un message (et il risque de produire un truc crade, selon la couleur qu'il donne aux pixels utilisant celle qu'il vient de virer)
NS3.NIC.fr has AAAA address 2001:660:3006:1::1:1
NS-EXT.VIX.COM has AAAA address 2001:4f8:0:2::13
deux serveurs sur 8 sont IPv6 compliant...
mais
"host -t AAAA NS3.NIC.fr. a.root-servers.net" et "host -t AAAA NS-EXT.VIX.COM a.root-servers.net" ne renvoie rien, contrairement aux même requêtes pour les serveurs japonais et coréens...
de toutes facons, tant qu'on a pas de root-server ipv6, on est obligé de garder la double pile (enfin, pas toi, mais ton provider)...
en gros, en mettant assez de zero dans l'adresse, ca devient plus trop dur à écrire...
[^] # Re: pivot_root ?
Posté par Alexandre Boeglin . En réponse au journal Changement dynamique de rootdevice (attention, c'est long !). Évalué à 2.
[^] # Re: initrd ?
Posté par Alexandre Boeglin . En réponse au journal Changement dynamique de rootdevice (attention, c'est long !). Évalué à 2.
la vrai question, dans tout ca, en fait, et à laquelle on n'a pas de réponse est :
Qu'est ce que est lent (quelle phase de l'initialisation), exactement? Qu'est ce qu'il essaie de rendre plus rapide?
[^] # Re: pivot_root ?
Posté par Alexandre Boeglin . En réponse au journal Changement dynamique de rootdevice (attention, c'est long !). Évalué à 3.
exec -a init.new /sbin/init 3'
Euh, t'es sur de ton coup, là?
c'est pas plutôt au kernel de spawner init tout seul, et de laisser init lire le runlevel dans /etc/inittab?
parce que là, en théorie, quand ton machin boot, exec remplace linuxrc par init, et en toute logique, si tu killes cet init, le noyau va voir que linuxrc est mort aussi et lancer son propre init par derrière, non?
enfin, ca m'intrigue, parce que les linuxrc que j'ai vu jusqu'à présent, ils s'arrêtent après le pivot_root, et ils rendent la main, laissant le noyau spawner init.
[^] # Re: chezmoicamarche.net
Posté par Alexandre Boeglin . En réponse au journal Changement dynamique de rootdevice (attention, c'est long !). Évalué à 2.
euh, le contraire, en fait...
# chezmoicamarche.net
Posté par Alexandre Boeglin . En réponse au journal Changement dynamique de rootdevice (attention, c'est long !). Évalué à 2.
Malheureusement, un sudo ls -l /proc/1/exe renvoie ceci:
lrwxrwxrwx 1 root root 0 2004-07-30 05:57 /proc/1/exe -> /disque/sbin/init
d'après ce que tu dis, il faudrait juste remplacer un lien :
for DIR in bin boot lib root sbin usr
do
ln -s /mnt/disque/"$DIR" /mnt/"$DIR"
done
[...]
pivot_root /mnt /mnt/initrd
par
for DIR in bin boot lib root sbin usr
do
if [ x$DIR = xsbin ] ; then
ln -s /cdrom/"$DIR" /mnt/"$DIR"
else
ln -s /disque/"$DIR" /mnt/"$DIR"
fi
done
[...]
pivot_root /mnt /mnt/initrd
comme ca au sortir du linuxrc, /sbin/init sera appelé à partir de /disque et pas de /cdrom
# mouais
Posté par Alexandre Boeglin . En réponse au journal Surtout évitez OVH !. Évalué à 7.
mais non, rassures-toi, ils ne sont pas perdus : c'est ton serveur MX de backup qui les récupère entre temps.
[^] # Re: Surtout...
Posté par Alexandre Boeglin . En réponse au journal PCs Carrefour avec Mandrakelinux préinstallé !!. Évalué à 3.
[^] # Re: Surtout...
Posté par Alexandre Boeglin . En réponse au journal PCs Carrefour avec Mandrakelinux préinstallé !!. Évalué à 7.
Unichrome, ca veut dire une seule couleur, non?
comme les écrans verts ou oranges sur les vieux terminaux?
ils vont pas en vendre des masses...
[^] # Re: Calcul partage...
Posté par Alexandre Boeglin . En réponse à la dépêche Sortie de la première version stable de OpenSSI. Évalué à 3.
pour ce que tu recherches à faire, openssi/openmosix sera performant uniquement si ton serveur/cluster fait tourner plusieurs processus en même temps. sinon, ca n'a aucun intérêt (en termes de performances, hein, pas de disponibilité).
et à ce moment là, si il est possible de faire bosser ensemble plusieurs serveurs indépendants, un http://www.linuxvirtualserver.org/(...) peut s'avérer suffisant pour répondre au besoin.
[^] # Re: différence avec Xgrid de apple
Posté par Alexandre Boeglin . En réponse à la dépêche Sortie de la première version stable de OpenSSI. Évalué à 4.
en gros, dans xgrid, un noeud recoit (demande, en général, plutôt) un binaire et des données via le réseau, puis il exécute le binaire sur les données. tous les noeuds sont indépendants...
dans un openssi/openmosix, il recoit un "processus", "un environement d'exécution" via le réseau, qui est plus à voir comme un bus entre tous les noeuds, une couche intermédiaire entre le hardware et le software qui s'occupe de balancer le software vers un hardware disponible.
[^] # Re: Calcul partage...
Posté par Alexandre Boeglin . En réponse à la dépêche Sortie de la première version stable de OpenSSI. Évalué à 10.
- les seti@home, folding@home et autre distributed.net ou décrypton, c'est je crois ce qu'on appelle du grid computing : pleins d'ordinateurs répartis un peu partout qui font la même chose. en simplifiant, y'a un seul algo qui tourne chez tout le monde sur des données différentes.
- openssi et openmosix ca permet de faire un gros système virtuel multiprocesseur à partie de plusieurs systèmes physiquement uniprocesseurs (ou multiprocesseurs) : tu as la possibilité ensuite de faire voyager un processus vers un des noeuds pour qu'il s'y exécute, et i ly a load balancing pour que tous les noeuds bossent, mais tu ne fais voyager que des processus, pas des threads, et c'est très vite couteux niveau réseau (faut faire voyager l'environnement du processus avec), donc pas envisageable sur un réseau comme internet (imagine un système qui attend à chaque fois une à deux minutes dans le vent avant de te rendre la main quand un processus commence ou termine son exécution). et pareillement, si tu as une tâche qui ne spawne qu'un processus à la fois, un seul noeud de ta supermachine sera utilisé...
- ultramonkey et linuxvirtualserver, c'est une machine en front-end qui distribue le travail aux noeuds qui lui signalent leur présence. ca sert simplement à répartir un flot de requêtes entre plusieurs systèmes distincts.
@++
# $REMOVER
Posté par Alexandre Boeglin . En réponse au message hotplug. Évalué à 3.
http://openbrick.org/cgi-bin/viewcvs.cgi/umigumi/custom/vpn/etc/hot(...)
en gros, quand le script est appelé pat hotplug au branchement du device, il lui passe une variable : $REMOVER
sinon, ce script sert juste de "contrôleur", le véritable boulot est effectué dans un scxript situé dans /etc/dynamic/scripts
ensuite, quand le périphérique est débranché, hotplug va voir si $REMOVER est un fichier exécutable, et si c'est le cas, il l'exécute, puis l'efface.
je crois que ceci est décrit dans http://linux-hotplug.sourceforge.net/(...) et sinon, tu peux regarder les autres scripts dans /etc/hotplug et /etc/dynamic pour t'en inspirer
@++
# en fait...
Posté par Alexandre Boeglin . En réponse au journal La tartine. Évalué à 2.
Les Palaces, on les aime aussi pour ca!
Allez, au revoir les pauvres!
[^] # Re: OpenSSI
Posté par Alexandre Boeglin . En réponse au journal Mainframe à partir de PC ?. Évalué à 2.
# old style
Posté par Alexandre Boeglin . En réponse au message Cherche/aide/programmation. Évalué à 2.
[^] # Re: mini-cluster
Posté par Alexandre Boeglin . En réponse au journal Mainframe à partir de PC ?. Évalué à 3.
installer par exemple un openmosix dessus et faire quelques tests en plus aurait été intéressant à voir aussi, je pense...
ensuite deux remarques :
- le plexi, ca chauffe vite, et ca garde la chaleur longtemps...
- y'a une vieille rumeur qui avait l'air très sympa à l'époque : le via c5p qui supporte le smp http://www.extremetech.com/article2/0,3973,1354088,00.asp(...)
[^] # Re: plus simple
Posté par Alexandre Boeglin . En réponse au message Port série et enregistrement. Évalué à 2.
d'abord premier terminal :
minicom -o -p /dev/ptyp0
puis deuxième terminal :
minicom -o -p /dev/ttyp0
nickel chrome
# plus simple
Posté par Alexandre Boeglin . En réponse au message Port série et enregistrement. Évalué à 2.
le plus simple serait ceci :
tu ouvres un nouveau xterm, et tu tapes la commande tty, qui va te renvoyer le nom du terminal courant. (/dev/pts/4 par exemple)
ensuite, tu te connectes à ce terminal, au lieu de ttyS0, pour y envoyer tes données. elles apparaîtront normalement sur ce second xterm. la manip est aussi faisable avec une console non utilisée, /dev/tty9, par exemple... et Ctrl+Alt+9 te permettra de voir ce qui sort, à ce moment.
j'ai bien peur que si tu écris sur ttyS0 directement, il te faille regarder ce qui se passe de l'autre côté, avec un câble null modem et un minicom qui attend à l'autre bout, par exemple.
un truc qui m'aurait intéressé, moi, serait de savoir s'il est possible de brancher par exemple deux pppd ou deux minicom à un même device, et de les regarder communiquer...
@++
# mouais...
Posté par Alexandre Boeglin . En réponse au message confilit avec mbr. Évalué à 2.
- config du bios
- quel bootloader?
- config du bootloader
- quand apparait le message exactement? message du bios? du bootloader?
...
# ppm
Posté par Alexandre Boeglin . En réponse au message splash.lss. Évalué à 2.
ppmtolss16 "7#ff0000" "0#00ff00" <image.ppm >image.lss
à noter :
- dans les anciennes versions, y'a un bug dans le matching de l'en-tête ppm, il suffit de virer le commentaire, si ton image ppm en contient un, et ca roule.
- l'image ppm doit utiliser unepalette de 16 couleurs maxi
- l'index 7 de la palette est la couleur d'avant plan du prompt (je la positionne ici à rouge : ff0000), et 0 est l'index d'arrière plan (ici en vert 00ff00).
- les couleurs que tu redéfinis comme dans ma commande peuvent faire partie de la palette de l'image ppm, ou pas. si elles font partie de la palette, ppmtolss16 réorganisera juste les index, sinon, si la palette + les couleurs que tu redéfinis sont plus de 16, il virera simplement les couleurs les moins utilisées, et t'avertira par un message (et il risque de produire un truc crade, selon la couleur qu'il donne aux pixels utilisant celle qu'il vient de virer)
@++
[^] # Re: une petite idée...
Posté par Alexandre Boeglin . En réponse au message mbr. Évalué à 3.
lilo -M device
grub --device-map=/dev/null
puis dans grub :
device (hd0) device
root (hd0,x)
setup (hd0)
quit
avec :
- device : le disque duquel tu veux remplir le mbr
- (hd0,x) : ta partition qui contient /boot/grub/stage{1,2}
@++
[^] # Re: On va bien s'amuser!!!!!
Posté par Alexandre Boeglin . En réponse à la dépêche L'ICANN valide IPv6. Évalué à 3.
host -t NS . | cut -d\ -f4 | xargs -n 1 host -t A renvoie les root servers
host -t NS . | cut -d\ -f4 | xargs -n 1 host -t AAAA renvoie rien
par contre :
"host -t NS fr a.root-servers.net | cut -d\ -f4 | xargs -n 1 host -t AAAA" renvoie :
NS3.NIC.fr has AAAA address 2001:660:3006:1::1:1
NS-EXT.VIX.COM has AAAA address 2001:4f8:0:2::13
deux serveurs sur 8 sont IPv6 compliant...
mais
"host -t AAAA NS3.NIC.fr. a.root-servers.net" et "host -t AAAA NS-EXT.VIX.COM a.root-servers.net" ne renvoie rien, contrairement aux même requêtes pour les serveurs japonais et coréens...
de toutes facons, tant qu'on a pas de root-server ipv6, on est obligé de garder la double pile (enfin, pas toi, mais ton provider)...
en gros, en mettant assez de zero dans l'adresse, ca devient plus trop dur à écrire...
[^] # Re: lsof
Posté par Alexandre Boeglin . En réponse au message Facilement savoir quel programme utilise quel(s) port(s) ?. Évalué à 4.
netstat est peut-être sufisant pour ce qu'il veut faire...
@++
[^] # Re: Traçage
Posté par Alexandre Boeglin . En réponse à la dépêche L'ICANN valide IPv6. Évalué à 2.
;)
@++
# netstat
Posté par Alexandre Boeglin . En réponse au message Facilement savoir quel programme utilise quel(s) port(s) ?. Évalué à 4.
man netstat
de rien :)