lol
I used a 2 GB USB drive and it worked.
But you run out of space for "local storage" fast on a 2 gb drive, like if you wanted to download other things and save it to the drive, or keep saved packages for the future.
2 GB will work.
But anything 4+GB will be perfect.
There's an option somewhere in Ubuntu to have it delete all saved settings from the last session (no idea if that includes deleting saved packages) when booting from the flash drive.
The guide I wrote on page 200 still works perfectly. It's as 'step by step' as you can get without a video tutorial.
I'm going to copy everything I wrote. Just follow the instructions step by step.
-------
First grab a USB flash drive. 8 GB+ works best, though I did use an empty 2 GB one.
Get the ISO for Linux (Ubuntu)
http://releases.ubuntu.com/14.04/
I used the i386 one for my core i7.
Download the easy to use USB installer here:
"
http://www.pendrivelinux.com/universal- ... -as-1-2-3/"
Install it then boot to the flash drive and run the try Ubuntu mode.
When it finishes loading, open a terminal (Ctrl + Alt + T);
*EDIT*:
Literally EVERY command here is CASE SENSITIVE. Capitalizing something, even a link when it's not supposed to be capitalized, or not capitalizing something when it should be, can cause an error.
Example: writing Universe Multiverse in the below edit instead of universe multiverse will cause a download package failure!
type "sudo gedit /etc/apt/sources.list" without the quotes to bring up the editor.
At the end of the second line, add "universe multiverse" so the line looks exactly iike this:
"deb
http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse"
Save and exit the sources.list file.
Then type "sudo apt-get update"
That should download some updates.
Then type:
"sudo apt-get install i2c-tools subversion libpci-dev"
That should update and install some package lists.
You MIGHT also need this command too. This is in case some usb libraries are missing.
"sudo apt-get install libusb-dev"
If everything installs correctly, great.
But now things get tricky.
Using the instructions on this website, you need to find and backup the V4 firmware. The hard part is actually finding the i2c bus where it's located.
"
http://boeglin.org/blog/index.php?entry ... -free(dom)"
Type these commands: Remove any quotes I put, though, including the quotes in the wget command (trying to bypass link creation).
"svn co svn://flashrom.org/flashrom/trunk@1846 flashrom"
(this link may not work now, use the below)
#svn co svn://flashrom.org/flashrom/trunk@1846 flashrom
# updated to ->
"svn co
https://code.coreboot.org/svn/flashrom/trunk@1846 flashrom"
"cd flashrom"
wget -O- "
http://boeglin.org/static/benq/0001-Add ... ocol.patch | patch -p1" (<---the | is the shifted \ key, aka the "Pipe" symbol). On this website, that link shows up truncated with "...." unless you mouse over it. The full link without truncation is on the main site: "
http://boeglin.org/blog/index.php?entry ... -free(dom)"
*Remove the quote before http and after -p1 !! *
The actual command is:
wget -O-
http://boeglin.org/static/benq/0001-Add ... ocol.patch | patch -p1
(you can see what the link creation does to make it hard to see what to type. In future steps, you will require quotes (for the flash type chip later))
next is building the flashrom patcher with the stuff you downloaded last few steps
"make -j" (<-this should make the flashrom patcher with the data for the mstar scaler)
"sudo modprobe i2c-dev"
"sudo i2cdetect -l" <--this lists all i2c buses
"sudo i2cdetect 1" <---this lists al i2c buses on bus 1.
"sudo i2cdump -r 0-127 1 0x50" <--- get EDID (0x50) from bus 1. You are looking for an EDID dump that shows the monitor name in it. You may have to change the 1 to a 0 ( 0 0x50 insteada of 1 0x50), or you may have to change 0x50 to 0x49. Once you find the dump that says "XL2411Z" then you're good to go. In some cases your monitor may be on bus 0, thus the change from a 1 to a 0.
(edit):
If you are using a laptop through VGA, you SHOULD be able to find the monitor i2c identifier name easily. If you are using a desktop through DVI and flashing through the desktop and you can not find the monitor bus or get random data where the monitor 'should' be located (or in the rare case that the laptop can't see it through VGA, reboot the host computer back to windows and install the monitor driver from the DVD (device manager or displays in control panel); this has been confirmed to have helped people who kept getting "Unknown" data on the i2c bus. (0x50 buses 0-4 usually). Not sure why this works; maybe Linux has access to installed inf data.
"sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49" <----# identify flash chip, on bus 1 (/dev/i2c-1) at address 0x49. Change the 1 to a 0 if you are on bus 0.
(dump current firmware)
sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49 -c "MX25L1605A/MX25L1606E" -r backup.bin <--again change the 1 to a 0 if you are on bus 0. You need the quotes around the flash chip type.
This should take about 5 minutes to dump. Once that's done, copy backup.bin to a folder on the local hard drive (NOT the USB drive) so you can can upload it somewhere. The dumped file should be 2 mb in size. We can easily verify if you dumped the right thing by a hex editor.
(Funny enough I forgot the actual flash command for flashing the firmware itself; the above is for finding the Benq and backing up the current firmware).
Copy the EXTRACTED Version 4 firmware into the flashrom folder. If you renamed it in windows (I suggest this), copy the renamed file. I suggest renaming XL2411Z's V4 (if you downloaded whitestar's backup.bin dump) to XL2411Z_V4.BIN, XL2420Z to XL2420Z_V4.BIN and the XL2720Z file to XL2720Z_V4.BIN
DO NOT RENAME IT TO FIRMWARE.BIN !!!!!
# extend firmware to 2MB, to match the flash chip size
(this step is important; the flash chip is 2 MB, but the raw firmware is 800k'ish. In order to flash with this flashrom patcher (the MSTAR ISP unit does not have this limitation), the other 1.2 MB must be filled with "empty/dummy" bytes to make the file 2 MB in total size. This is a limitation of flashrom itself).
tr '\000' '\377' < /dev/zero | dd of=firmware.bin bs=1k count=2k <--yes you need the ' ' there.
dd if=XL2411Z_V2_20131209_8B72.BIN of=firmware.bin conv=notrunc (# < important !--REPLACE XL2411Z_V2_20131209_8B72.BIN with your firmware you are flashing!! Example: XL2411Z_V4.BIN or XL2420Z_V4.BIN or XL2720Z_V4.bin (as I suggested above).
(What this did was, it created a DUMMY empty 2 MB file called firmware.bin.
Then it MERGED the V2 (for this example only, in your case it will be the V4 file) with the 2 MB dummy file, a new 2 MB V4 file, that will be called firmware.bin
# write firmware
sudo ./flashrom -p mstarddc_spi:dev=/dev/i2c-1:49 -c "MX25L1605A/MX25L1606E" -w firmware.bin <-don't forget the quotes.
(this will take between 5-20 minutes).