Use the EVA bootloader to load a small linux system into the ram and boot it from there: ./scripts/flashing/eva_ramboot.py 192.168.178.1 path/to/initramfs-kernel.bin Signed-off-by: Valentin Spreckels <Valentin.Spreckels@Informatik.Uni-Oldenburg.DE> Acked-by: John Crispin <john@phrozen.org> [reworded commit message] Signed-off-by: Mathias Kresin <dev@kresin.me>
		
			
				
	
	
		
			38 lines
		
	
	
		
			896 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			896 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/python
 | 
						|
 | 
						|
from ftplib import FTP
 | 
						|
from sys import argv
 | 
						|
from os import stat
 | 
						|
 | 
						|
assert len(argv) == 3
 | 
						|
ip = argv[1]
 | 
						|
image = argv[2]
 | 
						|
 | 
						|
size = stat(image).st_size
 | 
						|
# arbitrary size limit, to prevent the address calculations from overflows etc.
 | 
						|
assert size < 0x2000000
 | 
						|
 | 
						|
# We need to align the address. A page boundary seems to be sufficient on 7362sl
 | 
						|
# and 7412
 | 
						|
addr = ((0x8000000 - size) & ~0xfff)
 | 
						|
haddr = 0x80000000 + addr
 | 
						|
img = open(image, "rb")
 | 
						|
 | 
						|
ftp = FTP(ip, 'adam2', 'adam2')
 | 
						|
 | 
						|
def adam(cmd):
 | 
						|
	print("> %s"%(cmd))
 | 
						|
	resp = ftp.sendcmd(cmd)
 | 
						|
	print("< %s"%(resp))
 | 
						|
	assert resp[0:3] == "200"
 | 
						|
 | 
						|
ftp.set_pasv(True)
 | 
						|
# The following parameters allow booting the avm recovery system with this
 | 
						|
# script.
 | 
						|
adam('SETENV memsize 0x%08x'%(addr))
 | 
						|
adam('SETENV kernel_args_tmp mtdram1=0x%08x,0x88000000'%(haddr))
 | 
						|
adam('MEDIA SDRAM')
 | 
						|
ftp.storbinary('STOR 0x%08x 0x88000000'%(haddr), img)
 | 
						|
img.close()
 | 
						|
ftp.close()
 |