if (argc > 1 && !strcmp(argv[1],"--move")) {
if (ptr->offsets[1] >= ptr->len) {
printf("Partition already moved outside trx\n");
+#if 0
} else if (ptr->offsets[1] & 0x0001ffff) {
printf("Partition does not start on a block boundary\n");
+#endif
} else {
init_crc32();
- bzero((void *)((int)ptr + ptr->len), (size_t)(len - ptr->len));
+ //bzero((void *)((int)ptr + ptr->len), (size_t)(len - ptr->len));
ptr->len = ptr->offsets[1];
ptr->crc32 = crc32buf((void *) &(ptr->flag_version), ptr->len - offsetof(struct trx_header, flag_version));
msync(ptr,len,MS_SYNC|MS_INVALIDATE);
mtdEraseInfo.start < mtdInfo.size;
mtdEraseInfo.start += mtdInfo.erasesize) {
- if(ioctl(fd, MEMUNLOCK, &mtdEraseInfo)) {
- fprintf(stderr, "Could not unlock MTD device: %s\n", mtd);
- close(fd);
- exit(1);
- }
+ ioctl(fd, MEMUNLOCK, &mtdEraseInfo);
if(ioctl(fd, MEMERASE, &mtdEraseInfo)) {
fprintf(stderr, "Could not erase MTD device: %s\n", mtd);
close(fd);
OPENWRT_JFFS2ROOT_SOURCE=package/openwrt/jffs2root.c
OPENWRT_JFFS2ROOT_TARGET_BINARY:=sbin/jffs2root
-$(TARGET_DIR)/$(OPENWRT_JFFS2ROOT_TARGET_BINARY):
+$(TARGET_DIR)/$(OPENWRT_JFFS2ROOT_TARGET_BINARY): openwrt
$(TARGET_CC) -o $(TARGET_DIR)/$(OPENWRT_JFFS2ROOT_TARGET_BINARY) $(OPENWRT_JFFS2ROOT_SOURCE)
openwrt-jffs2root: $(TARGET_DIR)/$(OPENWRT_JFFS2ROOT_TARGET_BINARY)
linksys: linksys-shared linksys-nvram linksys-wlconf
-openwrt: linksys openwrt-mtd openwrt-trx openwrt-addpattern openwrt-jffs2root openwrt-sstrip
+openwrt: linksys openwrt-mtd openwrt-trx openwrt-addpattern openwrt-sstrip
openwrt-dirclean: linksys-shared-dirclean linksys-nvram-dirclean linksys-wlconf-dirclean
while :; do { echo $(((X=(X+1)%8)%2)) > /proc/sys/diag; sleep $((X==0)); } done &
else
mount | grep jffs2 >&-
- if [ $? = 0 ] && [ $(cat /proc/mtd | wc -l) = 6 ] ; then
- jffs2root --move && reboot
+ if [ $? = 0 ] ; then
+ mtd unlock rootfs
+ [ $(cat /proc/mtd | wc -l) = 6 ] && {
+ echo 5 > /proc/sys/diag
+ mtd unlock OpenWrt
+ mtd erase OpenWrt
+ jffs2root --move
+ }
+ mount -o remount,rw /dev/root /
else
mtd unlock mtd4
mount -t jffs2 /dev/mtdblock/4 /jffs
rm -rf $(MTD_DIR)
ifeq ($(strip $(BR2_TARGET_ROOTFS_JFFS2)),y)
-TARGETS+=openwrt-image
+TARGETS+=openwrt-jffs2root openwrt-image
ROOTFS=jffs2
JFFS2FLAGS=-a $(JFFS2_BLOCK_SIZE)
-openwrt-image: openwrt
+openwrt-image: openwrt
@make jffs2root openwrt-code.bin TAG=W54G \
EXTRAVERSION=$(EXTRAVERSION)-JFFS2-4M JFFS2_BLOCK_SIZE=0x10000
@make jffs2root openwrt-code.bin TAG=W54S \