Просматривая новости на linux.org.ru, обратил внимание на такую - http://www.linux.org.ru/view-message.jsp?msgid=3437489&lastmod=1233042479332.
Почитав сайт решился перепрошить биос на своей мат. плате. Результат оказался довольно плачевным. После перезагрузки компьютер отказался загружаться, проявляя признаки жизни лишь вращением вентиляторов и подмигиванием светодиодов дисков.
Работоспособность платы в общем, не вызывала сомнений.
Делать нечего надо восстанавливать систему, для чего следовало восстановить прошивку биос. Выходов было несколько:
1. Попытаться воспользоваться штатной системой восстановления биос от ASUS - фиаско, полное.
2. Взять программатор и залить прошивку - идея на 5 с плюсом, только программатора я не нашёл.
3. Покупка аналогичной материнской платы - найти оказалось невозможным, 939 сокет на котором она построена, слишком сильно устарел.
4. Хотсвап, перепрошивка биос путём передёргивания микросхем.
В начале пути, лично я, склонялся к третьему пункту. Из плюсов была лишь потенциальная возможность получить рабочую материнскую плату, да и то если бы я решился на хотсвап на новой. А так же доля риска значительно уменьшалась.
Кто не рискует, тот не зарабатывает опыт. Платы под 939 сокет я не нашёл, а компьютер в рабочем состоянии был нужен. Поскольку сведений, о чём бы то ни было в отношении восстановления биос, было маловато, начал с поиска информации по теме. Гугль (www.google.ru) оказался как всегда на высоте!
Нагрузившись информацией о программаторах, хочется отметить проекты www.willem.org и http://www.ezoflash.com/ezoflash_ru.htm, понял, что и этот вариант малопригоден. С паяльником у меня беда, да и покупка готового программатора, выльется в деньги и время.
Наиболее приемлемым остался лишь вариант с хотсвапом. И более всего меня склонила к нему эта статья - http://www.rom.by/Iskusstvo_pereshivki_BIOS.
Изыскав все возможности и подведя итог, имеем:
Материнская плата с убитым биос.
- Производитель и модель - ASUS A8N-E.
- микросхема биос - SST 49LF004B.
Рабочая материнская плата.
- Производитель и модель - ASUS P5LD2.
- микросхема биос - Winbond W39V040FAP.
На форуме сайта www.rom.by мной был задан вопрос о возможности использования P5LD2 для восстановления биос A8N-E. Быстро и доброжелательно пользователи этого форума ответили на мой вопрос. Было выяснено, что материнские платы используют микросхемы биос совместимые аппаратно, но не совместимые по протоколу общения с материнской платой. Так же микросхема биос от A8N-E (SST 49LF004B) является гибридной и может использоваться и прошиваться на обоих протоколах. Остались небольшие вопросы по поводу использования прошивальщика, но тем не менее я решил рискнуть.
Перепрошивку биос я производил из-под DOS, загрузочная дискета была создана средствами Windows XP. На неё были помещены: прошивальщики - awdflash (взят с официального сайта ASUS), afudos (взят с официального сайта ASUS), uniflash (брать здесь) и прошивка для A8N-E (версия 1013).
Процесс хотсвапа, касающийся его ниточной части описывать не буду. В Сети можно найти достаточно разжёванно.
После загрузки с дискеты на P5LD2 и передёргивания биос, первым был опробован awdflash. Запуск производился со следующими параметрами:
awdflash имя_прошивки /cd/cp/py/sn/f/r
Прошивальщик запустился, предложил подождать и всё. Признаков жизни не проявлял. После 10 минут ожидания компьютер был выключен. Проверка на A8N-E показала отрицательный результат.
Опять в ход пошла ниточная часть, затем был запущен afudos, с параметрами:
afudos /i<имя_прошивки> /n /pb
Параметр /n не помог, проверка IDROM выполнялась и процесс прошивки не начинался.
Ниточная часть не понадобилась, так как afudos самостоятельно корректно завершился.
Запуск uniflash. Программа показала себя с наилучшей стороны! Корректно определила производителя и тип микросхемы (SST 49LF004B), безропотно прошила её предложенным биосом и выполнила проверку.
Выйдя из uniflash, отключил компьютер и менее чем через час A8N-E заработала!
четверг, 29 января 2009 г.
пятница, 16 января 2009 г.
Создание arm-окружения в Debian GNU/Linux "lenny" с помощью qemu
Моя статья является переработанным материалом, который можно найти здесь:
http://www.opennet.ru/base/sys/linux_arm_qemu.txt.html
Спасибо автору и переводчику!
Устанавливаем необходимые пакеты:
host# aptitude install qemu debootstrap nfs-kernel-server
debootstrap -- позволяет создать базовую систему Debian, а также является простым способом создания chroot и виртуальных машин.
qemu -- эмулятор компьютера, позволяет эмулировать следующие архитектуры:
- PC (x86 or x86_64 processor)
- ISA PC (old style PC without PCI bus)
- PREP (PowerPC processor)
- G3 BW PowerMac (PowerPC processor)
- Mac99 PowerMac (PowerPC processor, in progress)
- Sun4m/Sun4c/Sun4d (32-bit Sparc processor)
- Sun4u (64-bit Sparc processor, in progress)
- Malta board (32-bit and 64-bit MIPS processors)
- ARM Integrator/CP (ARM)
- ARM Versatile baseboard (ARM)
- ARM RealView Emulation baseboard (ARM)
- Spitz, Akita, Borzoi and Terrier PDAs (PXA270 processor)
- Luminary Micro LM3S811EVB (ARM Cortex-M3)
- Luminary Micro LM3S6965EVB (ARM Cortex-M3)
- Freescale MCF5208EVB (ColdFire V2)
- Arnewsh MCF5206 evaluation board (ColdFire V2)
- Palm Tungsten|E PDA (OMAP310 processor)
nfs-kernel-server -- поддержка для сервера NFS на уровне ядра.
Создаем директорию где будет лежать наша система.
host# mkdir /home/user/arm-sys
Запускаем debootstrap, c ключом --foreign выполняется только первая часть установки.
host# debootstrap --foreign --arch arm lenny /home/user/arm-sys
host# cd /home/user/arm-sys
host# cp /etc/passwd etc/passwd
host# cp /etc/shadow etc/shadow
host# cp /etc/group etc/group
host# echo "proc /proc proc defaults 0 0" > etc/fstab
host# echo "192.168.10.1:/home/user/arm-sys / nfs defaults 0 1" >> etc/fstab
Расшариваем папку через NFS и добавляем соответствующую запись /etc/exports:
/home/user/arm-sys 192.168.10.5(rw,no_root_squash,no_subtree_check,sync)
Экспортируем файловую систему:
host# exportfs -a
Скачиваем http://bellard.org/qemu/arm-test-0.2.tar.gz, в архиве находится ядро и образ initrd рабочей arm-системы.
Распаковываем в /home/user/arm-test.
Создаём сценарий такого вида:
#!/bin/sh
console="ttyAMA0" # serial console
nfsserver="192.168.10.1" # address of NFS server
nfsdir="/home/user/arm-sys" # exported share where debian/arm is installed
address="192.168.10.5" # address for guest server
gateway="192.168.10.1" # default gateway
netmask="255.255.255.0" # subnet mask
hostname="arm.home" # hostname for guest server
device="eth0" # interface that guest server will use
mem=256 # memory for guest server in Mb
ipinternet="192.168.1.64" #Адрес интерфейса, через который доступен интернет на машине-хосте
kernel="/home/user/arm-test/zImage.integrator" # arm kernel
initrd="/home/user/arm-test/arm_root.img" # arm initrd
nfsopts="rsize=1024,wsize=1024,hard,intr,tcp,nolock" # nfs options
consoleopt="console=$console"
nfsrootopt="nfsroot=$nfsserver:$nfsdir,$nfsopts"
ipopt="ip=$address::$gateway:$netmask:$hostname:$device"
echo 1 > /proc/sys/net/ipv4/ip_forward & #Включение перенаправления пакетов
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o $device -j SNAT --to-source 192.168.1.64 & #Включение NAT и будет интернет
qemu-system-arm -net nic -net tap,ifname=tap0 -m $mem \
-kernel $kernel -initrd $initrd \
-append "$consoleopt root=/dev/nfs $nfsrootopt $ipopt $initsin"
Необходимо поправить в файле /etc/qemu-ifup - ip адрес хоста.
sudo -p "Password for $0:" /sbin/ifconfig $1 172.20.0.1
на
sudo -p "Password for $0:" /sbin/ifconfig $1 192.168.10.1
Теперь запускаем систему arm:
host# ./start-qemu-arm
Гостевая машина загрузится и запустит оболочку bash.
Уже в виртуальной машине делаешь следущее:
Логинишься под root'ом без пароля.
Перенастраиваешь сетевой интерфейс, монтируешь корень будущей системы, делаешь её корневой для текущей системы, монтируешь /proc.
guest# ifconfig eth0 192.168.10.5
guest# mkdir /mnt
guest# mount -t nfs -o rsize=1024,wsize=1024,nolock 192.168.10.1:/home/user/arm-sys /mnt
guest# cd /mnt
guest# chroot .
guest# mount /proc
Теперь запускаем второй этап debootstrap и завершаем установку:
guest# cd /
guest# ./debootstrap/debootstrap --second-stage
Этот процесс потребует времени, так как эмулятор не особенно быстр. После завершения установки отредактируйте такие файлы, как
/etc/hostname и /etc/resolv.conf.
В сценарии, который был сделан ранее, замени строку:
-kernel $kernel -initrd=$initrd \
на
-kernel $kernel \
Делаем образцово-показательный запуск гостевой машины:
host# ./start-qemu-arm
Сделано не очень красиво, но работать должно. Потом переработаю получше.
http://www.opennet.ru/base/sys/linux_arm_qemu.txt.html
Спасибо автору и переводчику!
Устанавливаем необходимые пакеты:
host# aptitude install qemu debootstrap nfs-kernel-server
debootstrap -- позволяет создать базовую систему Debian, а также является простым способом создания chroot и виртуальных машин.
qemu -- эмулятор компьютера, позволяет эмулировать следующие архитектуры:
- PC (x86 or x86_64 processor)
- ISA PC (old style PC without PCI bus)
- PREP (PowerPC processor)
- G3 BW PowerMac (PowerPC processor)
- Mac99 PowerMac (PowerPC processor, in progress)
- Sun4m/Sun4c/Sun4d (32-bit Sparc processor)
- Sun4u (64-bit Sparc processor, in progress)
- Malta board (32-bit and 64-bit MIPS processors)
- ARM Integrator/CP (ARM)
- ARM Versatile baseboard (ARM)
- ARM RealView Emulation baseboard (ARM)
- Spitz, Akita, Borzoi and Terrier PDAs (PXA270 processor)
- Luminary Micro LM3S811EVB (ARM Cortex-M3)
- Luminary Micro LM3S6965EVB (ARM Cortex-M3)
- Freescale MCF5208EVB (ColdFire V2)
- Arnewsh MCF5206 evaluation board (ColdFire V2)
- Palm Tungsten|E PDA (OMAP310 processor)
nfs-kernel-server -- поддержка для сервера NFS на уровне ядра.
Создаем директорию где будет лежать наша система.
host# mkdir /home/user/arm-sys
Запускаем debootstrap, c ключом --foreign выполняется только первая часть установки.
host# debootstrap --foreign --arch arm lenny /home/user/arm-sys
host# cd /home/user/arm-sys
host# cp /etc/passwd etc/passwd
host# cp /etc/shadow etc/shadow
host# cp /etc/group etc/group
host# echo "proc /proc proc defaults 0 0" > etc/fstab
host# echo "192.168.10.1:/home/user/arm-sys / nfs defaults 0 1" >> etc/fstab
Расшариваем папку через NFS и добавляем соответствующую запись /etc/exports:
/home/user/arm-sys 192.168.10.5(rw,no_root_squash,no_subtree_check,sync)
Экспортируем файловую систему:
host# exportfs -a
Скачиваем http://bellard.org/qemu/arm-test-0.2.tar.gz, в архиве находится ядро и образ initrd рабочей arm-системы.
Распаковываем в /home/user/arm-test.
Создаём сценарий такого вида:
#!/bin/sh
console="ttyAMA0" # serial console
nfsserver="192.168.10.1" # address of NFS server
nfsdir="/home/user/arm-sys" # exported share where debian/arm is installed
address="192.168.10.5" # address for guest server
gateway="192.168.10.1" # default gateway
netmask="255.255.255.0" # subnet mask
hostname="arm.home" # hostname for guest server
device="eth0" # interface that guest server will use
mem=256 # memory for guest server in Mb
ipinternet="192.168.1.64" #Адрес интерфейса, через который доступен интернет на машине-хосте
kernel="/home/user/arm-test/zImage.integrator" # arm kernel
initrd="/home/user/arm-test/arm_root.img" # arm initrd
nfsopts="rsize=1024,wsize=1024,hard,intr,tcp,nolock" # nfs options
consoleopt="console=$console"
nfsrootopt="nfsroot=$nfsserver:$nfsdir,$nfsopts"
ipopt="ip=$address::$gateway:$netmask:$hostname:$device"
echo 1 > /proc/sys/net/ipv4/ip_forward & #Включение перенаправления пакетов
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o $device -j SNAT --to-source 192.168.1.64 & #Включение NAT и будет интернет
qemu-system-arm -net nic -net tap,ifname=tap0 -m $mem \
-kernel $kernel -initrd $initrd \
-append "$consoleopt root=/dev/nfs $nfsrootopt $ipopt $initsin"
Необходимо поправить в файле /etc/qemu-ifup - ip адрес хоста.
sudo -p "Password for $0:" /sbin/ifconfig $1 172.20.0.1
на
sudo -p "Password for $0:" /sbin/ifconfig $1 192.168.10.1
Теперь запускаем систему arm:
host# ./start-qemu-arm
Гостевая машина загрузится и запустит оболочку bash.
Уже в виртуальной машине делаешь следущее:
Логинишься под root'ом без пароля.
Перенастраиваешь сетевой интерфейс, монтируешь корень будущей системы, делаешь её корневой для текущей системы, монтируешь /proc.
guest# ifconfig eth0 192.168.10.5
guest# mkdir /mnt
guest# mount -t nfs -o rsize=1024,wsize=1024,nolock 192.168.10.1:/home/user/arm-sys /mnt
guest# cd /mnt
guest# chroot .
guest# mount /proc
Теперь запускаем второй этап debootstrap и завершаем установку:
guest# cd /
guest# ./debootstrap/debootstrap --second-stage
Этот процесс потребует времени, так как эмулятор не особенно быстр. После завершения установки отредактируйте такие файлы, как
/etc/hostname и /etc/resolv.conf.
В сценарии, который был сделан ранее, замени строку:
-kernel $kernel -initrd=$initrd \
на
-kernel $kernel \
Делаем образцово-показательный запуск гостевой машины:
host# ./start-qemu-arm
Сделано не очень красиво, но работать должно. Потом переработаю получше.
Подписаться на:
Сообщения (Atom)