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

推荐订阅源

博客园 - 叶小钗
D
Docker
GbyAI
GbyAI
Y
Y Combinator Blog
Google DeepMind News
Google DeepMind News
G
Google Developers Blog
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
小众软件
小众软件
Engineering at Meta
Engineering at Meta
酷 壳 – CoolShell
酷 壳 – CoolShell
I
InfoQ
B
Blog
H
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
A
About on SuperTechFans
B
Blog RSS Feed
Microsoft Security Blog
Microsoft Security 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.