Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # pack extracted root to CPIO file
- cd extracted_root
- #pax -w -x sv4cpio -s '>^\.>>' . > ../working_dir/new_main_container_filesystem.cpio # Kernel panic - not syncing: junk in compressed archive
- #find . | awk 'length($0) > 2' | cpio --reproducible --quiet -R 0:0 -o -H newc > ../working_dir/new_main_container_filesystem.cpio # junk in compressed archive
- #find . | cpio -oLv > ../working_dir/new_main_container_filesystem.cpio # no CPIO magic
- #find . | cpio -oLv -H newc > ../working_dir/new_main_container_filesystem.cpio # not syncing: XZ-compressed data is corrupt
- #pax -w -x cpio -s '~^[/]*~~' . > ../working_dir/new_main_container_filesystem.cpio #incorrect cpio method used: use -H newc option
- #pax -w -x sv4cpio -s '~^[/]*~~' . > ../working_dir/new_main_container_filesystem.cpio # junk in compressed archive
- #find . | cpio -o -H newc > ../working_dir/new_main_container_filesystem.cpio # Kernel panic - not syncing: junk in compressed archive
- #pax -w -x sv4cpio . > ../working_dir/new_main_container_filesystem.cpio #not syncing: junk in compressed archive
- #find . | awk 'length($0) > 2' | cpio -o --device-independent -H newc > ../working_dir/new_main_container_filesystem.cpio #Kernel panic - not syncing: junk in compressed archive
- #find . | awk 'length($0) > 2' | cpio -ov -H newc > ../working_dir/new_main_container_filesystem.cpio # Kernel panic - not syncing: junk in compressed archive
- #find . | awk 'length($0) > 2' | cpio -ov -H newc -0 > ../working_dir/new_main_container_filesystem.cpio # Kernel panic - not syncing: junk in compressed archive
- #find . | awk 'length($0) > 2' | cpio -o -c > ../working_dir/new_main_container_filesystem.cpio # Kernel panic - not syncing: incorrect cpio method used: use -H newc option
- #find . | cpio -H newc -o > ../working_dir/new_main_container_filesystem.cpio # Kernel panic - not syncing: junk in compressed archive
- #find . -print -depth | awk 'length($0) > 1' | cpio -o -H newc > ../working_dir/new_main_container_filesystem.cpio # Kernel panic - not syncing: junk in compressed archive
- #find . | cpio -H newc -o -B > ../working_dir/new_main_container_filesystem.cpio
- #find . -print0 | cpio --null -ov --format=newc --device-independent --ignore-devno --swap > ../working_dir/new_main_container_filesystem.cpio
- find . | cpio -o --format=newc --device-independent --ignore-devno > ../working_dir/new_main_container_filesystem.cpio
- cd ..
- # ERROR IS IN PACKING TO CPIO
- # just workaround to test pakcing
- #cp working_dir/main_container_filesystem working_dir/new_main_container_filesystem.cpio
- # compress CPIO to XZ file
- cd working_dir/
- xz --compress --check=crc32 --lzma2=dict=1024KiB --keep new_main_container_filesystem.cpio
- mv new_main_container_filesystem.cpio.xz new_main_container_filesystem.xz
- cd ..
- # create merged container
- cat working_dir/main_container_header.bin working_dir/new_main_container_filesystem.xz > working_dir/new_main_container_extracted.bin
- # pack container using LZMA
- lzma --compress --keep working_dir/new_main_container_extracted.bin
- mv working_dir/new_main_container_extracted.bin.lzma working_dir/new_main_container.lzma
- # create uImage header
- mkimage -A MIPS -O linux -T kernel -C lzma -a 0x80000000 -e 0x8000C150 -n "Linux Kernel Image" -d working_dir/new_main_container.lzma working_dir/new_uimage_with_lzma.bin
- # merge bootloader, uImage header and firmware
- cat working_dir/u-boot.bin working_dir/new_uimage_with_lzma.bin > working_dir/tmp_merged_firmware.bin
- # create final flash file with padding
- dd if=/dev/zero ibs=1k count=4096 | tr "\000" "\377" > new_firmware.bin
- dd if=working_dir/tmp_merged_firmware.bin of=new_firmware.bin conv=notrunc
- # clean up
- rm working_dir/tmp_merged_firmware.bin
- cp new_firmware.bin /home/archont/new_firmware.bin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement