Loading make/squashfsroot.mk +2 −1 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ $(DL_DIR)/$(SQUASHFS_SOURCE): $(SQUASHFS_DIR): $(DL_DIR)/$(SQUASHFS_SOURCE) #$(SQUASHFS_PATCH) zcat $(DL_DIR)/$(SQUASHFS_SOURCE) | tar -C $(BUILD_DIR) -xvf - $(SOURCE_DIR)/patch-kernel.sh $(SQUASHFS_DIR) $(SOURCE_DIR) squashfs.patch $(SQUASHFS_DIR)/squashfs-tools/mksquashfs: $(SQUASHFS_DIR) $(MAKE) -C $(SQUASHFS_DIR)/squashfs-tools; Loading @@ -38,7 +39,7 @@ squashfsroot: squashfs @rm -rf $(TARGET_DIR)/usr/man @rm -rf $(TARGET_DIR)/usr/info #$(SQUASHFS_DIR)/squashfs-tools/mksquashfs -q -D $(SOURCE_DIR)/device_table.txt $(TARGET_DIR) $(IMAGE) $(SQUASHFS_DIR)/squashfs-tools/mksquashfs $(TARGET_DIR) $(IMAGE) -noappend $(SQUASHFS_DIR)/squashfs-tools/mksquashfs $(TARGET_DIR) $(IMAGE) -noappend -root-owned squashfsroot-source: squashfs-source Loading sources/squashfs.patch 0 → 100644 +36 −0 Original line number Diff line number Diff line This is a stupid little patch adding an option to change all uid/gid to root/root in the generated filesystem. We really need to teach mksquashfs about device tables though... --- squashfs1.3r3/squashfs-tools/mksquashfs.c-dist 2004-03-29 20:35:37.000000000 -0600 +++ squashfs1.3r3/squashfs-tools/mksquashfs.c 2004-03-29 22:28:51.000000000 -0600 @@ -136,6 +136,8 @@ stotal_bytes, stotal_inode_bytes, stotal_directory_bytes, sinode_count, sfile_count, ssym_count, sdev_count, sdir_count, sdup_files; int restore = 0; +unsigned int root_owned = 0; + /*flag whether destination file is a block device */ int block_device = 0; @@ -421,6 +423,11 @@ return SQUASHFS_INVALID; } + if (root_owned) { + buf.st_uid = 0; + buf.st_gid = 0; + } + base->mode = SQUASHFS_MODE(buf.st_mode); base->uid = get_uid(&file_type, (squashfs_uid) buf.st_uid); base->inode_type = file_type; @@ -1268,6 +1275,8 @@ root_name = argv[i]; } else if(strcmp(argv[i], "-version") == 0) { VERSION(); + } else if (strcmp(argv[i], "-root-owned") == 0) { + root_owned = TRUE; } else { ERROR("%s: invalid option\n\n", argv[0]); printOptions: Loading
make/squashfsroot.mk +2 −1 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ $(DL_DIR)/$(SQUASHFS_SOURCE): $(SQUASHFS_DIR): $(DL_DIR)/$(SQUASHFS_SOURCE) #$(SQUASHFS_PATCH) zcat $(DL_DIR)/$(SQUASHFS_SOURCE) | tar -C $(BUILD_DIR) -xvf - $(SOURCE_DIR)/patch-kernel.sh $(SQUASHFS_DIR) $(SOURCE_DIR) squashfs.patch $(SQUASHFS_DIR)/squashfs-tools/mksquashfs: $(SQUASHFS_DIR) $(MAKE) -C $(SQUASHFS_DIR)/squashfs-tools; Loading @@ -38,7 +39,7 @@ squashfsroot: squashfs @rm -rf $(TARGET_DIR)/usr/man @rm -rf $(TARGET_DIR)/usr/info #$(SQUASHFS_DIR)/squashfs-tools/mksquashfs -q -D $(SOURCE_DIR)/device_table.txt $(TARGET_DIR) $(IMAGE) $(SQUASHFS_DIR)/squashfs-tools/mksquashfs $(TARGET_DIR) $(IMAGE) -noappend $(SQUASHFS_DIR)/squashfs-tools/mksquashfs $(TARGET_DIR) $(IMAGE) -noappend -root-owned squashfsroot-source: squashfs-source Loading
sources/squashfs.patch 0 → 100644 +36 −0 Original line number Diff line number Diff line This is a stupid little patch adding an option to change all uid/gid to root/root in the generated filesystem. We really need to teach mksquashfs about device tables though... --- squashfs1.3r3/squashfs-tools/mksquashfs.c-dist 2004-03-29 20:35:37.000000000 -0600 +++ squashfs1.3r3/squashfs-tools/mksquashfs.c 2004-03-29 22:28:51.000000000 -0600 @@ -136,6 +136,8 @@ stotal_bytes, stotal_inode_bytes, stotal_directory_bytes, sinode_count, sfile_count, ssym_count, sdev_count, sdir_count, sdup_files; int restore = 0; +unsigned int root_owned = 0; + /*flag whether destination file is a block device */ int block_device = 0; @@ -421,6 +423,11 @@ return SQUASHFS_INVALID; } + if (root_owned) { + buf.st_uid = 0; + buf.st_gid = 0; + } + base->mode = SQUASHFS_MODE(buf.st_mode); base->uid = get_uid(&file_type, (squashfs_uid) buf.st_uid); base->inode_type = file_type; @@ -1268,6 +1275,8 @@ root_name = argv[i]; } else if(strcmp(argv[i], "-version") == 0) { VERSION(); + } else if (strcmp(argv[i], "-root-owned") == 0) { + root_owned = TRUE; } else { ERROR("%s: invalid option\n\n", argv[0]); printOptions: