Bootando o Fedora do pendrive com um disco de boot: quase lá…

Vocês já devem ter ouvido falar no live-usb-creator, um programinha que instala o Fedora em um pendrive. Sim, eu também acho muito legal esse negócio de levar o Fedora para lá e para cá, mas tem um problema: muitos computadores não bootam o pendrive. O meu, mesmo, não boota. E aí, o que fazer?

Eu já tive o Puppy Linux instalado no meu pendrive, e ele bootava em qualquer lugar graças a um disquete engenhoso chamado “WakePup”. Criado por pakt, um membro do fórum do Puppy, o WakePup é um disco de boot que usa o FreeDOS para habilitar o suporte a USB. Aí ele procura no Pendrive a imagem do Puppy e boota. Assim, se o PC boota pelo disquete, provavelmente vai bootar pelo pendrive. Eu disse provavelmente porque há exceções, mas eu, pelo menos, nunca tive problemas.

Decidi adaptar o bichinho para bootar o Fedora instalado no meu pendrive, e estou quase conseguindo… o pendrive boota, mas dá um erro. Bom, vou explicar como a coisa funciona, de repente vocês me ajudam.

Antes de mais nada, quem quiser baixar o wakepup original para brincar a partir dele vai encontrá-lo aqui: http://www.murga-linux.com/puppy/viewtopic.php?t=7979

Além de fazer o disquete, é preciso copiar para o raiz do pendrive o arquivo USBFLASH, que está no disquete. Esse arquivo é o “link” que vai fazer o wakepup achar o dispositivo em que está instalado o Puppy (ou, no nosso caso, o Fedora).

O WakePup tem um arquivo AUTOEXEC.BAT assim:

@echo off
rem wakepup2 0.2 (C) 2006, Paul Akterstam ('pakt' on Puppy Linux Forum)
rem Boot diskette for Puppy 2.xx series. For Puppy 1.xx series, use wakepup
rem This version for IDE/USB drives (built-in or external CD-ROM, HD and flash)
rem Inspired by Barry Kauler's BOOT2PUP (http://www.puppyos.com)
rem Except for the drivers, uses only GPL'd software or freeware
rem Requires FreeDOS & FreeCOM

rem This program is distributed in the hope that it will be useful, but
rem WITHOUT ANY WARRANTY; without even the implied warranty of
rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
rem General Public License for more details.

rem The GNU General Public License is available from http://www.fsf.org/
rem or, write to the Free Software Foundation, Inc., 59 Temple Place,
rem Suite 330, Boston, MA 02111 USA

echo.
echo *** wakepup2 0.2 by pakt - Boot Puppy2 Linux from IDE/USB drives ***
rem Pause here so USB driver messages can be read...
echo Pausing for driver messages. Press any key to continue or Ctrl-C to abort...
pause >NUL

rem Init
cls
set drv=

rem Using SHSUCDX.COM 3.03, a freeware replacement for MSCDEX.EXE
rem Assign 1st IDE-CD to drive X:, 2nd (if found) to drive Y: and USB-CD to drive Z:
driver\SHSUCDX /D:?IDE-CD,X,,2 /d:?USB-CD,Z,,1 /QQ

echo Checking any IDE drive for marker file IDEHD...
for %%x in ( C D E F G H I J K L M N O P Q R S T U V W ) do if exist %%x:\idehd set drv=%%x:
if "%drv%"=="" goto try_usbhd
set media=idehd
goto optmenu

:try_usbhd
echo.
echo Checking any USB drive for marker file USBHD...
for %%x in ( C D E F G H I J K L M N O P Q R S T U V W ) do if exist %%x:\usbhd set drv=%%x:
if "%drv%"=="" goto try_usbflash
set media=usbhd
goto optmenu

:try_usbflash
echo.
echo Checking any USB drive for marker file USBFLASH...
for %%x in ( C D E F G H I J K L M N O P Q R S T U V W ) do if exist %%x:\usbflash set drv=%%x:
if "%drv%"=="" goto try_cd
set media=usbflash
goto optmenu

:try_cd
echo.
echo Checking IDE or USB CD-ROM drive for file INITRD.GZ...
for %%x in ( X Y Z ) do if exist %%x:\initrd.gz set drv=%%x:
if "%drv%"=="" goto failed
if "%drv%"=="X:" set media=idecd
if "%drv%"=="Y:" set media=idecd
if "%drv%"=="Z:" set media=usbcd

:o ptmenu
echo ...file found on %media%, drive %drv%
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º Select Puppy2 boot option º
echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
echo º º
echo º 1. acpi=on Default for newer PCs (made 2002 or later) º
echo º º
echo º 2. acpi=off For older PCs, or use if acpi=on causes problems º
echo º º
echo º 3. acpi=force Needed to force acpi=on on older PCs º
echo º º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍŒ
echo.
choice /C:123 Please choose :
if "%errorlevel%"=="1" set acpi=acpi=on
if "%errorlevel%"=="2" set acpi=acpi=off
if "%errorlevel%"=="3" set acpi=acpi=force

set append=root=/dev/ram0 PMEDIA=%media% %acpi%
echo.
LINLD.COM image=%drv%\vmlinuz initrd=%drv%\initrd.gz "cl=%append%"
goto end

:failed
echo.
type FAILMSG.TXT

:end

Para fazer o Fedora bootar alterei uma das últimas linhas, essa do LINLD.COM. Ela ficou assim:


LINLD.COM image=%drv%\SYSLINUX\VMLINUZ0 initrd=%drv%\SYSLINUX\INITRD0.IMG "cl=%append%"

Isso boota a imagem do pendrive, mas depois de várias mensagens de inicialização ele acusa:


Bug in initramfs /init detected. Dropping to a shell. Good luck!

Raios, foi por poucos. Será que minha instalação é que está corrompida?

Deixe uma resposta