Jacek Kryszyn [Wed, 20 Sep 2023 14:26:32 +0000 (16:26 +0200)]
parse-dynparts: Upgrade to OpenSSL3 API
Changed calls to OpenSSL API to use OpenSSL3 style functions with
proper error handling. Suppressed warnings about strncpy which is
used in a liblp library for copying bytes between char arrays
which don't have to be terminated with NUL
Change-Id: Ifb4c1e10ae39fbf03f7bd9a4087b631884fcddc0
Jacek Kryszyn [Mon, 28 Aug 2023 10:10:05 +0000 (12:10 +0200)]
Map rootfs and hal from super
init script modified to search for super partition and map rootfs
and hal if super found.
Change-Id: I4bf7ca6df17ba1035d770467ef5eab5443a6a638
Jacek Kryszyn [Thu, 10 Aug 2023 12:30:46 +0000 (14:30 +0200)]
Build package with parse-dynparts
Modified files required to build package with parse-dynparts
binary needed for mounting dm-linear partitions.
Change-Id: I9519d01a445cfc1665a3664e325a834df8550b0b
Jacek Kryszyn [Mon, 7 Aug 2023 11:26:44 +0000 (13:26 +0200)]
Import parse-dynparts
The project allows to read metadata of a super partition and mount partitions
stored on the super partition using dm-linear. Will be used to implement
the super partition with hal/rootfs dm-linear partitions.
Project url: https://github.com/tchebb/parse-android-dynparts. Imported from
master branch (commit c8837c1). Project imorted exactly as it is on GitHub -
no changes to any file/directory were made. This is a pure import.
Change-Id: I317310e68e52fd1f657ec8c9b5c1ee58398ad84a
Karol Lewandowski [Wed, 19 Jul 2023 22:53:19 +0000 (00:53 +0200)]
Switch to openssl3 to provide /usr/bin/openssl
Change-Id: I45796bfceba5a45a4908505232de68c27e09c703
Marek Pikuła [Mon, 24 Oct 2022 12:38:06 +0000 (14:38 +0200)]
riscv64: Add support for riscv64
Change-Id: Ie072a3d84d8afb43811cd4ad39b575cdeb08608f
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Seung-Woo Kim [Wed, 14 Sep 2022 07:21:39 +0000 (16:21 +0900)]
packaging: For asan, change list file path to /initrd
For asan, in rpm spec, change list file path to /initrd instead
of %{_libdir}/initrd as like other list files. This fixes asan
initrd creation failure.
Change-Id: Ib739d4c236bd115a2781cf74e3a3562d6520d865
Fixes:
5dc810b14e1d ("Modify root directory of initrd")
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
SangYoun Kwak [Mon, 29 Aug 2022 08:26:41 +0000 (17:26 +0900)]
Support emulator in initrd-wrapper package
Change-Id: I9cee65dc9976f2d8f737376631843769b28f92a5
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Thu, 18 Aug 2022 08:33:46 +0000 (17:33 +0900)]
Add close function to verityctl
Change-Id: I21720370ce7a6579812dc3120ec0dcbc9f470868
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Wed, 3 Aug 2022 06:00:44 +0000 (15:00 +0900)]
Add reboot binary to reboot when dm-verity fails
Change-Id: I09aac2aaedd190a0aab058b638e3cac0acc3f960
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Wed, 3 Aug 2022 05:10:12 +0000 (14:10 +0900)]
Fix path of lists
Change-Id: I8db1f65f5baa8e55aa1e3114c5acedefc7e55557
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Tue, 2 Aug 2022 08:40:38 +0000 (17:40 +0900)]
Modify root directory of initrd
Change-Id: I36f489cd15ff59ec5b9b828371a87640e1e789b0
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
Hyotaek Shim [Tue, 2 Aug 2022 08:08:39 +0000 (17:08 +0900)]
Relicense initrd package as MIT to prevent license conflict issues
For example, libcryptsetup is based on GPL-2.0+/LGPL-2.1+.
Change-Id: I13f2d91eac9c9f52703900ddfc074a8adb730635
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
SangYoun Kwak [Thu, 28 Jul 2022 08:10:36 +0000 (17:10 +0900)]
Add to check the return value of verity script
Change-Id: I6294c37196e427cebd1c02c914035b11f8eb0b24
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Thu, 28 Jul 2022 06:12:59 +0000 (15:12 +0900)]
Add openssl to verity-tools package
Change-Id: I2c7c27052d45ac7c616897b48bba52ddee24d747
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
Karol Lewandowski [Fri, 22 Jul 2022 14:54:23 +0000 (16:54 +0200)]
init: Do not perform fsck on rootfs and halfs unless when we are doing resize
Running fsck on the filesystems will cause partition to be modified, and,
consequently it will break possibility of doing DELTA_IMAGE-based upgrade.
This is because the upgrade type verifies the checksum of the partition
before doing upgrade - after fsck it is simply not matching anymore.
Change-Id: If0f56db7895983dbba41a773329d05a2eb1f2675
SangYoun Kwak [Wed, 20 Jul 2022 05:05:21 +0000 (14:05 +0900)]
Add public key (secure-boot-public-key.pem)
Change-Id: Ib6f7991772022a8a7fb9271855459faa059ddb2b
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
Hyotaek Shim [Tue, 19 Jul 2022 05:11:23 +0000 (14:11 +0900)]
Do not install verity-tools by default, considering 8MB-ramdisk targets
Change-Id: I2701e734af2a3395f7c8198e61af7b38a46f81ad
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Hyotaek Shim [Tue, 19 Jul 2022 04:49:49 +0000 (13:49 +0900)]
Rename veritytool package to verity-tools
Change-Id: Id6f7068d58af89cf6ce0f8ae81aba631bc0b9c52
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
SangYoun Kwak [Fri, 15 Jul 2022 05:56:43 +0000 (14:56 +0900)]
Modify script path declaration and copy statements
Change-Id: If9e721f4d82dc633f1c80cd34279a6c640330961
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Fri, 15 Jul 2022 01:48:25 +0000 (10:48 +0900)]
Modify scripts to verify and add verifying script
Change-Id: Ia14c0564d6bea295151a1c918d75214cf12fd64c
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Fri, 8 Jul 2022 11:12:49 +0000 (20:12 +0900)]
Fix to find module_a or module_b instead of modules_a or modules_b
Change-Id: I571c5e089f05400b3ca23201e6ec4fb7d23b434c
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
Seung-Woo Kim [Wed, 29 Jun 2022 06:26:23 +0000 (15:26 +0900)]
For asan, copy asan-runtime-env and libasan files into ramdisk
In asan environment, there should be asan-runtime-env and libasan,
but ramdisk mkinitrd.sh does not copy the files. For asan, copy
required files into ramdisk.
Change-Id: Ic7fe94312e9e8193eb786b95f9b35d4c66ab98e8
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Wed, 29 Jun 2022 06:08:42 +0000 (15:08 +0900)]
postscript: Add verbatims object for not elf files
For files in PROGS or WITHSLIBS, it copies with dependent
libraries for elf file, but for non elf file, finding dependency
causes mic warning logs. Add verbatims object for non elf files
as like initrd-recovery.
This removes below mic warning messages:
INFO - /etc/blkid.conf: error while loading shared libraries: /etc/blkid.conf: invalid ELF header
INFO - /usr/bin/verityctl: error while loading shared libraries: /usr/bin/verityctl: invalid ELF header
Change-Id: I9346d210045b489bf2527f8c191003a52ddf4046
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
SangYoun Kwak [Mon, 20 Jun 2022 08:43:54 +0000 (17:43 +0900)]
Remove resize2fs/fsck from module partition
Change-Id: Ic7344adc301cba54ed296b7b727cf6e23608f49e
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Tue, 7 Jun 2022 02:02:50 +0000 (11:02 +0900)]
Fix to specify partition(a or b) when using blkid
Change-Id: I6f20d7c93f63a6e92c238d3a27257bf1d241fc7e
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Wed, 11 May 2022 08:31:28 +0000 (17:31 +0900)]
Add '-d' option to lsblk command
Option '-d': print only device itself
Change-Id: I5bce83e00799ded58a5cf69a36d9394a78224fe6
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Mon, 11 Apr 2022 06:06:01 +0000 (15:06 +0900)]
Change to call blkid command once to reduce boot time
* It is better to call blkid in function process_rootfs and process_userfs than using
get_blk_dev_path function (performance and complexity)
Change-Id: I837e28d1883782ba1c0ae5bfb4f6b98e83334f0f
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Mon, 14 Mar 2022 06:54:24 +0000 (15:54 +0900)]
Apply option --ignore-corruption to veritysetup for debugging
Change-Id: Icbfb216faf98a31067abebab1dba46d28fcbc24d
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
SangYoun Kwak [Thu, 3 Mar 2022 06:16:58 +0000 (15:16 +0900)]
Print booting information in /proc/cmdline
print example
: Initrd booting (/proc/cmdline bootmode=normal partition_ab=a root=/dev/mmcblk1p58)
Change-Id: Ia559635beeed5dd5d44de827aa78e9761bf0a860
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
Mateusz Moscicki [Mon, 21 Feb 2022 16:25:02 +0000 (17:25 +0100)]
Merge remote-tracking branch 'origin/tizen_6.5' into tizen
Change-Id: I5bbdce15b8f634f3d8614da3d29b2706771f53fb
Karol Lewandowski [Mon, 21 Feb 2022 15:22:18 +0000 (15:22 +0000)]
Merge "Allow to specify the mount point for verityctl create" into tizen_6.5
SangYoun Kwak [Mon, 14 Feb 2022 02:17:47 +0000 (11:17 +0900)]
Replace dmsetup with veritysetup for concise scripts
Change-Id: I081be663af7ee8eaecc7f89610a4e613b28c2907
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
(cherry picked from commit
7f98032c0f177fb5ef26d11fd71f4209ab56e1ff)
SangYoun Kwak [Mon, 14 Feb 2022 02:17:47 +0000 (11:17 +0900)]
Replace dmsetup with veritysetup for concise scripts
Change-Id: I081be663af7ee8eaecc7f89610a4e613b28c2907
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
Mateusz Moscicki [Wed, 2 Feb 2022 13:04:50 +0000 (14:04 +0100)]
Allow to specify the mount point for verityctl create
Change-Id: I8296ff56131870d4386d143ad0c40fef3c4139ed
Hyotaek Shim [Wed, 26 Jan 2022 09:15:18 +0000 (18:15 +0900)]
Specify modprobe.d path for modprobe options
Change-Id: Iea413eba3a6d9c433b652f5f7af6e0e2f40bddd6
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
(cherry picked from commit
9ff0b2d5a81bb4b7b96280aa114faa7cbcaf7597)
Hyotaek Shim [Wed, 26 Jan 2022 09:15:18 +0000 (18:15 +0900)]
Specify modprobe.d path for modprobe options
Change-Id: Iea413eba3a6d9c433b652f5f7af6e0e2f40bddd6
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Mateusz Moscicki [Fri, 17 Dec 2021 14:48:59 +0000 (15:48 +0100)]
Revert "Do RW Update if the .do_rw_update flag is set"
This reverts commit
5fd2c264562205b64b1888f9708ce3ed8235f29d.
Change-Id: I40403a66d54aa593315480f982735bf08ccd9cb3
INSUN PYO [Wed, 15 Dec 2021 09:23:17 +0000 (18:23 +0900)]
dm-verity: support aarch64 architecture
Change-Id: I2316e34a6971185b231d987f307c7933d067364a
(cherry picked from commit
ad0f06be27ca8f6ff142b055774f4da91a4a837b)
INSUN PYO [Wed, 15 Dec 2021 09:23:17 +0000 (18:23 +0900)]
dm-verity: support aarch64 architecture
Change-Id: I2316e34a6971185b231d987f307c7933d067364a
Mateusz Moscicki [Tue, 7 Dec 2021 10:41:42 +0000 (11:41 +0100)]
Mount /opt in initrd during normal boot
Change-Id: Id2b5a0582d9f7ed654e4d1c767ea968773f942c5
(cherry picked from commit
2d9d6056c6b1df5b2d08af9f7f9f622d4adf5743)
Mateusz Moscicki [Tue, 7 Dec 2021 10:41:42 +0000 (11:41 +0100)]
Mount /opt in initrd during normal boot
Change-Id: Id2b5a0582d9f7ed654e4d1c767ea968773f942c5
Mateusz Moscicki [Tue, 30 Nov 2021 13:16:43 +0000 (14:16 +0100)]
Merge branch 'tizen' into tizen_6.5
Change-Id: I5e225b0fd5566c58685b5d0175b0c6c6bcb801c1
Mateusz Moscicki [Tue, 23 Nov 2021 15:40:15 +0000 (16:40 +0100)]
Mount A/B variant of partition HAL if it exists
Change-Id: Ie0eca84ce06933c59d7615262b450513bbfd9727
Mateusz Moscicki [Thu, 28 Oct 2021 10:06:50 +0000 (12:06 +0200)]
Do RW Update if the .do_rw_update flag is set
Change-Id: Ice67a56bba985f3e4ca38f42d19836ed88d9dcef
Mateusz Moscicki [Wed, 27 Oct 2021 14:43:43 +0000 (16:43 +0200)]
Mount partitions from the specified A/B slot
Slot is specified by partition_ab= in /proc/cmdline
If a slot is not specified, partitions will be mounted without regard to
suffix.
Change-Id: I70ff1f96c49857a6c2448eebcaa36e206873df0b
Jaehoon Chung [Thu, 19 Aug 2021 02:14:02 +0000 (11:14 +0900)]
initrd: apply a preen mode 2 about f2fs.fsck
Apply a preen mode 2 about f2fs.fsck.
When f2fs file is created in lower kernel than v4.19, i_gc_failure is
initialized to 0x1. In Tizen Build System, user image is always set to
1 because of using old kernel.
[FIX] (fsck_chk_inode_blk:1071) --> Regular: 0x31 reset i_gc_failures from 0x1 to 0x00
Preen mode 2 is for skipping this behavior about old kernel.
https://lore.kernel.org/patchwork/patch/1017743/
The first booting time will be reduced.
Change-Id: I23825d9ff1f49c6b3cf9db9513f53f3854fcdee0
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
INSUN PYO [Mon, 28 Jun 2021 01:32:57 +0000 (10:32 +0900)]
Support container-aware virtual filesystems mount
Change-Id: Ifcbfb64445aaa850f9f936c6bfc9a021de9dc4ce
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Hyotaek Shim [Wed, 23 Jun 2021 06:45:00 +0000 (15:45 +0900)]
Support container-based Tizen guest OS
Change-Id: I704936b90a8b19c844851abbc9d17fd082402f6b
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
INSUN PYO [Tue, 29 Jun 2021 03:27:29 +0000 (12:27 +0900)]
initrd: load kernel module #3
Modify to load kernel module in parallel.
Change-Id: I865ed1747186c738ac050e587c631262cbd6d6a7
INSUN PYO [Wed, 23 Jun 2021 01:52:44 +0000 (10:52 +0900)]
initrd: load kernel module #2
Change-Id: Id87b8e551d3c278af58bd23b0343a9fd4f3f0213
INSUN PYO [Tue, 22 Jun 2021 08:10:19 +0000 (17:10 +0900)]
initrd: fix typo error
initrd fails with error.
=================================================================================
[ 2.756475] Starting init: /sbin/init exists but couldn't execute it (error -8)
sh-3.2#
=================================================================================
Change-Id: I261e53f9f9cd6cb0e701f839e9a809788acfc7e7
INSUN PYO [Wed, 9 Jun 2021 23:32:18 +0000 (08:32 +0900)]
initrd: load kernel module
Change-Id: Ie73c7636ebaa28d7a7f4f8e66098c5d0455238ad
INSUN PYO [Wed, 16 Jun 2021 03:13:11 +0000 (12:13 +0900)]
initrd: fix hal mountpoint in init wrapper environment
Change-Id: Id374e7987895723e6e16da3080757ce1bbc9d3d7
Mateusz Majewski [Fri, 28 May 2021 08:29:18 +0000 (10:29 +0200)]
Use the standard module directory
This should be the same directory, but /lib/modules is a better-known
name.
Change-Id: I7bbee8bedfbe44384c0d968e694c9bf6800eb521
INSUN PYO [Wed, 16 Jun 2021 02:55:46 +0000 (11:55 +0900)]
initrd: mount module partition to Read-Only
Change-Id: I93ea5b664a72586c74e6751bb0186202735990d5
INSUN PYO [Thu, 10 Jun 2021 01:12:59 +0000 (10:12 +0900)]
initrd: improve stability for hal partitions
If you don't do fsck after resizefs,
sometimes resizefs behaves abnormally.
Change-Id: I55b068a445d8acb47b64cf637aeb4ccff41acb02
Jaehoon Chung [Wed, 9 Jun 2021 02:23:06 +0000 (11:23 +0900)]
initrd: add the mount function about hal partition
Add the mount function about hal partition.
In future, the checking condition of hal/lib directory will be removed.
* exist /hal/lib/
- included hal path in platform image
* Not exist /hal/lib/
- Separated hal.img from platform image
Change-Id: I9f1aff8a1c2f2ca92c3465c41257e559d4afa716
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
INSUN PYO [Wed, 2 Jun 2021 11:50:06 +0000 (20:50 +0900)]
dm-verity: fix exceptional cases of creating dm-verity metadata
Iot-headless uses btrfs filesystem for root partition.
tune2fs does not work with btrfs filesystem.
Change-Id: I43080e3b960e199c95fde2b3cbb7d175d28c1c9d
INSUN PYO [Wed, 2 Jun 2021 04:53:21 +0000 (13:53 +0900)]
dm-verity: rework resizefs in verify boot
To remove filesystem-related code from verityctl script
Change-Id: Ib3ccca8ec9a4ef30bf58e839ff929dae720bdc24
INSUN PYO [Wed, 2 Jun 2021 03:56:59 +0000 (12:56 +0900)]
dm-verity: do not check dm-verity in init-wrapper
The rootfs must not be mounted to apply the dm-verity.
(The limitation of dm-verity)
In the init-wrapper, rootfs is already mounted.
So in the init-wrapper, you must not check the dm-verity.
Change-Id: I979ced22111c0efabdec54726b370b6232fbd482
INSUN PYO [Fri, 30 Apr 2021 03:29:02 +0000 (12:29 +0900)]
dm-verity: enable meta data signing
Ref: https://review.tizen.org/gerrit/#/c/platform/core/system/initrd/+/257715/11
Change-Id: I047dfc8f4fe1d29065693f7a2789e268a07841cf
INSUN PYO [Wed, 12 May 2021 05:58:15 +0000 (14:58 +0900)]
Change /dev/mapper/root to /dev/mapper/rootfs
Change-Id: Ibe6ce32efe242d3ba23b5e804b236dbbf722023e
Hyotaek Shim [Mon, 5 Apr 2021 11:01:57 +0000 (20:01 +0900)]
Unify initrd script for ramdisk and init wrapper
Change-Id: Ic4fcd41e1774ce5303870b4a08c0aa8b5f6e6e5a
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
INSUN PYO [Tue, 20 Apr 2021 01:29:34 +0000 (10:29 +0900)]
Add /etc/initrd-release file
Systemd uses /etc/initrd-release file to check if it is running on ramdisk.
Change-Id: I8a891c6a7f59c4c9237eebe4970cc943c89bbd7a
Refs: https://www.freedesktop.org/software/systemd/man/bootup.html
Refs: https://www.freedesktop.org/wiki/Software/systemd/InitrdInterface/
INSUN PYO [Fri, 9 Apr 2021 08:32:47 +0000 (17:32 +0900)]
Refactor /sbin/init
Change-Id: Ibf1987072ae160973070fcf37844c166e902667a
Dongwoo Lee [Fri, 5 Mar 2021 09:16:46 +0000 (18:16 +0900)]
Add tool support for checking and resizing f2fs partition
To provide f2fs partitions with checking filesystem and expanding at
boot, this adds f2fs tools and modifies init script to deal with the
partiton depending on its type of filesystem.
Change-Id: I6289be62d4d290831eec5a51d9feef434080676e
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
INSUN PYO [Thu, 18 Feb 2021 05:58:11 +0000 (14:58 +0900)]
Change "Requires(post)" to "Requires(posttrans)"
gbs(0.25.15) seems to have a bug.
A gbs tool downloads and uses the AAA_package at build time.
- Requires(pre): AAA_package
- Requires(post): AAA_package
A gbs tool does not download the AAA_package at build time.
- Requires: AAA_package
- Requires(preun): AAA_package
- Requires(postun): AAA_package
- Requires(posttrans): AAA_package
Change-Id: I19c681c9103c15f9b08f54c3f9b6bf8a26f76eea
INSUN PYO [Tue, 5 Jan 2021 01:56:02 +0000 (10:56 +0900)]
Revert: Adding to mount squashfs for gps tracker image.
squashfs based usr partition is deprecated since 5.0.
Change-Id: Ie5367bf5f8215259a0ae385a6e047893016f67ee
insun.pyo [Tue, 29 Dec 2020 06:45:40 +0000 (15:45 +0900)]
Create /sysroot and /opt at the mic stage, not runtime
After applying squashfs, "/" of ramdisk is read only.
Change-Id: I5453a2fff90623bec10d0980ee9a9eecbd8fd8df
INSUN PYO [Mon, 9 Nov 2020 11:23:03 +0000 (20:23 +0900)]
dm-verity: Cleanup verityctl shell script
Change-Id: I959263f7f2de384e1e17c1dfbb561c98cf9bf6d8
Kichan Kwon [Thu, 22 Oct 2020 10:49:12 +0000 (19:49 +0900)]
Include verityctl in ramdisk-recovery to remake hash table
Change-Id: I8d50fefad2b1892ea223e14bea7219eddc03becc
Signed-off-by: Kichan Kwon <k_c.kwon@samsung.com>
Kichan Kwon [Thu, 22 Oct 2020 10:42:54 +0000 (19:42 +0900)]
Enable making block device's hash table
Change-Id: I1a9aa283dd81a0f2922a256c5ab9c0b8c8d5ab6b
Signed-off-by: Kichan Kwon <k_c.kwon@samsung.com>
INSUN PYO [Tue, 25 Aug 2020 07:10:40 +0000 (16:10 +0900)]
Add ramdisk-flush.service to free /dev/ram0
After booting is complete, the memory of /dev/ram0 used by initrd is still wasted.
Run "/sbin/blockdev --flushbufs /dev/ram0" to free this memory.
Caution: You can't run this command before "chroot . /sbin/init" in the initrd.
Because init is still running on /dev/ram0.
Change-Id: Ia751db9b3eb660de980d6a223fe5dc7bef511f87
Hyotaek Shim [Fri, 21 Aug 2020 07:46:00 +0000 (16:46 +0900)]
Apply 1 ignore_zero_blocks optimization to dm-verity setup
Change-Id: I57e66b868eab7ab3b08a06c8bd3d97aa42c8040a
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Junghoon Kim [Fri, 7 Aug 2020 05:09:34 +0000 (14:09 +0900)]
scripts: init.sh: Remove the btrfs balance command
The upgraded mic package is adopted in the public image server and it
uses the metadata single option when building the btrfs image.
Thus, remove the btrfs balance command that changes the btrfs filesystem
to single metadata because this is redundant.
Change-Id: Iaf361b0daed2f995f526ade51e9e60ad3212a201
Signed-off-by: Junghoon Kim <jhoon20.kim@samsung.com>
INSUN PYO [Tue, 4 Aug 2020 04:49:51 +0000 (13:49 +0900)]
scripts: init.sh: change old directory of pivot_root
The /sysroot is always read-only when dm-verity is enabled.
So, we can not create /sysroot/initrd.
The /sysroot/mnt/initrd directory is created by initrd package and we can use it instead of /sysroot/initrd.
Change-Id: Iad3ed304c2bd58e5823cbcdac4cb7dd530ef4102
INSUN PYO [Fri, 31 Jul 2020 05:48:00 +0000 (14:48 +0900)]
Enable dmverity
Change-Id: Ib83af50f2b1b7788f8aec6d51bb8c880a4b664ea
INSUN PYO [Fri, 31 Jul 2020 09:11:18 +0000 (18:11 +0900)]
dm-verity: change dm-verity tool from veritysetup to dmsetup
The current version of veritysetup does not support some options.
- ignore_corruption
- restart_on_corruption
- ignore_zero_blocks
- check_at_most_once
Refer: https://gitlab.com/cryptsetup/cryptsetup/-/wikis/DMVerity
Change-Id: If50db143182444153c643bfd1ba11f26b61c7df0
INSUN PYO [Thu, 30 Jul 2020 06:01:45 +0000 (15:01 +0900)]
dm-verity: fix booting fail on non dm-verity target
Second reboot fails on non dm-verity target.
The initrd reads meta data for dm-verity in the area after block size,
because block size and partition size are the same by resize2fs.
A dd util is used, and dd waits indefinitely for reading outside this region.
|---------------------------------------------|
| | expected meta |
|____________________________|________________|
^
|
partiion end
block end
This also happens on the second boot, after "verityctl disable" on dm-verity target.
Change-Id: I948b80d94b9251c88aac13eec1f62e0719681ac0
INSUN PYO [Wed, 29 Jul 2020 06:40:37 +0000 (15:40 +0900)]
dm-verity: implement "verityctl format" and "verityctl disable" command
Change-Id: I630c40e7e673fa71f3709e9789ba176a91c26db0
INSUN PYO [Tue, 28 Jul 2020 10:28:13 +0000 (19:28 +0900)]
dm-verity: add /usr/bin/verityctl and implement "verityctl format" command
Change-Id: I1d37793cc9344c1c42a532cd599cd3821053a685
INSUN PYO [Fri, 24 Jul 2020 04:59:03 +0000 (13:59 +0900)]
Add veritytool package for dm-verity
Change-Id: I3f699f58408d5b1c5fa167efdfe232c5d25193cb
Seung-Woo Kim [Tue, 16 Jun 2020 02:11:57 +0000 (11:11 +0900)]
postscript: apply arch difference
Each architecture has different ld.so path and initrd path. Apply
arch difference for postscript to create image. Also, append 64-bit
only file list.
Change-Id: I0fe393cd4b4a4b2ef32a2dcf2af0171bd80b6e0c
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Seung-Woo Kim [Tue, 16 Jun 2020 02:11:31 +0000 (11:11 +0900)]
postscript: support multiple list files
Support multiple list file to create ramdisk directory.
Change-Id: I683cc0e39f2f9c6be71ed2fa34b001e0839c5919
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Hyotaek Shim [Tue, 9 Jun 2020 04:25:16 +0000 (13:25 +0900)]
Add PATH=/bin:/usr/bin:/sbin:/usr/sbin to init.sh
Change-Id: Id7b2d1f94ee43d103eeae228ed28518afab21d27
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Junghoon Kim [Tue, 4 Feb 2020 04:05:48 +0000 (13:05 +0900)]
scripts: init.sh: Change btrfs compression algorithm
The OBS build system does not yet support zstd compression algorithm.
Change the btrfs compression algorithm to lzo before upgrading the OBS
server.
Change-Id: Ibc6be7d3f5c9a3364a63aba27e5646c4a0fd58d8
Signed-off-by: Junghoon Kim <jhoon20.kim@samsung.com>
Junghoon Kim [Tue, 14 Jan 2020 06:13:03 +0000 (15:13 +0900)]
Support the btrfs filesystem mount for the rootfs image
In order to support the btrfs rootfs image, the btrfs tool is required.
Also, the procedure of the rootfs mount is modified properly including
the consistency check and resize.
Change-Id: I7e39720dee943830d959c8d1d6f7e8fab139904f
Signed-off-by: Junghoon Kim <jhoon20.kim@samsung.com>
INSUN PYO [Wed, 13 Mar 2019 09:02:42 +0000 (18:02 +0900)]
Fix resizefs: corrupted filesystem can not perform resizefs
//////////// Steps to reproduce the problem ///////////////////////
1. Flush all binary
2. Flush only user.img binary (tar cvfz user.tar.gz user.img)
3. remove /opt/var/.resizefs_done
4. remove and insert battery, and turn on device
5. user partition fails to execute resizefs.
///////////////////////////////////////////////////////////////////
//////////// UART Log on TM1 //////////////////////////////////////
resize2fs 1.43.4 (31-Jan-2017)
Resizing the filesystem on /dev/mmcblk0p25 to 1481216 (4k) blocks.
The filesystem on /dev/mmcblk0p25 is now 1481216 (4k) blocks long.
fsck from util-linux 2.30
e2fsck 1.43.4 (31-Jan-2017)
user: recovering journal
Setting free inodes count to 7301 (was 7434)
Setting free blocks count to 8022 (was 8489)
user: clean, 699/8000 files, 10286/18308 blocks
////////////////////////////////////////////////////////////////////
///// df - user partition is 18308 blocks, not 1481216 /////////////
/dev/mmcblk0p25 38448 6008 30976 17% /opt/usr
////////////////////////////////////////////////////////////////////
Change-Id: I8ee7161b504a56fb859af2472ef3295601f02ce6
INSUN PYO [Wed, 13 Mar 2019 06:05:18 +0000 (15:05 +0900)]
Fix race condition
Power is turned off as soon as /opt/var/.resizefs_done is written.
Rootfs, userfs and module partition does not execute resizefs foreever.
Change-Id: I5eb2ebb3135443ff21cbbaf4944f0a759940e76a
INSUN PYO [Fri, 8 Mar 2019 10:14:17 +0000 (19:14 +0900)]
Perform resizefs for /opt/usr
If device is encrypted, skip resizefs and fsck for /opt/usr.
Change-Id: Ib563b522f8eef201aca4c7103a2166d576e7051a
Hyotaek Shim [Thu, 7 Feb 2019 12:21:43 +0000 (21:21 +0900)]
Rename regarding fsck/resize2fs
Change-Id: I827455495952a4c34d6c23d5fcec8fd338e2d3c5
Hyotaek Shim [Wed, 19 Sep 2018 11:45:14 +0000 (20:45 +0900)]
Create /dev, /proc, and /sys directories before mounting
This is required in case that rootfs does not contain the directories.
Change-Id: I0bd0a09d52597bc6569de3b9c9e0f32a480b4661
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Hyotaek Shim [Wed, 18 Apr 2018 11:57:19 +0000 (20:57 +0900)]
Perform fsck on each booting
Change-Id: I063c8bbf2f9ca0b0c995a1dd8260bfab7efe41f6
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Hyotaek Shim [Fri, 9 Feb 2018 02:07:59 +0000 (11:07 +0900)]
Bug fix: change the location of rootfs(/sysroot) read-only mount
Change-Id: Ica45471e6801ceca95d14a0be1a6d1dc75712814
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
Hyotaek Shim [Mon, 18 Dec 2017 09:24:04 +0000 (18:24 +0900)]
Mount rootfs -o ro
This is security requirement for preventing rootfs
from being writable during boot time
Change-Id: Ia649f5ccafa0f80ab87776ce567cc063dee9b544
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
wchang kim [Wed, 30 Aug 2017 04:14:41 +0000 (13:14 +0900)]
Adding to mount squashfs for gps tracker image.
If /opt/sqsh_usr.img exists, initrd mounts it to /usr and then mounts /usr/lib/modules.
or it mounts /usr/lib/modules.
Change-Id: I9100185631770a00efba63d428e2248b61c7ee9d
Signed-off-by: Woochang Kim <wchang.kim@.samsung.com
Signed-off-by: INSUN PYO <insun.pyo@samsung.com>
INSUN PYO [Thu, 18 May 2017 01:23:13 +0000 (10:23 +0900)]
License: install license file (LICENSE.Apache-2.0) in the spec
Signed-off-by: INSUN PYO <insun.pyo@samsung.com>
Change-Id: If71867aefe0145d6e3bb4d58a83aaac050b5d9bf
Yunmi Ha [Thu, 6 Apr 2017 01:58:13 +0000 (10:58 +0900)]
Make caching file for imporoving performance.
Previously, init.sh resize and check the filesystem every time.
It makes growing in booting time.
To reduce this, init.sh makes chache file for checking first boot or not.
Only when boot the first time, init.sh will resize and check the filesystem.
Change-Id: I31dbe37e59029365098b45cdfcb0dba95a11d8c0
Signed-off-by: Yunmi Ha <yunmi.ha@samsung.com>
Yunmi Ha [Wed, 29 Mar 2017 06:54:08 +0000 (15:54 +0900)]
Add blkid.conf file to ramdisk
blkid.conf file has directory information for caching.
blkid will use caching data refer to this config.
Change-Id: I66d5ea8783313795a1b91f71813dc2d7acd35400
Signed-off-by: Yunmi Ha <yunmi.ha@samsung.com>