740e94bd | 10-Jun-2022 |
John Edward Broadbent <jebr@google.com> |
Add location interface
Tested: $busctl introspect xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0 ... xyz.openbmc_project.Inventory.Decorator.LocationCode interface .
Add location interface
Tested: $busctl introspect xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0 ... xyz.openbmc_project.Inventory.Decorator.LocationCode interface .LocationCode property s "Embedded" emits-change ...
Signed-off-by: John Edward Broadbent <jebr@google.com> Change-Id: Ib1c2177541de193c5930238958201ad26b38e7d2
show more ...
|
9e639820 | 10-Jun-2022 |
John Edward Broadbent <jebr@google.com> |
Update utils_test explicit unsigned literals
There exist a combination of gmock, and std::filesystem that creates an error of the from:
``` if (lhs == rhs) {
'const int' and 'const long long uns
Update utils_test explicit unsigned literals
There exist a combination of gmock, and std::filesystem that creates an error of the from:
``` if (lhs == rhs) {
'const int' and 'const long long unsigned int'
``` for the follow block ``` EXPECT_EQ(3, std::filesystem::remove_all("mmcblk0")); ```
We don't see it in CI testing, but we do see it in builds. Possibly an architecture related issue.
Signed-off-by: John Edward Broadbent <jebr@google.com> Change-Id: I8170567494082914e338104e7e126b54d86ddc5e
show more ...
|
14aee774 | 20-Apr-2022 |
John Edward Broadbent <jebr@google.com> |
Add Lock property to drives interface
This change adds the locked property, which is driven the same way the volumes lock property is driven.
Tested: busctl introspect xyz.openbmc_project.eStoraged
Add Lock property to drives interface
This change adds the locked property, which is driven the same way the volumes lock property is driven.
Tested: busctl introspect xyz.openbmc_project.eStoraged /xyz/openbmc_project/inventory/storage/mmcblk0 .Locked property b false emits-change busctl call xyz.openbmc_project.eStoraged /xyz/openbmc_project/inventory/storage/mmcblk0 xyz.openbmc_project.Inventory.Item.Volume Lock .Locked property b true emits-change
Signed-off-by: John Edward Broadbent <jebr@google.com> Change-Id: I750def0fd02cdfc36c060d162ef70fed34fa46c8
show more ...
|
f78215fd | 07-Jun-2022 |
John Wedig <johnwedig@google.com> |
Fix code to search for MMC device
The findDevice() function is broken currently because it's looking for a device in sysfs with the name of mmcblk*. The problem is that the boot partitions are also
Fix code to search for MMC device
The findDevice() function is broken currently because it's looking for a device in sysfs with the name of mmcblk*. The problem is that the boot partitions are also showing up in sysfs (mmcblk0boot0 and mmcblk0boot1), and the findDevice() function is getting confused.
Instead of relying on the name of the device to find the MMC device, we now look at the following entry in sysfs, to make sure we found an MMC device:
/sys/block/<dev_name>/device/type
The contents of that file should be MMC.
Tested: Ran eStoraged on a machine to confirm that it created a D-Bus object with the mmcblk0 device, instead of mmcblk0boot0. $ busctl tree xyz.openbmc_project.eStoraged `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/inventory `-/xyz/openbmc_project/inventory/storage `-/xyz/openbmc_project/inventory/storage/mmcblk0
Signed-off-by: John Wedig <johnwedig@google.com> Change-Id: I786934fcdc950b55c62bc7e3784e29d5ba73099f
show more ...
|
91c1ec1b | 20-May-2022 |
John Edward Broadbent <jebr@google.com> |
Add DriveEncryptionState property
Tested: Verify the property is as expected (Encrypted). Then wipe the disk, and re-check the value to verify it is as expected (unknown).
$ busctl get-property xyz
Add DriveEncryptionState property
Tested: Verify the property is as expected (Encrypted). Then wipe the disk, and re-check the value to verify it is as expected (unknown).
$ busctl get-property xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Drive EncryptionStatus s \ "xyz.openbmc_project.Inventory.Item.Drive.DriveEncryptionState.Encrypted"
$ busctl call xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Erase s \ xyz.openbmc_project.Inventory.Item.Volume.EraseMethod.VendorSanitize
$ busctl get-property xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Drive EncryptionStatus s \ "xyz.openbmc_project.Inventory.Item.Drive.DriveEncryptionState.Unknown"
Signed-off-by: John Edward Broadbent <jebr@google.com> Change-Id: I4abba7a1e7f047c481aaf4938b2b1e2b7d7ec6be
show more ...
|
4906f4ef | 28-Apr-2022 |
John Edward Broadbent <jebr@google.com> |
span: switch to std
Reduce the dependency on stdplus' version of span now that we are using C++20 and use the one out of the STL instead.
See:https://gerrit.openbmc-project.xyz/c/openbmc/stdplus/+/
span: switch to std
Reduce the dependency on stdplus' version of span now that we are using C++20 and use the one out of the STL instead.
See:https://gerrit.openbmc-project.xyz/c/openbmc/stdplus/+/53308
Change-Id: I2a35670ab50c40fed093474c4986dd6d2cb79011 Signed-off-by: John Edward Broadbent <jebr@google.com>
show more ...
|
6c0d8ce1 | 22-Apr-2022 |
John Wedig <johnwedig@google.com> |
Add association between chassis and drive
This commit adds an association between the storage device ("drive") and the associated chassis. Specifically, the new association is the following: ["cha
Add association between chassis and drive
This commit adds an association between the storage device ("drive") and the associated chassis. Specifically, the new association is the following: ["chassis", "drive", <chassis_path>]
This association will be used in bmcweb to add Redfish links between drive and chassis.
Tested: $ busctl get-property xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Association.Definitions Associations $ busctl get-property xyz.openbmc_project.ObjectMapper \ /xyz/openbmc_project/inventory/system/board/dcscm/drive \ xyz.openbmc_project.Association endpoints $ busctl get-property xyz.openbmc_project.ObjectMapper \ /xyz/openbmc_project/inventory/storage/mmcblk0/chassis \ xyz.openbmc_project.Association endpoints
Signed-off-by: John Wedig <johnwedig@google.com> Change-Id: Ie21725e9ceb5134ac94854dcb06f3b86a48eeabd
show more ...
|
d32b9667 | 13-Apr-2022 |
John Wedig <johnwedig@google.com> |
Initial integration with Entity Manager
This commit changes eStoraged so that it doesn't take a specific device as an argument. Instead, it looks for a config object from Entity Manager and creates
Initial integration with Entity Manager
This commit changes eStoraged so that it doesn't take a specific device as an argument. Instead, it looks for a config object from Entity Manager and creates a D-Bus object corresponding to the config object.
The config objects need to expose the following interface: "xyz.openbmc_project.Configuration.EmmcDevice"
To support more types of storage devices in the future, we can introduce a new interface for each one.
In addition, eStoraged currently only supports 1 eMMC device. If we want to support more than one in the future, we will need to add more information to the Entity Manager config, to distinguish between them.
Assuming the eMMC is located on a FRU-detectable board, an "Exposes" entry can be added to that board's Entity Manager config, for example: { "Name": "example_emmc", "Type": "EmmcDevice" }
Doing so will tell Entity Manager to create a config object with the EmmcDevice interface mentioned above. Then, eStoraged will find the config object with that interface and create its own D-Bus object that can be used to manage the eMMC.
Tested: Updated the Entity Manager config (as described above), started eStoraged, then tested most of its methods and properties using busctl. $ busctl call xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume FormatLuks ays 3 1 2 3 \ xyz.openbmc_project.Inventory.Item.Volume.FilesystemType.ext4 \ --timeout=60 $ busctl call xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Lock $ busctl call xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Unlock ay 3 1 2 3 $ busctl get-property xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Locked $ busctl get-property xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Drive Capacity $ busctl call xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Erase s \ xyz.openbmc_project.Inventory.Item.Volume.EraseMethod.VerifyGeometry $ busctl call xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Erase s \ xyz.openbmc_project.Inventory.Item.Volume.EraseMethod.LogicalOverWrite \ --timeout=1200 $ busctl call xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Erase s \ xyz.openbmc_project.Inventory.Item.Volume.EraseMethod.LogicalVerify \ --timeout=1200
Signed-off-by: John Wedig <johnwedig@google.com> Change-Id: If137d02e185c366f4a1437076512b4883ba6d595
show more ...
|
fa5cb6f7 | 12-Apr-2022 |
John Wedig <johnwedig@google.com> |
Remove device name from D-Bus service name
When eStoraged gets integrated with entity manager, eStoraged could potentially be used to manage multiple storage devices. And we will want the different
Remove device name from D-Bus service name
When eStoraged gets integrated with entity manager, eStoraged could potentially be used to manage multiple storage devices. And we will want the different D-Bus objects to be under the same service name.
This commit removes the device name from the D-Bus service name, so that it can ultimately start managing multiple storage devices. This change has its own commit, since it breaks compatibility with existing client software.
Tested: $ busctl introspect xyz.openbmc_project.eStoraged \ /xyz/openbmc_project/inventory/storage/mmcblk0
Signed-off-by: John Wedig <johnwedig@google.com> Change-Id: I4a1606cbbe20fa97cee0fde81c8cf5731d71f8ee
show more ...
|
b2c86be3 | 15-Apr-2022 |
John Edward Broadbent <jebr@google.com> |
Change ownership of handle to eStorageD object
Clients used to create both the CryptHandle and the eStorageD objects using the same information. Then the client would pass the CryptHandle into eStor
Change ownership of handle to eStorageD object
Clients used to create both the CryptHandle and the eStorageD objects using the same information. Then the client would pass the CryptHandle into eStorageD methods in order to perform crypto methods. This change creates the CryptHandle closer to where it is used. This makes the code simpler and easier to understand.
Tested: busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ > /xyz/openbmc_project/inventory/storage/mmcblk0 \ > xyz.openbmc_project.Inventory.Item.Volume FormatLuks ays 3 1 2 3 \ > xyz.openbmc_project.Inventory.Item.Volume.FilesystemType.ext4 \ > --timeout=60
Change-Id: I276e97146f4498191eb19512bc244a1e8d9cd2cb Signed-off-by: John Edward Broadbent <jebr@google.com>
show more ...
|
2b5454d3 | 14-Apr-2022 |
John Edward Broadbent <jebr@google.com> |
fix error handling for CryptHandle.get
The old code calls CryptHandle once to make sure it is valid, then calls it again to use it.
Tested: busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ > /
fix error handling for CryptHandle.get
The old code calls CryptHandle once to make sure it is valid, then calls it again to use it.
Tested: busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ > /xyz/openbmc_project/inventory/storage/mmcblk0 \ > xyz.openbmc_project.Inventory.Item.Volume FormatLuks ays 3 1 2 3 \ > xyz.openbmc_project.Inventory.Item.Volume.FilesystemType.ext4 \ > --timeout=60
Signed-off-by: John Edward Broadbent <jebr@google.com> Change-Id: I21c02315c365e74ead3d0b5b2578c62503376756
show more ...
|
34a75f05 | 14-Apr-2022 |
John Edward Broadbent <jebr@google.com> |
Fix shadowed variable improperly scoped
These variables were outside of the function that used them. Every other function that set the "size" variable was shadowing the improperly scoped variables.
Fix shadowed variable improperly scoped
These variables were outside of the function that used them. Every other function that set the "size" variable was shadowing the improperly scoped variables.
Change-Id: I45b20606492987c7a09105c33847bc5b35b9e0ec Signed-off-by: John Edward Broadbent <jebr@google.com>
show more ...
|
d6071fc2 | 31-Mar-2022 |
John Edward Broadbent <jebr@google.com> |
Fix Short read/write issue
It was possible for "short" reads and writes to cause the pattern and zero steps to not work correctly. This change adds logic to deal with the short reads.
Tested: unit
Fix Short read/write issue
It was possible for "short" reads and writes to cause the pattern and zero steps to not work correctly. This change adds logic to deal with the short reads.
Tested: unit test and machine test root@bmc# time busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ > /xyz/openbmc_project/inventory/storage/mmcblk0 \ > xyz.openbmc_project.Inventory.Item.Volume Erase s \ > xyz.openbmc_project.Inventory.Item.Volume.EraseMethod.ZeroOverWrite \ > --timeout=1200 real 6m0.815s user 0m0.010s sys 0m0.010s
Change-Id: If8df9bdba159a3bcfa77104a4c17b8d352794db2 Signed-off-by: John Edward Broadbent <jebr@google.com>
show more ...
|
5d799bb9 | 22-Mar-2022 |
John Edward Broadbent <jebr@google.com> |
Add lifetime property for drives interface
This will set the lifetime property when the eStoraged object is created. This change does not expect the lifetime to change.
Tested: busctl introspect x
Add lifetime property for drives interface
This will set the lifetime property when the eStoraged object is created. This change does not expect the lifetime to change.
Tested: busctl introspect xyz.openbmc_project.eStoraged.mmcblk0 /xyz/openbmc_project/inventory/storage/mmcblk0 NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Inventory.Item.Drive interface - - - .Capacity property t (top secret) emits-change .PredictedMediaLifeLeftPercent property y 100 emits-change xyz.openbmc_project.Inventory.Item.Volume interface - - - .ChangePassword method ayay - - .Erase method s - - .FormatLuks method ays - - .Lock method - - - .Unlock method ay - -
Signed-off-by: John Edward Broadbent <jebr@google.com> Change-Id: Ifbbed7d81c55e3edbe519c2b1048b5d1731fbb0e
show more ...
|
67a47446 | 05-Apr-2022 |
John Wedig <johnwedig@google.com> |
Switch eStoraged to asio interface
Switching the D-Bus interface to asio makes it easier to integrate with EntityManager. In addition, this switch to asio makes sense since some of the erase operati
Switch eStoraged to asio interface
Switching the D-Bus interface to asio makes it easier to integrate with EntityManager. In addition, this switch to asio makes sense since some of the erase operations take a long time, about 6 minutes.
This commit also removes one of the clang-tidy checks because clang was flagging an error in one of the boost asio files, inside the constructor for sdbusplus::asio::connection.
Tested: Tested most of the methods and properties using busctl. $ busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume FormatLuks ays 3 1 2 3 \ xyz.openbmc_project.Inventory.Item.Volume.FilesystemType.ext4 \ --timeout=60 $ busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Lock $ busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Unlock ay 3 1 2 3 $ busctl get-property xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Locked $ busctl get-property xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Drive Capacity $ busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Erase s \ xyz.openbmc_project.Inventory.Item.Volume.EraseMethod.VerifyGeometry $ busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Erase s \ xyz.openbmc_project.Inventory.Item.Volume.EraseMethod.LogicalOverWrite \ --timeout=1200 $ busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Erase s \ xyz.openbmc_project.Inventory.Item.Volume.EraseMethod.LogicalVerify \ --timeout=1200
Signed-off-by: John Wedig <johnwedig@google.com> Change-Id: I99cb371871bfa68eb0193f614f899221afd9013a
show more ...
|
605085a6 | 05-Nov-2021 |
John Edward Broadbent <jebr@google.com> |
Add erase sanitize
Sanitize uses the eMMC firmware to erase all blocks.
Tested: $ cat /dev/urandom > /dev/mmcblk0
$ time busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/in
Add erase sanitize
Sanitize uses the eMMC firmware to erase all blocks.
Tested: $ cat /dev/urandom > /dev/mmcblk0
$ time busctl call xyz.openbmc_project.eStoraged.mmcblk0 \ /xyz/openbmc_project/inventory/storage/mmcblk0 \ xyz.openbmc_project.Inventory.Item.Volume Erase s \ xyz.openbmc_project.Inventory.Item.Volume.EraseMethod.VendorSanitize \ --timeout=1200
real 0m1.793s user 0m0.021s sys 0m0.009s
root@ytbaz20-nfd01:/# cat /dev/mmcblk0 | hexdump
0000000 0000 0000 0000 0000 0000 0000 0000 0000 *
Signed-off-by: John Edward Broadbent <jebr@google.com> Change-Id: I31bc21c0b6d31cbba0db752d94a93eb004dbbde6
show more ...
|
e35e7361 | 22-Mar-2022 |
John Edward Broadbent <jebr@google.com> |
Add implementation capacity for drive interface
This will set the capacity property when the eStoraged object is created. This change does not expect the drive size to change.
Change-Id: I72cd68c50
Add implementation capacity for drive interface
This will set the capacity property when the eStoraged object is created. This change does not expect the drive size to change.
Change-Id: I72cd68c5045e9ef49939f4655a223a02234c7434 Signed-off-by: John Edward Broadbent <jebr@google.com>
show more ...
|
a6e3b99d | 17-Mar-2022 |
John Edward Broadbent <jebr@google.com> |
Refactor findsize into util away from erase
At first the size was only needed for erase, now it is needed for the drives interface. The code needed to be refactored to make drive interface implement
Refactor findsize into util away from erase
At first the size was only needed for erase, now it is needed for the drives interface. The code needed to be refactored to make drive interface implementation possible.
Signed-off-by: John Edward Broadbent <jebr@google.com> Change-Id: I0a23ee23a0de3fd89a9e776b4854e8da9a8ff2e4
show more ...
|
86dfb244 | 14-Mar-2022 |
John Edward Broadbent <jebr@google.com> |
Add the Drives Interface to eStorageD
This new interface will be able to send machine health information from eStorageD to clients on dbus using phosphor dbus interfaces.
$ busctl call -j xyz.openb
Add the Drives Interface to eStorageD
This new interface will be able to send machine health information from eStorageD to clients on dbus using phosphor dbus interfaces.
$ busctl call -j xyz.openbmc_project.ObjectMapper /xyz/openbmc_project/object_mapper xyz.openbmc_project.ObjectMapper GetSubTree sias "/xyz/openbmc_project/inventory" 0 1 "xyz.openbmc_project.Inventory.Item.Drive"
$ curl -u root:0penBmc -X GET "http://localbmc/redfish/v1/Systems/system/Storage/1/Drives/mmcblk0"
Signed-off-by: John Edward Broadbent <jebr@google.com> Change-Id: I91facaf6d1ac0d52258fc97ba93e6f2138619073
show more ...
|
a1e0eb03 | 15-Mar-2022 |
John Edward Broadbent <jebr@google.com> |
Change DBus path from storage to inventory
bmcweb only searches for drive in the inventory. If we want bmcweb to find and treat the eMMC like drive, we must change this path.
It would be possible t
Change DBus path from storage to inventory
bmcweb only searches for drive in the inventory. If we want bmcweb to find and treat the eMMC like drive, we must change this path.
It would be possible to change how bmcweb find drives. See below: https://github.com/openbmc/bmcweb/blob/master/redfish-core/lib/storage.hpp#L561
Tested: Ran on real machine and verified the path was correct. Change-Id: Ibba9d144f4d141fdad358da1e43db6d871d6d013 Signed-off-by: John Edward Broadbent <jebr@google.com>
show more ...
|
82897c35 | 21-Feb-2022 |
Ed Tanous <edtanous@google.com> |
Check in a clang-tidy
This should've been done when we first created the repo, but better late than never.
Signed-off-by: Ed Tanous <edtanous@google.com> Signed-off-by: John Edward Broadbent <jebr@
Check in a clang-tidy
This should've been done when we first created the repo, but better late than never.
Signed-off-by: Ed Tanous <edtanous@google.com> Signed-off-by: John Edward Broadbent <jebr@google.com> Change-Id: I68da1d13167ec94f9d008dea307c9f23a991d42c
show more ...
|
0c2808f0 | 25-Feb-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build: enable subproject-based build
* Move existing phosphor-logging.wrap to the subprojects directory. * Add wrap files for all openbmc dependencies. * Fix up meson.build files to utilize subproje
build: enable subproject-based build
* Move existing phosphor-logging.wrap to the subprojects directory. * Add wrap files for all openbmc dependencies. * Fix up meson.build files to utilize subproject dependencies and follow Meson conventions for dependency naming. * Ensure wrap files are not ignored by .gitignore.
Tested: Built on a typical Linux development system and 'ninja test' passed.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I167911f045ee1f27cc69bcba7be185762844a030
show more ...
|
f59b7291 | 15-Feb-2022 |
John Edward Broadbent <jebr@google.com> |
Add Locking
This uses the estoraged version of locking for erase use. It will unmount the file system, and make the encrypted block disappear. Ideally we will add hardware locking support at a later
Add Locking
This uses the estoraged version of locking for erase use. It will unmount the file system, and make the encrypted block disappear. Ideally we will add hardware locking support at a later time.
Signed-off-by: John Edward Broadbent <jebr@google.com> Change-Id: I0cfb0637fc8d3dd6f8d23c9dd60d1f66fd424a4e
show more ...
|
d3bfa7bb | 13-Jan-2022 |
John Edward Broadbent <jebr@google.com> |
Add namespaces to erase methods
Some erase objects did not have the required namespace. This change adds the estoraged and estoraged_testing namespace where it is needed.
Testing: Not tested Change
Add namespaces to erase methods
Some erase objects did not have the required namespace. This change adds the estoraged and estoraged_testing namespace where it is needed.
Testing: Not tested Change-Id: I63757ea4d3672659f21108e5e65fd09aa1c03406 Signed-off-by: John Edward Broadbent <jebr@google.com>
show more ...
|
59dffa63 | 13-Jan-2022 |
John Edward Broadbent <jebr@google.com> |
Add crypto Erase to eStorageD.
The goal is to erase the keys that are used to decrypt the drive. After the keys are erased it will not be possible to decrypt the drive, even if the password can be r
Add crypto Erase to eStorageD.
The goal is to erase the keys that are used to decrypt the drive. After the keys are erased it will not be possible to decrypt the drive, even if the password can be recalled. The data is forever inaccessible.
Testing:
$ systemctl stop emmc.service
$ /eStoraged -b /dev/mmcblk0 &
$ busctl call xyz.openbmc_project.eStoraged.mmcblk0 /xyz/openbmc_project/storage/mmcblk0 xyz.openbmc_project.Inventory.Item.Volume FormatLuks ays 3 1 2 3 xyz.openbmc_project.Inventory.Item.Volume.FilesystemType.ext4
$ busctl call xyz.openbmc_project.eStoraged.mmcblk0 /xyz/openbmc_project/storage/mmcblk0 xyz.openbmc_project.Inventory.Item.Volume Lock
$ busctl call xyz.openbmc_project.eStoraged.mmcblk0 /xyz/openbmc_project/storage/mmcblk0 xyz.openbmc_project.Inventory.Item.Volume Erase s xyz.openbmc_project.Inventory.Item.Volume.EraseMethod.CryptoErase
$ busctl call xyz.openbmc_project.eStoraged.mmcblk0 /xyz/openbmc_project/storage/mmcblk0 xyz.openbmc_project.Inventory.Item.Volume Unlock ay 3 1 2 3 Call failed: The operation failed internally.
Signed-off-by: John Edward Broadbent <jebr@google.com> Change-Id: I3221e82a92c1b555e2379b19c9e1d5b6e4b02f9b
show more ...
|