{"id":4127,"date":"2015-08-02T11:31:56","date_gmt":"2015-08-02T14:31:56","guid":{"rendered":"https:\/\/www.viazap.com.br\/?p=4127"},"modified":"2015-07-29T11:33:54","modified_gmt":"2015-07-29T14:33:54","slug":"entendendo-o-boot-update","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=4127","title":{"rendered":"ENTENDENDO O BOOT-UPDATE"},"content":{"rendered":"<h1>ARTIGO<\/h1>\n<p>&nbsp;<\/p>\n<div>Durante a instala\u00e7\u00e3o da distribui\u00e7\u00e3o <em>Funtoo<\/em>, o usu\u00e1rio instala o pacote <em>boot-update<\/em>, que instala o <em>GRUB<\/em> junto. Tudo segue normal e sem problemas. As d\u00favidas sobre o boot-update podem surgir quando o usu\u00e1rio faz dual boot.<\/p>\n<p>Primeiramente, o arquivo <em>\/etc\/boot.cfg<\/em> \u00e9 o arquivo de configura\u00e7\u00e3o do boot-update. \u00c9 esse \u00fanico arquivo que precisa ser editado para gerenciar a inicializa\u00e7\u00e3o de todos os sistemas instalados no HD. Isso \u00e9 muito pr\u00e1tico, pois tudo o que precisa ser alterado fica nesse arquivo de forma organizada. N\u00e3o h\u00e1 dor de cabe\u00e7a.<br \/>\n<!--more--><br \/>\nAqui est\u00e1 um exemplo do meu boot.cfg atualmente:<\/p>\n<div class=\"codigo\">boot {<br \/>\ngenerate grub<br \/>\ndefault &#8220;Funtoo <a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">Linux<\/a>&#8221;<br \/>\ntimeout 3<br \/>\n}<\/p>\n<p>&#8220;Funtoo Linux&#8221; {<br \/>\nkernel kernel[-v]<br \/>\ninitrd initramfs[-v]<br \/>\nparams += real_root=auto rootfstype=auto<br \/>\n}<\/p>\n<p>&#8220;Linux Arch Linux&#8221; {<br \/>\nscan \/mnt\/arch\/boot<br \/>\nkernel vmlinuz-linux<br \/>\ninitrd initramfs-linux.img<br \/>\nparams root=\/dev\/sda1<br \/>\n}<\/p><\/div>\n<p>A primeira entrada, no caso &#8220;boot&#8221;, \u00e9 criada automaticamente pelo boot-update e diz qual \u00e9 o sistema padr\u00e3o (default) do GRUB. Perceba que ele aponta para &#8220;Funtoo Linux&#8221;, descrito logo abaixo.<\/p>\n<p>\u00c9 poss\u00edvel termos v\u00e1rias distribui\u00e7\u00f5es Linux, listadas abaixo, mas \u00e9 necess\u00e1rio que seja especificado qual ser\u00e1 a entrada padr\u00e3o.<\/p>\n<p>Dentro de cada entrada, como essa do boot, h\u00e1 uma s\u00e9rie de par\u00e2metros configur\u00e1veis. Quando esses par\u00e2metros n\u00e3o s\u00e3o especificados, s\u00e3o usados os valores padr\u00f5es.<\/p>\n<p>Por exemplo, o valor do timeout est\u00e1 especificado para 3 no meu boot.cfg. Ou seja, tr\u00eas segundos de espera na tela do GRUB. Se eu remover o par\u00e2metro &#8220;timeout&#8221; daquela entrada, o tempo de espera ser\u00e1, automaticamente, o valor padr\u00e3o (cinco segundos).<\/p>\n<p>Para ver todos os par\u00e2metros e seus valores padr\u00f5es use o comando:<\/p>\n<p><strong># boot-update &#8211;showdefaults<\/strong><\/p>\n<p>Os principais par\u00e2metros s\u00e3o: type, kernel, initrd e params.<\/p>\n<p>O par\u00e2metro &#8220;type&#8221;, quando n\u00e3o especificado, usa como &#8220;default&#8221; o valor &#8220;linux&#8221;. Por isso n\u00e3o precisa us\u00e1-lo se seu HD s\u00f3 tem Linux. Mas \u00e9 necess\u00e1rio se for fazer dual boot com Windows.<\/p>\n<p>O par\u00e2metro &#8220;kernel&#8221; especifica o nome da imagem compactada do kernel, ap\u00f3s a compila\u00e7\u00e3o. Normalmente o nome \u00e9 bzImage (se for compactado com bzip2) e costuma ser copiada como vmlinuz.<\/p>\n<p>Mas tamb\u00e9m pode ter o nome &#8220;kernel + vers\u00e3o&#8221;. No meu caso, essa imagem est\u00e1 nomeada como &#8221; kernel-debian-sources-x86_64-3.19.3-1~exp1&#8243;. Sim, estou usando o kernel do Debian por comodidade. N\u00e3o preciso colocar o nome inteiro, basta colocar &#8220;kernel[-v]&#8221; para pegar a vers\u00e3o.<\/p>\n<p>O uso do [-v] vai &#8220;pegar&#8221; ou &#8220;casar com&#8221; qualquer kernel que tenha o nome &#8220;kernel&#8221; seguido de algo. Isso \u00e9 poss\u00edvel gra\u00e7as ao uso dos caracteres curinga. Para mais informa\u00e7\u00f5es, veja:<\/p>\n<ul>\n<li><a href=\"https:\/\/pt.wikipedia.org\/wiki\/Glob_%28programa%C3%A7%C3%A3o%29\" target=\"_blank\" rel=\"nofollow\">glob (programa\u00e7\u00e3o) &#8211; Wikip\u00e9dia, a enciclop\u00e9dia livre<\/a><\/li>\n<\/ul>\n<p>N\u00e3o \u00e9 obrigat\u00f3rio usar caracteres curinga. Sempre pode-se usar o nome completo da imagem compactada do kernel.<\/p>\n<p>Tamb\u00e9m \u00e9 poss\u00edvel usar mais de um nome, por exemplo, para termos v\u00e1rias op\u00e7\u00f5es de kerneis:<\/p>\n<div class=\"codigo\">kernel vmlinuz-linux vmlinuz-linux-2<\/div>\n<p>Isso criar\u00e1 DUAS entradas no GRUB. Uma para &#8220;vmlinuz-linux&#8221; e outra para &#8220;vmlinuz-linux-2&#8221;. Dois kerneis diferentes na mesma distribui\u00e7\u00e3o.<\/p>\n<p>O par\u00e2metro initrd (initial ramdisk) tamb\u00e9m precisa ser especificado para que o sistema escolhido no GRUB seja iniciado. A forma de fazer isso \u00e9 quase id\u00eantica ao do par\u00e2metro &#8220;kernel&#8221;. H\u00e1 duas diferen\u00e7as.<\/p>\n<ul>\n<li>Primeira diferen\u00e7a \u00e9 que s\u00f3 h\u00e1 a op\u00e7\u00e3o de usar &#8220;[-v]&#8221; se for usar caracteres curinga.<\/li>\n<li>Segunda diferen\u00e7a \u00e9 que pode-se usar &#8220;+=&#8221; para adicionar mais de uma entrada.<\/li>\n<\/ul>\n<p>Por exemplo, tanto faz usar:<\/p>\n<div class=\"codigo\">initrd initramfs-1.igz initramfs-2.igz<\/div>\n<p>Como tamb\u00e9m:<\/p>\n<div class=\"codigo\">initrd initramfs-1.igz<br \/>\ninitrd += initramfs-2.igz<\/div>\n<p>O par\u00e2metro &#8220;params&#8221; \u00e9 usado para adicionar uma s\u00e9rie de par\u00e2metros no comando da inicializa\u00e7\u00e3o do kernel. Exemplo:<\/p>\n<div class=\"codigo\">params += quiet<\/div>\n<p>Para ver todos os par\u00e2metros, acesse:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.kernel.org\/doc\/Documentation\/kernel-parameters.txt\" target=\"_blank\" rel=\"nofollow\">https:\/\/www.kernel.org\/doc\/Documentation\/kernel-parameters.txt<\/a><\/li>\n<\/ul>\n<h1>DUAL BOOT COM GNU\/LINUX E WINDOWS<\/h1>\n<p>Para fazer dual boot com outra distribui\u00e7\u00e3o Linux \u00e9 necess\u00e1rio montar a parti\u00e7\u00e3o do outro Linux primeiro. Se voc\u00ea especificar isso no fstab do Funtoo fica mais f\u00e1cil j\u00e1 que vai montar durante o boot. Exemplo no meu fstab:<\/p>\n<div class=\"codigo\">\/dev\/sda1\u00a0\u00a0 \/mnt\/arch\u00a0\u00a0 ext4\u00a0\u00a0 noatime\u00a0\u00a0 0 1<\/div>\n<p>Depois disso basta editar o &#8220;boot.conf&#8221; e acrescentar:<\/p>\n<div class=\"codigo\">&#8220;Outra distribui\u00e7\u00e3o Linux&#8221; {<br \/>\nscan &lt;diret\u00f3rio de boot&gt;<br \/>\nkernel &lt;nome da imagem do kernel&gt;<br \/>\ninitrd &lt;nome da imagem initrd ou initramfs&gt;<br \/>\nparams root=&lt;parti\u00e7\u00e3o do sistema&gt;<br \/>\n}<\/div>\n<p>No meu caso, com <em>Arch Linux<\/em> em <em>\/dev\/sda1<\/em>, montado em <em>\/mnt\/arch<\/em>, ficou:<\/p>\n<div class=\"codigo\">&#8220;Linux Arch Linux&#8221; {<br \/>\nscan \/mnt\/arch\/boot<br \/>\nkernel vmlinuz-linux<br \/>\ninitrd initramfs-linux.img<br \/>\nparams root=\/dev\/sda1<br \/>\n}<\/div>\n<p>Para dual boot com Windows, use, por exemplo:<\/p>\n<div class=\"codigo\">&#8220;Windows 7&#8221; {<br \/>\ntype win7<br \/>\nparams root=\/dev\/sda6<br \/>\n}<\/div>\n<p>Troque o &#8220;win7&#8221; por &#8220;win8&#8221; ou &#8220;winxp&#8221; se for o caso.<\/p>\n<p>Ap\u00f3s gravar o GRUB na MBR com &#8220;<strong>grub-install<\/strong>&#8220;, editar o arquivo &#8220;boot.conf&#8221;, pode executar o comando &#8220;<strong>boot-update<\/strong>&#8221; para salvar as modifica\u00e7\u00f5es no GRUB.<\/p>\n<p>O resultado ser\u00e1 algo assim:<\/p>\n<p><samp>boot-update 1.7.2 \/<br \/>\nCopyright 2009-2015 Funtoo Technologies<\/p>\n<p>[use option &#8220;-l&#8221; for license info, &#8220;-h&#8221; for help]<\/p>\n<p>* Generating config for grub&#8230;<\/p>\n<p>DEFAULT &gt; Funtoo Linux &#8211; kernel-debian-sources-x86_64-3.19.3-1~exp1<br \/>\nLinux Arch Linux &#8211; vmlinuz-linux<br \/>\n* NOTE : Detected MBR boot. Configuring for Legacy MBR booting.<br \/>\n* Completed successfully. <\/samp><\/p>\n<p>Reinicie o sistema e seja feliz.<\/p>\n<p>Para mais informa\u00e7\u00f5es:<\/p>\n<p><strong>$ man boot.conf<\/strong><br \/>\n<strong>$ man boot-update<\/strong><\/div>\n","protected":false},"excerpt":{"rendered":"<p>ARTIGO &nbsp; Durante a instala\u00e7\u00e3o da distribui\u00e7\u00e3o Funtoo, o usu\u00e1rio instala o pacote boot-update, que instala o GRUB junto. Tudo segue normal e sem problemas. As d\u00favidas sobre o boot-update podem surgir quando o usu\u00e1rio faz dual boot. Primeiramente, o arquivo \/etc\/boot.cfg \u00e9 o arquivo de configura\u00e7\u00e3o do boot-update. \u00c9 esse \u00fanico arquivo que precisa [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[730,1,42,51],"tags":[961,960,698],"class_list":["post-4127","post","type-post","status-publish","format-standard","hentry","category-clusterweb","category-viazap","category-leitura-recomendada","category-linux-linuxrs","tag-boot-update","tag-entendendo","tag-o"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4127"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4127\/revisions"}],"predecessor-version":[{"id":4128,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/4127\/revisions\/4128"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}