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
