Mercurial > lcfOS
view cos/makeinitrd.py @ 38:a1c9c2158e99
Directory cleanup
author | windel |
---|---|
date | Fri, 03 Feb 2012 18:38:44 +0100 |
parents | 3a6a9b929db0 |
children |
line wrap: on
line source
#!/usr/bin/python # Script for generation of an initial ramdisk that contains # the first programs to run. import struct import sys if len(sys.argv) < 3: print('Usage: {0} output file1 [file2] ...'.format(sys.argv[0])) sys.exit(1) outputfilename = sys.argv[1] inputFileNames = sys.argv[2:] with open(outputfilename, 'wb') as outputFile: # Amount of files: outputFile.write(struct.pack('<I', 0x1337babe)) outputFile.write(struct.pack('<I', len(inputFileNames))) for inputFileName in inputFileNames: # Magic: outputFile.write(struct.pack('<I', 0xcafebabe)) # Filename: fn = inputFileName.encode('ascii') outputFile.write(struct.pack('<I', len(fn))) outputFile.write(fn) # Data: with open(inputFileName, 'rb') as inputFile: data = inputFile.read() outputFile.write(struct.pack('<I', len(data))) outputFile.write(data)