bootloader

oppo r9s 解bl锁,刷入第三方recovery

最后都变了- 提交于 2020-02-05 12:27:09
前言: 在对目前安卓手机刷入第三方REC时,需要简单介绍一下bootloader,recovery,fastboot,rom的概念。其中刷机有卡刷,线刷,9008深度刷机,卡刷指将rom复制到手机SD中进行刷入,线刷则是用手机连接电脑,在fastboot模式下刷入rom。以下是线刷第三方rec,然后再用第三方的rec工具卡刷rom,root,xposed,面具等。 流程: 1. 手机解除bootloader锁。 2. 开启fastboot模式刷入第三方recovery。 3. 进入rec卡刷rom入手机,也可刷root包(zip后缀),xposed(zip后缀),面具包(zip后缀)等。 4. 重启手机,等待进入手机并进行初始的设置。 bootloader: 这是手机开机调用操作系统前需要运行的一个小程序。和电脑的BOIS类似,设备开机加电后第一先启动的就是这个,对设备硬件进行初始化,自检等操作后再调用系统内核。然而目前国内的手机商为了让用户使用自家开发的深度定制的安卓系统,比如小米的MIUI,华为的EMUI,vivo的FUNTOUCH OS,oppo的COLOR OS等,搞机的同学称他们为ROM。而手机厂商为了防止用户给自己手机刷入其他的rom,所以对bootloader加了锁。 fastboot: 这是安卓系统中的一个刷机模式,比下面介绍的recovery模式更底层,俗称

开发板刷系统

给你一囗甜甜゛ 提交于 2020-01-26 14:08:12
自从学习Linux,这是我第二次拿出开发板了,果然嵌入式Linux的学习相比但单片机的学习更漫长且复杂,我也不知道自己最终会如何,刚好今天是大年初一,写笔记前顺便写个随笔小愿望: 2020,武汉加油!中国加油!愿人们早日战胜病魔,迎来美好的春天, 也祝父母:身体健康,开心快乐每一天 baby:2020也是爱你的一年,祝这个开心果越来越美腻,感谢我能遇到对的人。 自己:Linux小白成长之路一切顺利! 下面开始切入正题了 依旧参考朱老师的PPT和笔记 一、什么是刷系统 刷系统就是利用刷机工具,向开发板中烧录预先编译好的系统镜像,使之在开发板上运行起来。 二、串口输出的意义(做系统控制台) 串口是一种硬件通信口,很多年前的时候串口是CPU之间进行通信的主要接口。但是现在因为串口通信的速度很低,所以现在串口主要是用来做程序输出监控、调试。 桌面电脑可以打开一个虚拟控制台,嵌入式系统一般是用串口来做控制台的。一般是用一根串口线连接开发板的串口和我们笔记本电脑的串口,然后在电脑上打开一个串口监视,这样开发板上的串口输出内容就可以在电脑上看到。还可以通过监视终端向开发板输入一些控制命令由开发板执行。常用的串口监视软件有:超级终端、SecureCRT、minicom 三、安装USB转串口线的驱动 本来电脑都是有串口的(DM9接口),但是现在大家都用笔记本没有串口了,所以这种串口连接线用不了

“times 510-($-$$) db 0” does not work

天涯浪子 提交于 2020-01-13 20:32:12
问题 I am learning about boot sectors. I downloaded nasm-installer-x64.exe from the NASM website. My operating system is win7-64bit. When I run the following code it does not work correctly mov ah, 0x0e; mov al, the_secret; int 0x10; mov al, [the_secret]; int 0x10; mov bx, [the_secret]; add bx, 0x7c00; mov al, [bx]; int 0x10; mov al, [0x7c1e]; int 0x10; jmp $; the_secret:; db 'X'; times 510-($-$$) db 0; dw 0xaa55; 回答1: I don't believe there is anything wrong with times 510-($-$$) db 0 . It seems

“times 510-($-$$) db 0” does not work

和自甴很熟 提交于 2020-01-13 20:27:39
问题 I am learning about boot sectors. I downloaded nasm-installer-x64.exe from the NASM website. My operating system is win7-64bit. When I run the following code it does not work correctly mov ah, 0x0e; mov al, the_secret; int 0x10; mov al, [the_secret]; int 0x10; mov bx, [the_secret]; add bx, 0x7c00; mov al, [bx]; int 0x10; mov al, [0x7c1e]; int 0x10; jmp $; the_secret:; db 'X'; times 510-($-$$) db 0; dw 0xaa55; 回答1: I don't believe there is anything wrong with times 510-($-$$) db 0 . It seems

Hello World bootloader not working

China☆狼群 提交于 2020-01-12 05:35:48
问题 I've been working through the tutorials on this webpage which progressively creates a bootloader that displays Hello World. The 2nd tutorial (where we attempt to get an "A" to be output) works perfectly, and yet the 1st tutorial doesn't work for me at all! (The BIOS completely ignores the floppy disk and boots straight into Windows). This is less of an issue, although any explanations would be appreciated. The real problem is that I can't get the 3rd tutorial to work. Instead on outputting

How a bootloader can read a DVD(cd)?

邮差的信 提交于 2020-01-11 10:34:12
问题 I have a first stage bootloader written in assembly. I need that it loads the second stage bootloader from dvd(or cd). I only found examples where it reads from floopy or hdd. The interrupt used there is 13h. In the interrupt description it says that it can read floppies and hdd's. i've tried to use 13h to read a CD as if it was a floppy but it did not work. Question: is there a difference between floppies and dvd's (in the sense of accessing them), can i use CHS(cilinder, head, sector), what

When I modify code the disk image becomes unbootable

浪尽此生 提交于 2020-01-07 09:16:11
问题 I'm developing an operating system in assembly language. When making changses o the code the output file isn't seen as bootable. This is my 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 call cls MOV AH, 06h ; Scroll up function XOR AL, AL ; Clear entire screen XOR CX, CX ; Upper left corner CH=row, CL=column MOV DX,

When I modify code the disk image becomes unbootable

为君一笑 提交于 2020-01-07 09:14:32
问题 I'm developing an operating system in assembly language. When making changses o the code the output file isn't seen as bootable. This is my 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 call cls MOV AH, 06h ; Scroll up function XOR AL, AL ; Clear entire screen XOR CX, CX ; Upper left corner CH=row, CL=column MOV DX,

gcc gnu assembly kernel in real mode

我怕爱的太早我们不能终老 提交于 2020-01-07 06:47:20
问题 i am trying to build a 16bit kernel in gcc gnu assembly while my bootloader is written in pure assembly but i have trouble printing out strings while single character are okay: Here is my bootloader.asm: org 0x7c00 bits 16 section .text mov ax,0x1000 mov ss,ax mov sp,0x000 mov esp,0xfffe xor ax,ax mov es,ax mov ds,ax mov [bootdrive],dl mov bh,0 mov bp,zeichen mov ah,13h mov bl,06h mov al,1 mov cx,6 mov dh,010h mov dl,01h int 10h load: mov dl,[bootdrive] xor ah,ah int 13h jc load load2: mov ax

Floppy disk sector count

☆樱花仙子☆ 提交于 2020-01-05 08:21:48
问题 I am trying to understand why lseek() is used in this image creator. Why 5 bytes away from start of file? If I changed that number, the OS won't boot. The image creator creates a .img file with the bootloader.bin inside. /* modify the sector count */ total_sector_number = file_size / 512 lseek(disk_image_fd, 5, SEEK_SET); write(disk_image_fd, &total_sector_number, 2); write(disk_image_fd, &kernel_32_sector_number, 2); //printf("%d\n", lawl); printf("TOTAL_SECTOR_NUMBER : %d\n", total_sector