bootloader

Interrupt 0x15 function 0x86 (BIOS WAIT) runs far slower on real hardware than on virtual machines?

為{幸葍}努か 提交于 2019-12-23 22:52:46
问题 I've been writing a bootloader in assembly (a game). The bootloader uses the bios WAIT function (int 0x15, ah 0x86) for delays between frames. I'm debugging with BOCHS and everything works just splendid (timing is perfect). I also made a bootable iso with the isogenimage tool and tested my bootloader in virtualbox and everything works as expected there too. So I think it's safe to say that delays work in virtual environments. Now here's the peculiar part: when I write the bootloader to a usb

How does a loader in operating system work? [closed]

微笑、不失礼 提交于 2019-12-23 17:45:03
问题 Closed . This question needs to be more focused. It is not currently accepting answers. Want to improve this question? Update the question so it focuses on one problem only by editing this post. Closed 4 years ago . I know that a loader is a program which loads a program to the Main Memory. So,how does this actually works? What happens exactly? Actually when a loader loads a program, an entry in PCB is created and the program is put in a job pool. How the executable codes of a program are

gdb ignores breakpoint in Qemu bootloader

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-23 16:16:50
问题 I am trying to step through the simple bootloader shown in this tutorial: http://mikeos.berlios.de/write-your-own-os.html - so I can use the Qemu monitor to inspect the general registers for educational purposes. Eventhough I am able to connect Qemu and gdb and the breakpoint is set at the beginning of the bootloader (0x7c0), after hitting "c" on gdb the code just runs all the way till the end. I have read kvm may "confuse" gbd with virtual memory addresses, so I disabled it. This didn't work

Java Webstart Reporting Wrong Bootloader options

て烟熏妆下的殇ゞ 提交于 2019-12-23 15:17:13
问题 I have problem running a Java RCP application via Java Webstart. This works for others in the team, but not for me. (don't you just love those sort of problems) I believe the problem is that it is downloading the 32 bit version of the application, not the 64 bit. When I look at the webstart .log file on my machine I can see the following. !SESSION 2012-07-06 16:24:37.672 ----------------------------------------------- eclipse.buildId=unknown java.version=1.6.0_32 java.vendor=Sun Microsystems

A boot loader in C++

我的未来我决定 提交于 2019-12-23 08:58:14
问题 I have messed around a few times by making a small assembly boot loader on a floppy disk and was wondering if it's possible to make a boot loader in c++ and if so where might I begin? For all I know im not sure it would even use int main() . Thanks for any help. 回答1: If you're writing a boot loader, you're essentially starting from nothing: a small chunk of code is loaded into memory, and executed. You can write the majority of your boot loader in C++, but you will need to bootstrap your own

No bootloader found on bootable medium

被刻印的时光 ゝ 提交于 2019-12-23 02:45:36
问题 I'm currently playing with mkisofs, dd and assembly. I've created simple bootloader: BITS 16 ;------------------- ;SIMPLE BOOTLOADER ;------------------- start: mov ax, 0x07C0 mov ds, ax mov si, welcmsg call printstr mov ah, 0Eh mov al, 65 int 10h cli; hlt; printstr: pusha mov ah, 0Eh .loop: mov al, byte [ds:si] cmp al, 0 jz .end int 10h inc si jmp .loop .end: popa ret ;------------------- ;DATA ;------------------- welcmsg: db "Welcome!", 0x0D, 0x0A, 0 ;------------------- ;FILL ;-----------

Understanding of boot loader assembly code and memory locations

谁说我不能喝 提交于 2019-12-22 12:30:11
问题 I want to check my understanding of the following bootloader code: BITS 16 start: mov ax, 07C0h ; Set up 4K stack space after this bootloader add ax, 288 ; (4096 + 512) / 16 bytes per paragraph mov ss, ax mov sp, 4096 mov ax, 07C0h ; Set data segment to where we're loaded mov ds, ax mov si, text_string ; Put string position into SI call print_string ; Call our string-printing routine jmp $ ; Jump here - infinite loop! text_string db 'This is my cool new OS!', 0 print_string: ; Routine: output

Bootloader on STM32F303: built in from factory or externally programmed?

孤街浪徒 提交于 2019-12-22 10:54:50
问题 I have some background on ATMEL and ATMEL bootloaders and we are moving to ARM for a new project. In particular we will be using the STM32F303RET6. This essentially is a a Cortex M4 with a higher number of Analog input pins. I have been going through the documentation regarding the bootloader and I am extremely confused: On page 19 of the Getting Started Document it says the following: "The embedded boot loader is located in the System memory, programmed by ST during production " Furthermore

Android获取ROOT权限的通用方法

隐身守侯 提交于 2019-12-21 11:11:46
背景 自从Android问世以后,给手机获取ROOT权限变成了玩机爱好者老生常谈的话题。拥有手机,却不能拥有操作手机的最高权限,这对于手机爱好者而言,这怎么可以忍?所以无论Android升到什么什么版本,总要有人想要给手机获取ROOT权限。但是,获取ROOT权限的过程终究还是麻烦的,纵然你豪情万丈,对于某些手机你还是拿它没办法。针对ROOT难,修改系统难,@topjohnwu大佬做出了一个伟大的东西:Magisk。它解决了ROOT难,修改系统难的问题。本文使用Magisk,来说一下获取ROOT权限的通用方法。 准备 (1) 下载MagiskManager安装到手机 https://github.com/topjohnwu/Magisk/releases (2) 用电脑下载自己手机的刷机包,必须是手机当前使用的刷机包。下载好以后,把boot.img解压出来备用 (3) 下载adb和fastboot,解压出来,放在电脑的指定目录,并放入环境变量 https://www.lanzous.com/i7iuidg (4) 解锁(bootloader锁)手机,在开发者选项里勾选USB调试 操作流程 在电脑资源管理器找到你boot.img存放目录,在资源管理器地址栏输入cmd并回车 在弹出的cmd窗口中输入以下命令并回车: adb push boot.img /sdcard boot

how to build grub2 bootloader from it's source and test it with qemu emulator

你。 提交于 2019-12-21 05:46:11
问题 I want to know how to build grub 2 bootloader from it's source in ubuntu and test it with qemu emulator. I would also like to change the default background image of grub2 bootloader in the new build? Is this possible? If yes, how ? 回答1: Of course you can. As shown on the GRUB website, the grub source code is available via git from git.savannah.gnu.org. Then it is theoretically just a question of $ ./autogen.sh $ ./configure $ make $ sudo make install However, depending on your platform, grub