Cambiar la linea de comandos de apex sin compilar ni reflash

Bootloaders y otras hierbas

Cambiar la linea de comandos de apex sin compilar ni reflash

Notapor qlfecv el 01 Feb 2007, 23:43

La forma mas elegante de hacer lo dicho es la siguiente:

Descarga te este programa apex-env

Y desde la linea de comandos podemos modificar los datos a nuestro gusto.

Cambiar la memoria disponible para el kernel:

Código: Seleccionar todo
nslu2:/public/utilidades/linux# ./apex-env
bootaddr *= 0x00008000
cmdline *= console=ttyS0,115200 rtc-x1205.probe=0,0x6f noirqdebug mem=124MB@0x0
fis-drv *= nor:0x7e0000+4k
startup *= copy -s fis://kernel 0x00008000;copy -s fis://ramdisk 0x01000000;wait 20 Type ^C key to cancel autoboot.;boot
nslu2:/public/utilidades/linux#


nslu2:/public/utilidades/linux# ./apex-env setenv cmdline "console=ttyS0,115200 rtc-x1205.probe=0,0x6f noirqdebug mem=128MB@0x0"
nslu2:/public/utilidades/linux#

nslu2:/public/utilidades/linux# ./apex-env
bootaddr *= 0x00008000
cmdline = console=ttyS0,115200 rtc-x1205.probe=0,0x6f noirqdebug mem=128MB@0x0
fis-drv *= nor:0x7e0000+4k
startup *= copy -s fis://kernel 0x00008000;copy -s fis://ramdisk 0x01000000;wait 20 Type ^C key to cancel autoboot.;boot
nslu2:/public/utilidades/linux#


Pero nos podemos encontrar si jugamos mucho con este mensaje:
Código: Seleccionar todo
nslu2:/public/utilidades/linux# ./apex-env setenv cmdline "console=ttyS0,115200 rtc-x1205.probe=0,0x6f noirqdebug mem=120MB@0x0"
error: unable to update corrupt environment
Try `apex-env --help' or `apex-env --usage' for more information.
nslu2:/public/utilidades/linux#


Aunque de entrada acojone, no pasa nada, haceis:

Código: Seleccionar todo
nslu2:/public/utilidades/linux# ./apex-env eraseenv


Que carga los valores que tiene precompilados el apex, y si luego repetimo:

Código: Seleccionar todo
nslu2:/public/utilidades/linux# ./apex-env setenv cmdline "console=ttyS0,115200 rtc-x1205.probe=0,0x6f noirqdebug mem=128MB@0x0"
nslu2:/public/utilidades/linux# ./apex-env     
bootaddr *= 0x00008000
cmdline = console=ttyS0,115200 rtc-x1205.probe=0,0x6f noirqdebug mem=128MB@0x0
fis-drv *= nor:0x7e0000+4k
startup *= copy -s fis://kernel 0x00008000;copy -s fis://ramdisk 0x01000000;wait 20 Type ^C key to cancel autoboot.;boot
nslu2:/public/utilidades/linux#


Todo perfecto ;)

En tehoria desde la consola y abortando la carga del apex de segundo nivel se podria hacer lo mismo, pero a mi no me ha funcionado y me he vuelto mico hasta que he arrancado y visto lo de los datos corruptos.

Seguramente si actualizaramos a la version 1.4.14 funcionaria bien, pero eso sera en otro momento.

Os pongo la prueba, que he cambiado la linea de comandos y el ha puesto lo que le ha dado la gana y encima me ha corrompido los datos.

Código: Seleccionar todo
APEX Boot Loader 1.4.7 -- Copyright (c) 2004,2005,2006 Marc Singer

APEX comes with ABSOLUTELY NO WARRANTY.  It is free software and you
are welcome to redistribute it under certain circumstances.
For details, refer to the file COPYING in the program source.

  apex => mem:0x00200000+0xa240   (41536 bytes)
  env  => nor:0x7c000+15k         (in-use)

Use the command 'help help' to get started.

# copy -s fis://kernel 0x00008000
1441760 bytes transferred
# copy -s fis://ramdisk 0x01000000
6291440 bytes transferred
# wait 20 Type ^C key to cancel autoboot.
Type ^C key to cancel autoboot.
apex> printenv
fis-drv *= nor:0x7e0000+4k
cmdline = console=ttyS0,115200 rtc-x1205.probe=0,0x6f noirqdebug mem=128MB@0x0
bootaddr *= 0x00008000
startup *= copy -s fis://kernel 0x00008000;copy -s fis://ramdisk 0x01000000;wait 20 Type ^C key to cancel autoboot.;boot
apex> setenv cmdline "console=ttyS0,115200 rtc-x1205.probe=0,0x6f noirqdebug mem=120MB@0x0"

apex> printenv
fis-drv *= nor:0x7e0000+4k
cmdline *= console=ttyS0,115200 rtc-x1205.probe=0,0x6f noirqdebug mem=124MB@0x0
bootaddr *= 0x00008000
startup *= copy -s fis://kernel 0x00008000;copy -s fis://ramdisk 0x01000000;wait 20 Type ^C key to cancel autoboot.;boot
apex>


Un saludo
Avatar de Usuario
qlfecv
Site Admin
 
Mensajes: 158
Registrado: 06 Dic 2006, 10:52

Volver a Modding

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron