惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
博客园 - 叶小钗
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
P
Proofpoint News Feed
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
aimingoo的专栏
aimingoo的专栏
月光博客
月光博客
量子位
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta
Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI
博客园 - Franky
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
D
DataBreaches.Net
博客园_首页
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog

Leo's Field

Don't nuke my docker network, nftables.service! - Leo's Field Sending Emails, with netcat - Leo's Field Use ZED with msmtp on Debian - Leo's Field Have fun with ZFS: Maintenance and Error Recovery - Leo's Field Have fun with ZFS: Tuning - Leo's Field Have fun with ZFS: Setting up storage pool - Leo's Field 2021 Recap: Seek - Leo's Field Deploying this site on CloudFlare Pages - Leo's Field Redesigning this blog - Leo's Field Homelab Project: 6 months in - Leo's Field Fix incompatible bytes library for actix-web and tokio - Leo's Field A Breif Look at Linux's Audio System - Leo's Field Record to MiniDisc with correct Track Marker on Linux - Leo's Field Build Fcitx5 IM module for proprietary software with its Qt library - Leo's Field Way to AOSC OS Maintainer: Advanced Techniques - Leo's Field Way to AOSC OS Maintainer: Basics - Leo's Field Have fun with ZFS: Introduction - Leo's Field Fix clipboard permission on Android 10 - Leo's Field MDR-7506 Detachable Cable Mod - Leo's Field Install Arch Linux, using a Sony Walkman - Leo's Field Coreboot, me_cleaner, Tianocore, ThinkPad X220 - Leo's Field Dark mode! - Leo's Field Links - Leo's Field Some notes about the creation of this blog - Leo's Field Hello, world! - Leo's Field About - Leo's Field
Update firmware of a Crucial SSD with systemd-boot - Leo'...
Leo Shen · 2019-11-08 · via Leo's Field

OK now we have the update ISO. Let's mount it and have a look. Still, if you don't know how to mount a ISO, here's how:

1
sudo mount -t iso9660 MX300_M0CR070_Firmware_Update.iso /mnt/iso

Since the firmware is released at 2018, I'm pretty confident that it should support UEFI. And no surprise, it does. We can see our old friend - EFI folder here.

1
2
3
4
5
6
7
$ cd /mnt/iso
$ ls -al
total 6
drwxr-xr-x 1 root root 2048 Nov 12  2018 .
drwxr-xr-x 4 root root   28 Oct 26 16:50 ..
dr-xr-xr-x 1 root root 2048 Nov 12  2018 boot
dr-xr-xr-x 1 root root 2048 Nov 12  2018 EFI

Okay let's dig deeper… Wait.

1
2
3
4
5
6
$ cat EFI/BOOT/grub/grub.cfg
GRUB_DEFAULT=0
GRUB_TIMEOUT=0
linux /boot/vmlinuz64 libata.allow_tpm=1 quiet base loglevel=3 cde waitusb=10 consoleblank=0 superuser mse-iso rssd-fw-update rssd-fwdir=/opt/firmware
initrd /boot/corepure64.gz
boot

It's just Linux! Booted by GRUB!

Well that's a surprise. From now on it's our routine Linux boot stuff. It seems that it is trying to boot the kernel vmlinuz64 and the payload corepure64.gz from /boot, so let's copy these stuff into our EFI partition.

1
cp -r /mnt/efi/boot /boot

Then, add a new entry to systemd-boot. Edit /boot/loader/entries/ssd_update.conf:

1
2
3
4
title Crucial MX300 Firmware Update
linux /Boot/vmlinuz64
initrd /Boot/corepure64.gz
options libata.allow_tpm=1 quiet base loglevel=3 cde waitusb=10 consoleblank=0 superuser mse-iso rssd-fw-update rssd-fwdir=/opt/firmware

That should be all we need.